Creating a Fiat Payout

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",
   "ultimateSenderDetails": {
       "type": "BUSINESS",
       "companyName": "Business Name",
       "countryOfBusinessRegistration": "GB",
       "firstName": null,
       "lastName": null,
       "countryOfResidence": null,
       "dateOfBirth": null,
       "customerIdentifier": null
   },
   "payoutDetails": {
       "type": "BUSINESS",
       "accountNumber": "GB33BUKB20201555555555",
       "code": "SMCOGB2L",
       "firstName": null,
       "lastName": null,
       "countryOfResidence": null,
       "companyName": "Business Name",
       "countryOfBusinessRegistration": "GB",
       "dateOfBirth": null,
       "customerIdentifier": null
   }
}

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

FieldDescription
merchantIdMerchant Id
amountPayout amount
paymentReferenceReference for the payment
Ultimate Sender Details Object:Optional for regulated entities
typeType of sender (INDIVIDUAL or BUSINESS)
companyNameBusiness sender name
countryOfBusinessRegistrationBusiness sender country of business registration
firstNameIndividual sender first name
lastNameIndividual sender last name
countryOfResidenceIndividual sender country of residence
dateOfBirthIndividual sender date of birth in DD-MM-YYYY format
customerIdentifiersender’s unique identifier within merchant’s system
Payout Details Object:
typeType of recipient (INDIVIDUAL or BUSINESS)
accountNumberRecipient’s account number
codeRecipient’s bank code
companyNameBusiness recipient name
countryOfBusinessRegistrationBusiness recipient country of business registration
firstNameIndividual recipient first name
lastNameIndividual recipient last name
countryOfResidenceIndividual recipient country of residence
dateOfBirthIndividual recipient date of birth in DD-MM-YYYY format
customerIdentifierrecipient’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.