Bank Withdrawals

Bank withdrawals allow merchants to make bank transfers to bank accounts via the Shutterscore API.

When a customer requests a withdrawal to their bank account on your application, your application asks Shutterscore to process this payout. Our API then processes the request and makes a payment to the customer’s bank account, while also notifying your application about the completion of the payment. Easy peasy!

How to make a bank withdrawal using Shutterscore API

The following steps need to be taken in order to process payments to a bank account:

1. Fund merchant account

To make withdrawals, you must have funds in your merchant account. You can fund your account by making deposits into your account or by requesting a manual top-up.

Note : To test transactions, you can fund your sandbox account. For more information, please see the test section

2. Fetch bank list/bank codes

For bank withdrawals in Nigeria (NG), Ghana (GH), Kenya (KE), Tanzania (TZ), e.t.c., we need to know the recipient's bank by id. We refer to this as the bank code.

📘

Branch Codes

Withdrawal to bank account in Ghana (GH) also require branch code in addition to the bank code. Ensure to retrieve and add them to the request when making withdrawals.


3. Create and retrieve rate (Optional)

This is only required for cross currency withdrawal where the source currency differs from your the destination currency. For direct currency withdrawal (where source and destination currencies are the same), you may skip this step. For example, if the destination currency is NGN and the source currency is NGN, there will be no need to provide a rate.

Please take note of the following

  • A transaction type of WITHDRAWAL should be supplied when creating rates for cross withdrawal
  • Once created, a rate expires at a certain time (expires_at) or after a certain period of time (refresh_in)
  • An expired rate may be refreshed using the refresh rate API and it's rate reference

For more details on how to get or create a rate, please see the Rates API

4. Verify the account number

The account number and bank code provided in a withdrawal request can be verified to confirm availability and prevent transaction failure. Account verification is only available for withdrawals to Nigerian (NGN) banks right now.

5. Request withdrawal

The data sent in the request body depends on the type of withdrawal (Direct Withdrawal or cross) and the withdrawal currency. Kindly ensure you fill out all of the necessary fields in order for your payment to be processed. If the wrong payload is sent, the transaction will fail and you will receive a failed response.

A payment status is returned after a request is received, and it can be successful, processing, or failed. Please see our transaction status page for additional information.

6. Receive and validate notification

You can set your application to receive transaction status updates via webhooks if provided, and email, when the payout is completed. Please read the webhooks page for details on securing and validating the webhook notification on your end, as well as the webhook structure and body.