// checkout.provider_metadata requires amount and currency
await paykit.checkouts.create({
customer: { email: 'user@example.com' },
item_id: 'my-product',
session_type: 'one_time',
quantity: 1,
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel',
provider_metadata: {
amount: 5000, // in the standard currency unit (e.g. Naira)
currency: 'NGN',
},
});
// payment.provider_metadata requires success_url — Monnify still redirects
// the customer even for a "direct" payment
await paykit.payments.create({
customer: { email: 'user@example.com' },
item_id: 'my-product',
amount: 5000,
currency: 'NGN',
provider_metadata: {
success_url: 'https://example.com/success', // required
},
});
// refund.provider_metadata — any extra fields are forwarded to Monnify's refund endpoint
await paykit.refunds.create({
payment_id: 'MNFY|...',
amount: 1000,
reason: 'Customer request',
});