Virtual Accounts
Payouts

Payouts

At any time you can pay out funds from you Virtual Account to an external account.

Initiating Payout

You can initiate Payout in the following way:

  • from Merchant Portal, Balances section

Initiating Payout in Merchant Portal

In order to make a Payout, please go to Balances section and press Make Payout next to the account you want to make payment from.

BalancesBeforePayment

PayoutDialog

Once you've made the payment and it has been finished, you'll see change in balance reflected in the same Balances page. BalancesAfterPayment

Payout status

Payout status is delivered to you by Payout Webhooks.

Payout status has following values:

StatusDescription
IN_PROGRESSpayment is in progress
PROCESSEDpayment is was processed (does not mean delivered)
CANCELLEDpayment was cancelled
FAILEDpayment failed
HELDpayment is held and may require contact with volume for it's further processing
RETURNEDpayment was delivered to destination account and returned

Payout status delivered by Webhooks

Once you've configured Payout Webhook URL in Merchant Portal, in Settings->Webhooks And Callbacks section, you will be provided with a Webhook for any status change.

Delivery guarantee

Each webhook is delivered until your endpoint answers with 200 OK.

Body

Webhook calls will be delivered as PUT REST call with following payload

{
 "eventTimeUtc" : "2024-11-07T07:55:27.004128Z",
 "applicationId" : "62b36790-f8cd-4764-8e19-2e19ada49cb1",
 "payoutId" : "50cb26b8-1a2d-4455-ba2a-f1c229779500",
 "payoutAmount" : 0.30,
 "payoutCurrency" : "GBP",
 "payoutReference" : "241107073325914PYB",
 "payoutStatus" : "IN_PROGRESS",
 "payoutStatusDescription" : "",
 "payoutWebhookDeliveryAttempt" : 0,
 "destination" : {
   "type" : "SCAN",
   "name" : "John Smith",
   "accountNumber" : "12345678",
   "sortCode" : "123456"
 }
}

Important headers

Expect this call with following headers:

HeaderValue
Content-Typeapplication/json
Acceptapplication/json
Authorizationsignature of the request calculated as described here

Security

You can verify webhook integrity by checking it's signature passed via Authorization header. Mechanism is identical to signature verification if regular payment webhooks. You can find description here