Skip to main content

Payment

This event is emitted when a one-time payment is completed successfully. Note that the radomData object changes according to the type of checkout.

Payload schema

Webhook payload

Use this schema when validating, storing, or transforming the incoming managedPayment webhook payload.

idstring<uuid>required

Unique identifier for this webhook delivery.

webhookIdstring<uuid>required

Identifier of the webhook configuration that produced this delivery.

eventTypestringrequired

Discriminator for the event. Always the value shown here for this event.

AllowedmanagedPayment
eventDataobjectrequired

Event-specific payload. The key matches eventType.

managedPaymentManagedPaymentrequired
paymentMethodManagedPaymentMethodrequired
networkNetworkrequired
AllowedBitcoinBitcoinTestnetLitecoinLitecoinTestnetDogecoinDogecoinTestnetBitcoinCashBitcoinCashTestnetBitcoinSVBitcoinSVTestnetHarryPotterObamaSonic10InuHarryPotterObamaSonic10InuTestnetCardanoDashSolanaSolanaTestnetSolanaDevnetEthereumSepoliaTestnetPolygonPolygonTestnetBNBBNBTestnetArbitrumArbitrumTestnetZcashZcashTestnetPolkadotPolkadotTestnetPolkadotAssetHubPolkadotAssetHubTestnetTronTronTestnetAvalancheAvalancheTestnetBaseBaseTestnetOptimismOptimismTestnetFiat
tokenstringnullable
discountPercentOffnumber<float>nullable>= 0
amountnumber<float>required>= 0
alternativeMethodPaymentsAlternativeMethodPayment[]nullable
paymentMethodManagedPaymentMethodrequired
networkNetworkrequired
AllowedBitcoinBitcoinTestnetLitecoinLitecoinTestnetDogecoinDogecoinTestnetBitcoinCashBitcoinCashTestnetBitcoinSVBitcoinSVTestnetHarryPotterObamaSonic10InuHarryPotterObamaSonic10InuTestnetCardanoDashSolanaSolanaTestnetSolanaDevnetEthereumSepoliaTestnetPolygonPolygonTestnetBNBBNBTestnetArbitrumArbitrumTestnetZcashZcashTestnetPolkadotPolkadotTestnetPolkadotAssetHubPolkadotAssetHubTestnetTronTronTestnetAvalancheAvalancheTestnetBaseBaseTestnetOptimismOptimismTestnetFiat
tokenstringnullable
discountPercentOffnumber<float>nullable>= 0
amountnumber<float>required>= 0
transactionsManagedEventTransaction[]nullable
networkNetworkrequired
AllowedBitcoinBitcoinTestnetLitecoinLitecoinTestnetDogecoinDogecoinTestnetBitcoinCashBitcoinCashTestnetBitcoinSVBitcoinSVTestnetHarryPotterObamaSonic10InuHarryPotterObamaSonic10InuTestnetCardanoDashSolanaSolanaTestnetSolanaDevnetEthereumSepoliaTestnetPolygonPolygonTestnetBNBBNBTestnetArbitrumArbitrumTestnetZcashZcashTestnetPolkadotPolkadotTestnetPolkadotAssetHubPolkadotAssetHubTestnetTronTronTestnetAvalancheAvalancheTestnetBaseBaseTestnetOptimismOptimismTestnetFiat
transactionHashstringrequired
tokenstringnullable
amountnumber<float>required>= 0
blockTimestampstring<date-time>required
tickerstringnullable
senderAddressesSenderAddress[]nullable
addressstringrequired
discountCodeIdstring<uuid>nullable
discountAmountnumber<float>required>= 0
paymentSummaryPaymentSummarynullable
currencyCurrencyrequired
AllowedUSDCADGBPEURAEDINRSEKBRLNZDAUDHKDNOKDKKJPYCNYCHFSGDPLNMXNCZKHUFZARSARRUBTRYILSUSDCUSDTEURCBTCTEST0ETHBNBSOLTRXAVAXMATIC
grossAmountnumber<float>required>= 0
underpaidAmountnumber<float>required>= 0
overpaidAmountnumber<float>required>= 0
netAmountnumber<float>required>= 0
networkFeeAmountnumber<float>required>= 0
radomFeeAmountnumber<float>required>= 0
feeAmountnumber<float>required>= 0
conversionRatesConversionRate[]nullable
fromstringrequired
tostringrequired
ratenumber<float>required>= 0
tokenDiscountAmountnumber<float>required>= 0
discountTotalnumber<float>required>= 0
openBankingPaymentDataOpenBankingPaymentDatanullable
statusstringnullable

Provider payment lifecycle status for open-banking payments. This is optional and remains a string so Radom can pass through future provider statuses without breaking clients.

