Payout

Payshiga makes sending payouts a breeze the their well-integrated RESTful APIs. When you initiate a payout, Payshiga automatically transfers the funds from your available balance. Once the transfer is complete, Payshiga will notify your application through an API callback.

You can also easily track your payouts. You have two options:

  • API: Use the Payshiga API to check the status of a specific payout at any time.
  • Dashboard: Monitor the transaction status directly on your Payshiga dashboard. The dashboard also provides detailed payment information with a reference number for each transaction.

Use Case

Payshiga simplifies paying out funds to customers and employees through your company’s eWallet. Here’s a typical scenario:

  1. Customer Requests Payout: A customer on your website initiates a request to withdraw funds to their bank account.
  2. Website Calls Payshiga API: Your website’s backend sends a request to Payshiga to process the payout.

This clear flow demonstrates how Payshiga streamlines the payout process.

Make sure to check out Get Started to learn more about API keys and how to use them.

To initiate the payout, you will make a POST request to this endpoint:

{{baseurl}}/transfer

You will also need to add the following parameters to each request.

FieldData TypeDescription
accountNumberStringRequired.This is the recipient’s bank account number where the funds will be transferred.
amountNumber >=1Required. This specifies the amount to be paid out. It must be a number greater than or equal to 1.
bankCodeStringRequired. This is a code associated with the bank. It’s sometimes referred to as a routing number, bank identifier code, or BIC (Bank Identifier Code)
currencyString: Enum NGN USD EUR GBP KES TZS GHS RWF XAF XOF ZAR UGX AUD CAD ETB EGP MAD MWK ZMW SLL MURRequired. This is the currency of the transfer.
narrationStringRequired. This is a description of the transfer, which will appear on the recipient’s bank statement.
accountNameStringThe name of the recipient’s bank account
bankNameStringThe name of the destination bank.
metaObjectThis is where you can store additional information about the transfer.
referenceStringUnique reference code to identify a bank account.
saveBeneficiaryboolean: Default falseThis determines if the recipient’s information should be saved for future transfers. Defaults to false.
saveBeneficiaryTagStringIf saveBeneficiary is true, this allows you to assign a name to the saved beneficiary

When initiating a payout, encountering errors like “502 Bad Gateway” or “500 Internal Server Error” DOES NOT necessarily mean the payout failed. These, along with any unexpected errors, might indicate temporary issues on our end.

Here’s what we recommend:

  • Double-check the payout: Before considering it failed, verify if Payshiga processed the payout successfully. This helps avoid accidentally giving out funds twice.
  • We recommend verification: By following these steps, you can prevent potential financial losses due to misinterpreting errors.

Verifying the payout before completing the transaction and providing value to the customer is strongly recommended. Please note that Payshiga will not be liable for any loss resulting from these errors.

Here’s what your request should look like:

{
  "currency": "NGN",
  "bankName": "string",
  "bankCode": "string",
  "accountNumber": "string",
  "accountName": "string",
  "amount": 1,
  "narration": "string",
  "meta": {},
  "saveBeneficiary": false,
  "saveBeneficiaryTag": "string",
  "reference": "string"
}