Bank

To collect funds using Bank, follow the steps below

1. Set Payment Method

BANK is the value to be set for the parameter, method in the request collection body. For Hosted Payment Page payments, we expect you to provide a, redirect_url where we will redirect the customer when they complete or cancel the transaction once you have redirected them to the payment_url we will return.

{
  ...
  "method": "BANK",
  "redirect_url": "https://my-domain.com/redirect_url"
  ...
}

payment_url will be returned which you will redirect the customer to complete the payment

{
  ...
  "payment_url": "https://sandbox.dusupay.com/v1/completepayment",
  ...
}

3. Redirect customer

Whenever a payment_url is returned in any response body, you are expected to redirect the customer to it for them to be able to complete the transaction initiated.

Bank Collection API

POST https://sandbox.dusupay.com/v1/collections

Headers

Name
Type
Description

Content-Type*

String

application/json

Request Body

Name
Type
Description

api_key*

String

Obtained from merchant account setting

currency*

String

You can use your home currency when making requests. e.g USD

You will receive your funds at the market rate into your merchant sub-account account.

amount*

Int/Double

2 decimal places allowed for double.

method*

String

BANK

provider_id*

String

merchant_reference*

String

The UNIQUE reference for this transaction generated by your system. A unique string value should be sent for every attempt.

4 to 36 character

narration*

String

Use this to add a brief description or comment on the transaction.

4 to 64 character

redirect_url*

String

Url e.g https://yourdomain.com redirect to for payment methods that would return a payment link: online banking methods, visa 3d and any other that require input via a web interface.

account_name

String

Helps to easily lookup customer transactions.

account_email

String

Used to email customer. Helps to easily lookup customer transactions.

user_id

String

This uniquely identifies the client on your system. A client is expected to have the same identifier for every transaction made by them. This is to allow for fraud detection.

{
    "code": 202,
    "status": "accepted",
    "message": "Transaction Initiated",
    "data": {
        "id": 615609,
        "request_amount": 7,
        "request_currency": "USD",
        "account_amount": 4261.7404,
        "account_currency": "NGN",
        "transaction_fee": 149.1609,
        "total_credit": 4112.5795,
        "provider_id": "bank_ng",
        "merchant_reference": "xxxxxxxx2",
        "internal_reference": "DUSUPAY5FNZF4GL9WDF41W",
        "payment_url": "https://sandbox.dusupay.com/v1/complete-payment/DUSUPAY5FNZF4GL9WDF41W/bank",
        "transaction_status": "PENDING",
        "transaction_type": "collection",
        "message": "Transaction Initiated",
        "instructions": [],
        "customer_charged": false
    }
}

Last updated