Allowedprocessingwaiting_for_paymentauthorizedfinalizingpaidfailedcanceledcancelledin_refundpartially_refundedrefundedrefund_failed
bankStatementReferencestringrequired
onrampStatusOnrampStatusrequired
AllowedAwaitingFundsFundsReceivedPaymentSubmittedCompleteCancelled
payerFinancialAddressPayerFinancialAddressnullable
ibanIbannullable
ibanstringrequired
accountHolderNamestringnullable
bicstringnullable
sortCodeSortCodenullable
sortCodestringrequired
accountNumberstringrequired
accountHolderNamestringnullable
bankCodeBankCodenullable
codestringrequired
accountNumberstringrequired
accountHolderNamestringnullable
bbanBbannullable
bbanstringrequired
accountHolderNamestringnullable
bicstringnullable
bankIdstringnullable
bankNamestringnullable
bankMarketstringnullable
paymentSchemestringnullable
instantPaymentSchemebooleannullable
statusHistoryListOrderStatusHistoryEntry[]nullable
currentStatusstring
reasonstring
createdAtstring
updatedAtstring
previousStatusstringnullable
shopperShoppernullable
emailstringnullable
phoneNumberstringnullable
paymentReferencestringnullable
endToEndIdstringnullable
remittanceInformationstringnullable
senderNamestringnullable
senderIbanstringnullable
senderBicstringnullable
senderSortCodestringnullable
senderAccountNumberstringnullable
senderBankCodestringnullable
senderBbanstringnullable
radomDataRadomEventData

Context for the Radom object that triggered the event.

paymentLinkPaymentLinkDatarequired
paymentLinkIdstring<uuid>required
paymentLinkOrderIdstring<uuid>nullable
inputDataInputData[]nullable
labelstringrequired
valuestringnullable
checkoutSessionCheckoutSessionDatarequired
checkoutSessionIdstring<uuid>required
metadataMetadata[]nullable
keystringrequired
valuestringrequired
invoiceInvoiceDatarequired
invoiceIdstring<uuid>required
invoicePaymentIdstring<uuid>nullable
paymentSessionPaymentSessionDatarequired
paymentSessionIdstring<uuid>required
metadataMetadata[]nullable
keystringrequired
valuestringrequired
subscriptionSubscriptionIdDatarequired
subscriptionIdstring<uuid>required
donationLinkDonationLinkDatarequired
donationLinkIdstring<uuid>required
donationLinkOrderIdstring<uuid>required

Open banking checkout sessions

For open-banking checkout sessions, managedPayment remains the final successful-payment webhook. Do not fulfill from the browser redirect alone.

When the payment used open banking, the payload can include:

eventData.managedPayment.openBankingPaymentData

Common fields include:

FieldDescription
statusProvider lifecycle status. Successful open-banking payments use paid; pending checkout/session reads can show values such as processing, waiting_for_payment, authorized, or finalizing.
onrampStatusRadom settlement status. This is separate from the provider lifecycle status.
paymentSchemeBank rail or payment scheme when supplied, for example Sepa Credit, Sepa Instant, or Faster Payments.
instantPaymentSchemeWhether the provider identified the rail as instant.
bankId, bankName, bankMarketBank details when available, including bank preselection metadata.
statusHistoryListProvider status history when supplied.
paymentReference, endToEndId, remittanceInformationBank references for reconciliation when supplied.

Use the checkout session response while the transfer is still pending. Standard rails such as SEPA Credit can be sent before funds arrive, so keep fulfillment pending until this final managedPayment webhook or a final successful checkout status.


Examples

  {
"id": "f01fa77a-6f71-45fd-884e-4212ec76e9e9",
"webhookId": "ad474121-b97e-479b-a180-60a21bda8532",
"eventType": "managedPayment",
"eventData": {
"managedPayment": {
"paymentMethod": {
"network": "SolanaDevnet",
"token": null
},
"amount": "0.05174000000",
"transactions": [
{
"network": "SolanaDevnet",
"transactionHash": "Biqv82rkELugxVFVUrcobxabNvUztxno9vCBDLdnQUzBqNmacbMKtuSAF9srJPQq8CWpA47rpL8skkt2MTEsZvk",
"token": null,
"amount": "0.0520",
"blockTimestamp": "2023-06-06T06:11:42Z"
}
]
}
},
"radomData": {
"paymentLink": {
"paymentLinkId": "9353ac9f-d44e-4acf-a18e-83189422363a",
"paymentLinkOrderId": "aa697c4e-c489-4dd4-813d-1f9e8ad19745",
"inputData": [
{
"label": "Name",
"value": "Adam"
},
{
"label": "Email address",
"value": "adam@example.com"
}
]
}
}
}