Making payment to Business customers

When creating a Fiat Payout, you need to already know the bank account details where the payout will be sent out which includes the bank code (Including Swift, BIC e.t.c) and the bank account number of the customer within that bank. If an invalid bank code and (or) bank account number are provided, the payout will be rejected.

Making the request

Here's an example EUR Payout request using the Create Payout endpoint.

curl --request POST \
     --url https://api.sandbox.bvnk.com/api/wallet/payout \
     --header 'Authorization: Hawk id="B9jnE1U8eLblzHtNeJZRxfcq03CQKcmcP9FOrACMzXb1HfrxrePWsTfuP70JNns9", ts="1633010032", nonce="guGXrD", mac="uKeg+w1qXqzaF/8mOQGv8Y9IlRxyxTT+iINLe03EQ60="' \
     --header 'X-Idempotency-Key: 4308cf18-c261-11ed-afa1-0242ac120002' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
   "merchantId": "66002455-ee9e-440f-adaa-2202196837a0",
   "amount": "400",
   "paymentReference": "BVNK1689595707",
   "payoutDetails": {
       "type": "BUSINESS",
       "accountNumber": "GB33BUKB20201555555555",
       "code": "SMCOGB2L",
       "companyName": "ABC Corp",
       "countryOfBusinessRegistration": "GB",
   }
}

Let's go through the details you'll supply in the payout request.

ParameterTypeDescription
merchantIdStringMerchant Id
amountBig DecimalPayout amount
paymentReferenceStringReference for the payment
Payout Details Object:
TypeStringType of recipient i.e. INDIVIDUAL
accountNumberStringIndividual Recipient’s account number
codeStringRecipient’s bank code
companyNameStringBusiness recipient name
countryOfBusinessRegistrationStringBusiness recipient country of business registration

As soon as you submit the Fiat Payout request successfully without any validation errors, you will receive a synchronous response that looks like that:

{
   "status": "PENDING",
   "uuid": "5c75bc40-c1b2-4f57-b96f-79882a6e7c4b"
}

Response codes

StatusHTTP Status codeDescription
PENDING201The payout is pending.
400The payout has validation errors.