Skip to main content

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')