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
| Method | HTTP | Path | Description |
|---|---|---|---|
payments.listMethods() | GET | /payments/methods | List payment methods |
payments.addMethod(request) | POST | /payments/setup-intent | Add a payment method (SetupIntent) |
payments.setDefaultMethod(id) | PUT | /payments/methods/{id}/default | Set the default payment method |
payments.deleteMethod(id) | DELETE | /payments/methods/{id} | Delete a payment method |
payments.createPaymentIntent(request) | POST | /payments/payment-intent | Create a PaymentIntent |
payments.listPurchases() | GET | /payments/purchases | List credit purchases |