Skip to main content

Refund

This event is emitted when a refund is processed.

Payload schema

Webhook payload

Use this schema when validating, storing, or transforming the incoming refund 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.

Allowedrefund
eventDataobjectrequired

Event-specific payload. The key matches eventType.

refundRefundWebhookDatarequired
refundIdstring<uuid>required
networkNetworkrequired
AllowedBitcoinBitcoinTestnetLitecoinLitecoinTestnetDogecoinDogecoinTestnetBitcoinCashBitcoinCashTestnetBitcoinSVBitcoinSVTestnetHarryPotterObamaSonic10InuHarryPotterObamaSonic10InuTestnetCardanoDashSolanaSolanaTestnetSolanaDevnetEthereumSepoliaTestnetPolygonPolygonTestnetBNBBNBTestnetArbitrumArbitrumTestnetZcashZcashTestnetPolkadotPolkadotTestnetPolkadotAssetHubPolkadotAssetHubTestnetTronTronTestnetAvalancheAvalancheTestnetBaseBaseTestnetOptimismOptimismTestnetFiat
tokenstringnullable
withdrawalAmountnumber<float>required>= 0
isSuccessbooleanrequired
failureReasonstringnullable
receiptWithdrawalReceiptnullable
EVMReceiptEVMReceiptrequired
transactionHashstringnullable
networkFeeAmountnumber<float>nullable>= 0
BTCReceiptBTCReceiptrequired
transactionIdstringnullable
networkFeeAmountnumber<float>nullable>= 0
BSVReceiptBSVReceiptrequired
transactionIdstringnullable
networkFeeAmountnumber<float>nullable>= 0
DOGEReceiptDOGEReceiptrequired
transactionIdstringnullable
networkFeeAmountnumber<float>nullable>= 0
LTCReceiptLTCReceiptrequired
transactionIdstringnullable
networkFeeAmountnumber<float>nullable>= 0
BCHReceiptBCHReceiptrequired
transactionIdstringnullable
networkFeeAmountnumber<float>nullable>= 0
XMRReceiptXMRReceiptrequired
transactionIdstringnullable
networkFeeAmountnumber<float>nullable>= 0
SOLReceiptSOLReceiptrequired
signaturestringnullable
networkFeeAmountnumber<float>nullable>= 0
DOTReceiptDOTReceiptrequired
transactionHashstringnullable
networkFeeAmountnumber<float>nullable>= 0
FiatReceiptFiatReceiptrequired
finalAmountstringnullable
transferMethodTransferMethodnullable
AllowedSepaAchWire
flatFeenumber<float>nullable>= 0
percentFeenumber<float>nullable>= 0
transactionHashstringnullable
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 refunds

For open-banking checkout refunds, Radom uses the existing refund webhook. Successful open-banking refund payloads can include:

eventData.refund.openBankingPaymentData.status

When present, a completed open-banking refund uses refunded. The same object can also include bank rail fields such as paymentScheme, instantPaymentScheme, bankId, bankName, and bankMarket when available.