Payouts - Webhooks

Payout webhooks are sent whenever the payout state changes.

Webhooks are a crucial mechanism for merchants to receive notifications about Payout creation and Payout status changes. All Payout webhooks have a webhook_type that begins with PAYOUT_.

Webhook processing and Security

Yaspa Webhooks are sent via HTTPS and are signed. For information on processing and around Webhook security see the section here - Webhooks.

Payout Webhook Status Types


WebhookDescriptionPayout Transaction Status
PAYOUT_QUEUEDPayout was added to the queue for approvalQUEUED
PAYOUT_ERRORAn error occurredERROR or FAILED
PAYOUT_REJECTEDPayout that was in 'queued' was rejectedCANCELLED BY MERCHANT
PAYOUT_EXPIREDThe user has dropped out of the journey before the payout has been queued or acceptedEXPIRED
PAYOUT_ACCEPTEDThe payout has been accepted by the sending bankACCEPTED

Payout Webhook Parameters


ParameterDescription
citizenTransactionIdCitizen transaction ID
merchantIdThe ID of your merchant
merchantTradingNameThe trading name of your merchant
customerIdentifiercustomer ID in your system
transactionStatusThe payout status
creationDateDate of creation
citizenCounterPartyIdThe ID of the counterparty (e.g. the customer)
currencyThe currency of the payout
paymentGiroPayment rail used (e.g. FPS)
merchantBankThe bank of the merchant
counterPartyBankThe bank of the customer requesting the payout
counterPartyBankCodeThe bank code of the customer
counterPartyAccountNumberThe account number of the customer
counterPartyAccountNameThe account name of the customer
searchableTextA string you can use to search for this payout
amountThe amount of the payout
referenceThe reference attached to the payout
payloadMeta-data associated with the payout
payloadEncryptedBoolean value indicating whether the payload is encrypted


Payout Status

The events above each contain a status; the table below provides more details on what each status means.

TransactionStatusDescriptionTerminal Status
CREATEDThe journey has begun and the user is about to request the bank they want to be paid into (for hosted journeys)
QUEUEDThe payout has been added to a queue and is pending an approval decision by the merchantYes
ACCEPTEDThe payout has been accepted for processing by the bank
CANCELLED_BY_MERCHANTThe queued payout has been rejected by the merchantYes
EXPIREDThe payout has expired without the user authorising itYes
FAILEDThe payout failed to be authorised by the bankYes
ERRORThe payout failed to be submittedYes

When a terminal status is reached under normal operation, there will be no further events for the payout. merchants should configure the admin dashboard to receive all terminal webhooks. Non-terminal Webhooks can mostly be ignored, unless the merchant has special requirements or wants a more complete log of the customer's progress.