Node.js SDK
The official @ynopay/node SDK provides Stripe-style ergonomics for the YnoPay API.
Installation
npm install @ynopay/nodeUsage
import { YnoPay } from '@ynopay/node';
const ynopay = new YnoPay('sk_test_...');
// Products
const product = await ynopay.products.create({ name: 'T-shirt' });
const products = await ynopay.products.list();
// Prices
const price = await ynopay.prices.create({
productId: product.id,
currency: 'XOF',
unitAmount: 5000,
});
// Payment Intents
const pi = await ynopay.paymentIntents.create({
amount: 10000,
currency: 'XOF',
rail: 'orange_money',
});
// Checkout Sessions
const session = await ynopay.checkoutSessions.create({
paymentIntentId: pi.id,
});
// Webhooks
const we = await ynopay.webhookEndpoints.create({
url: 'https://example.com/webhooks',
enabledEvents: ['payment_intent.succeeded'],
});
// Collector Devices
const device = await ynopay.collectorDevices.create({
label: 'Shop Phone',
});Configuration
const ynopay = new YnoPay({
apiKey: 'sk_test_...',
baseUrl: 'https://api.ynopay.com', // default
timeout: 30000, // ms, default
});Error handling
import { YnoPayError } from '@ynopay/node';
try {
await ynopay.products.get('prod_nonexistent');
} catch (err) {
if (err instanceof YnoPayError) {
console.log(err.statusCode); // 404
console.log(err.type); // 'not_found_error'
}
}