Collections/Payins - Bank Transfer

We provide the following product/services via API to merchants for collections across channels

Environment Urls

Sandbox: https://devbox.paydestal.com/pay
Prod:    https://api.paydestal.com/pay
  • Virtual Accounts

  • Card Processing

  • USSD Processing

  • Pay Redirect

Pay with bank transfer (PWBT)

We have Dynamic / One time Orders. These are orders with Bank Accounts issued to receive payment once. PayEvery Dynamic account expires after 48 hours and the accounts are reassigned to new payment orders.

 --location 'https://devbox.paydestal.com/pay/api/v1/create-payment-order' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your client secret key}' \

--data '{
    "transactionReference": "0000ef2c242a-93a1-4ef9-b991-fac1221adecb",
    "customerName": "Jon Joe",
    "customerMobile": "09068036798",
    "amount": "500",
    "acceptExactAmount": true,
    "currency": "NGN"
}'

Request Body

Name
Type
Description

transactionReference

String

Unique Reference String

customerName

String

Name of Customer

customerMobile

Phone

Phone Number

amount

Double

Amount

currency

String

NGN

acceptExactAmount

Boolean

true or false

customerEmail

Email

Email

Response


{
    "responseCode": "201",
    "responseMessage": "Payment Order Created Successfully!",
    "data": {
        "accountName": "Jon Joe",
        "accountNumber": "1254554932",
        "bankCode": "000017",
        "bankName": "WEMA BANK",
        "accountReference": "PYDN-20240623172414-33875443722",
        "createdAt": "2024-06-23 18:24:14",
        "currency": "NGN",
        "customerName": "Jon Joe",
        "paymentReference": "0000ad0415df-aafc-45a8-8955-897e1d852b2d",
        "amount": 500.0,
        "acceptExactPayment": true,
        "period": "MINUTE",
        "duration": 4320
    },
    "success": true
}

Reserved Virtual Account Number

Our Reserved virtual accounts are virtual accounts that can receive multiple payments.

curl --request POST \
  --url https://devbox.paydestal.com/pay/api/v1/create-reserved-virtual-account \
  --header 'Authorization: Bearer {your client secret}' \
  --header 'content-type: application/json' \
  --data '{
  "customerName": "Job Georg",
  "customerMobile": "080000000",
  "bvn": "{bvn}",
  "dob": "YYYY-MM-DD",
  "customerEmail": "[email protected]",
  "address": "{address}"
}'

Response

{
  "responseCode": "201",
  "responseMessage": "Virtual Account Created!",
  "data": {
    "accountNumber": "9252993418",
    "reference": "5e13cea9-0010-4e49-a18f-28601981d931",
    "accountName": "Rahma6irltd",
    "accountType": "INBOUND",
    "bankName": "WEMA BANK",
    "bankCode": "000017",
    "email": "[email protected]",
    "phone": "080000000",
    "active": true,
    "creationDate": "YYYY-MM-DD HH:ss"
  },
  "success": true
}

Request Sample

curl --request POST \
  --url 'https://devbox.paydestal.com/pay/api/v1/card/init?clientId=PYD1zwzyrwabig' \
  --header 'Authorization: Bearer {your client secret}' \
  --header 'content-type: application/json' \
  --data '{
    "reference": "99939589999968678",
    "amount": 10.00,
    "currency": "USD",
    "callbackUrl": "{your callback url to redirect on completion}",
    "customerName": "Jon Doe",
    "customerEmail": "[email protected]",
     "customerPhone": "08030000000",
     "cardDetails": {
     "expiryMonth": "01",
     "expiryYear": "39",
     "cvv": "100",
     "cardNumber": "4508750015741019"
  }

}'

Request Body

Name
Type
Description

reference

String

Unique Reference

amount

Double

e.g. 10.55

currency

Enum

Values ["NGN","USD"]

callbackUrl

Url

https://example.com

customerName

String

Name of Customer

customerEmail

Email

Emall

customerPhone

Phone

e.g 08039000000

Last updated