Skip to content

Payments API ​

The Payments API manages payment methods and credit purchases, backed by Stripe. Use it to add or remove cards, set a default payment method, create a payment intent for a credit purchase, and list past purchases.

Purchased credits land on your credit balance.

Payment methods ​

ts
import { 
function createNosanaClient(network: NosanaNetwork | undefined, customConfig: PartialClientConfig & {
    connect: ConnectFactoryConfig & {
        clientSecret: string;
    };
}): NosanaClient & {
    connect: ServerConnect;
} (+3 overloads)
createNosanaClient
,
type NosanaNetwork = "mainnet" | "devnet" | "localnet"
const NosanaNetwork: {
    readonly MAINNET: "mainnet";
    readonly DEVNET: "devnet";
    readonly LOCALNET: "localnet";
}
NosanaNetwork
} from '@nosana/kit';
const const client: NosanaClientclient = function createNosanaClient(network?: NosanaNetwork, customConfig?: PartialClientConfig): NosanaClient (+3 overloads)createNosanaClient(
const NosanaNetwork: {
    readonly MAINNET: "mainnet";
    readonly DEVNET: "devnet";
    readonly LOCALNET: "localnet";
}
NosanaNetwork
.type MAINNET: "mainnet"MAINNET, {
PartialClientConfig.api?: Partial<APIConfig> | undefinedapi: { apiKey?: string | undefinedapiKey:
const process: {
    env: Record<string, string>;
}
process
.env: Record<string, string>env.stringNOSANA_API_KEY },
}); // Attach a payment method (id from Stripe.js) via a Stripe SetupIntent const const setupIntent: Record<string, unknown>setupIntent = await const client: NosanaClientclient.NosanaClient.api: NosanaApiClientapi.payments: NosanaPaymentsApipayments.NosanaPaymentsApi.addMethod: (request: SetupIntentRequest) => Promise<Record<string, unknown>>addMethod({ paymentMethodId: stringpaymentMethodId: 'pm_xxx', }); // List saved payment methods const const methods: Record<string, unknown>methods = await const client: NosanaClientclient.NosanaClient.api: NosanaApiClientapi.payments: NosanaPaymentsApipayments.NosanaPaymentsApi.listMethods: () => Promise<Record<string, unknown>>listMethods(); // Set the default, or delete one await const client: NosanaClientclient.NosanaClient.api: NosanaApiClientapi.payments: NosanaPaymentsApipayments.NosanaPaymentsApi.setDefaultMethod: (id: string) => Promise<Record<string, unknown>>setDefaultMethod('payment-method-id'); await const client: NosanaClientclient.NosanaClient.api: NosanaApiClientapi.payments: NosanaPaymentsApipayments.NosanaPaymentsApi.deleteMethod: (id: string) => Promise<Record<string, unknown>>deleteMethod('payment-method-id');

Purchasing credits ​

ts
// Create a PaymentIntent for a credit purchase
const const intent: Record<string, unknown>intent = await const client: NosanaClientclient.NosanaClient.api: NosanaApiClientapi.payments: NosanaPaymentsApipayments.NosanaPaymentsApi.createPaymentIntent: (request: PaymentIntentRequest) => Promise<Record<string, unknown>>createPaymentIntent({
  amountUsd: numberamountUsd: 50,
});

// List past credit purchases
const const purchases: Record<string, unknown>purchases = await const client: NosanaClientclient.NosanaClient.api: NosanaApiClientapi.payments: NosanaPaymentsApipayments.NosanaPaymentsApi.listPurchases: () => Promise<Record<string, unknown>>listPurchases();

Methods ​

MethodHTTPPathDescription
payments.listMethods()GET/payments/methodsList payment methods
payments.addMethod(request)POST/payments/setup-intentAdd a payment method (SetupIntent)
payments.setDefaultMethod(id)PUT/payments/methods/{id}/defaultSet the default payment method
payments.deleteMethod(id)DELETE/payments/methods/{id}Delete a payment method
payments.createPaymentIntent(request)POST/payments/payment-intentCreate a PaymentIntent
payments.listPurchases()GET/payments/purchasesList credit purchases