Making payment to Individual 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": "INDIVIDUAL",
       "accountNumber": "IE64IRCE92050112345678",
       "code": "BARCGB20",
       "firstName": "John",
       "lastName": "Smith",
       "countryOfResidence": "IE",
       "dateOfBirth": "01-01-1900",
       "customerIdentifier": "CUSTID0001"
   }
}

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
codeStringIndividual Recipient’s bank code
firstNameStringIndividual recipient first name
lastNameStringIndividual recipient last name
countryOfResidenceStringIndividual recipient country of residence
dateOfBirthDate (DD-MM-YYYY)Individual recipient date of birth
customerIdentifierStringIndividual recipient’s unique identifier within merchant’s system

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.