Checkout API
Create checkout sessions and manage on-ramp flows.
Geo & Data
detectGeo
const geo = await zenpays.checkout.detectGeo()
// { country: 'US', currency: 'USD', isAutoDetected: true }
getBanks
const { banks } = await zenpays.checkout.getBanks('INR')
getCurrencies
const { currencies } = await zenpays.checkout.getCurrencies()
Checkout Sessions
createSession
const session = await zenpays.checkout.createSession({
playerId: 'player_123',
amount: 100,
targetSettlementAsset: 'USDT',
successUrl: 'https://example.com/success',
cancelUrl: 'https://example.com/cancel',
})
// Redirect to session.paymentPageUrl
getSession
const session = await zenpays.checkout.getSession('cs_xxx')
cancelSession
await zenpays.checkout.cancelSession('cs_xxx')
On-Ramp
selectProvider
const provider = await zenpays.checkout.selectProvider({
sessionId: 'cs_xxx',
playerGeo: 'US',
currency: 'USD',
amount: 100,
paymentMethod: 'card',
targetSettlementAsset: 'USDT',
})
// provider.widgetUrl - Redirect or embed
// provider.embedMode - 'iframe' or 'redirect'
getProviderWidget
const widget = await zenpays.checkout.getProviderWidget('transak', 'cs_xxx')
Ramp Orders
getRampOrder
const order = await zenpays.checkout.getRampOrder('ro_xxx')
getRampOrderStatus
const status = await zenpays.checkout.getRampOrderStatus('ro_xxx')