Create Pay-in (Europe Open Banking)
POST
/v1/eur/payin-instancespayin:createCreate a EUR/GBP Open Banking pay-in. You may send an optional Idempotency-Key
header to safely retry the same request.
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
amount | string (numeric) | Yes | Pay-in amount |
currencySymbol | string | Yes | EUR or GBP |
returnUrl | string (HTTPS URL) | Yes | Where the customer returns after the hosted bank widget |
merchantUrl | string (HTTPS URL) | Yes* | Your site URL (or pass full merchantDetails) |
userDetails | object | Yes | End customer details |
userDetails.email | string | Yes | Customer email |
merchantDetails | object | No | Alternative to merchantUrl: full merchant info |
merchantDetails.merchantName | string | No | Display name |
merchantDetails.merchantUrl | string (HTTPS) | No | Site URL |
merchantDetails.merchantInternalId | string | No | Your internal reference |
Provide either merchantUrl or the full merchantDetails object.
Example
Request
{
"amount": "100",
"currencySymbol": "EUR",
"returnUrl": "https://merchant.com/payment/return",
"merchantUrl": "https://merchant.com",
"userDetails": {
"email": "payer@example.com"
}
}Response fields
| Field | Type | Description |
|---|---|---|
transactionId | string | Poll + ledger transaction id |
checkoutUrl | string | Redirect the end user here to complete payment |
instanceId | string | Support / reference id |
settlementCurrency | string | Always USDC (for display) |
cryptoAmount | string | Optional quote amount in USDC |
rate | string | Optional conversion rate for display |
Your only pay-in UI job is to redirect the customer to checkoutUrl. After they
complete the widget, track the result via
Pay-in Status & Events or webhooks.
Last updated on