RUBIES OPEN API

Cardless Withdrawal

Withdraw cash with paycodes from ATMs or POS without the use of physical cards.

List of Paycode Supported Banks

  • ACCESS BANK PLC
  • DIAMOND BANK
  • FIDELITY BANK
  • FIRST CITY MONUMENT BANK
  • GUARANTY TRUST BANK
  • HERITAGE BANK
  • STANBIC IBTC BANK
  • STERLING BANK
  • UNION BANK OF NIGERIA
  • UNITED BANK FOR AFRICA
  • UNITY BANK PLC
  • WEMA BANK OF NIGERIA
  • ZENITH BANK INTERNATIONAL
Response Code
Response Message
00
Paycode is Successful and Active
P01
Transaction not found
P02
Wait for paycode to expire before canceling
P03
Paycode not valid for cancellation
P04
Unable to validate Paycode usage status - please try again later.
P05
Transaction not Found
P96
Paycode Failed
P91
Paycode Failed
P92
Paycode Failed
P81
Paycode is  in use
P82
Paycode is cancelled
P83
Paycode is reversed
P84
Paycode has been cashed-out
P86
Paycode is Locked. No. of PIN retries exceeded/ Wrong cashout PIN used
P99
Paycode has Expired
P84
Unknown Status

Paycode Generate

Generate a paycode to make cash withdrawals across supported ATM and POS.
###### Applicable Charge - N107.50

N.B

  • Acceptable values in field "withdrawalchannel" are POS or ATM
  • Amount must be divisible by 1000
  • Withdrawalpin is the PIN necessary to cash out on the channels
  • Token expiry is how long the token generated will be valid
  • PayCode Limit:POS N1000 - N10,000                                   
                                       ATM N1000 - N20,000

HEADERS

Authorization

SK-000000001-PROD-59AA79CF33B94FD4AFC4A912DE2B2CF2494046C67BE64289944C95D6F07EA697

Content-Type

application/json

POST

https://openapi.rubiesbank.io/v1/paycodegenerate

BODY

raw

}


"withdrawalchannel": "ATM",
   "reference": "1596915537",
   "amount": "1000",
   "withdrawalpin": "4321",
   "tokenexpiryminutes": "180"

{

1
2
3
4
5
6
7
8
9
10

wget --no-check-certificate --quiet \
 
--method POST \
 
--timeout=0 \
 
--header 'Authorization: SK-000000001-PROD-47296C056DB745908EC2367417600BFFE060F4E31DD342C6A372FC148DAFCD6D' \
 
--header 'Content-Type: application/json' \
 --body-data '{
 
 "request": "banklist"
}' \
Body

Header(9)

{
 "responsecode": "00" ,
 "banklist" : [
   {

     "bankname" : "ABBEY MORTGAGE BANK",
     "bankcode" : "070010"
   },
   {
     "bankname" : "ACCION MFB",
     "bankcode" : "090134"
   },
   {

     "bankname" : "AG MORTGAGE BANK PLC",
     "bankcode" : "100028"
   },
const duplo = require('duplo')('dp_test_P2tH90snfuQB0qlPopnhdgkOpbs');
const virtualAccount = await duplo.card.getAll({FilteringObject});
$duplo = new \Duplo\DuploClient(
 'dp_test_P2tH90snfuQB0qlPopnhdgkOpbs'
);
$duplo->card->getAll();

Paycode Query

Confirm the status of a paycode

HEADERS

Authorization

SK-000000001-PROD-59AA79CF33B94FD4AFC4A912DE2B2CF2494046C67BE64289944C95D6F07EA697

POST

https://openapi.rubiesbank.io/v1/paycodequery

BODY

raw

}


"reference": "1596915537"

{

1
2
3
4
5
6
7
8
9
10

wget --no-check-certificate --quiet \
 
--method POST \
 
--timeout=0 \
 
--header 'Authorization: SK-000000001-PROD-47296C056DB745908EC2367417600BFFE060F4E31DD342C6A372FC148DAFCD6D' \
 
--header 'Content-Type: application/json' \
 --body-data '{
 
 "request": "banklist"
}' \
Body

Header(9)

{
 "responsecode": "00" ,
 "banklist" : [
   {

     "bankname" : "ABBEY MORTGAGE BANK",
     "bankcode" : "070010"
   },
   {
     "bankname" : "ACCION MFB",
     "bankcode" : "090134"
   },
   {

     "bankname" : "AG MORTGAGE BANK PLC",
     "bankcode" : "100028"
   },
const duplo = require('duplo')('dp_test_P2tH90snfuQB0qlPopnhdgkOpbs');
const virtualAccount = await duplo.card.getAll({FilteringObject});
$duplo = new \Duplo\DuploClient(
 'dp_test_P2tH90snfuQB0qlPopnhdgkOpbs'
);
$duplo->card->getAll();

Paycode Cancel

Cancel a paycode

HEADERS

Authorization

SK-000000001-PROD-59AA79CF33B94FD4AFC4A912DE2B2CF2494046C67BE64289944C95D6F07EA697

POST

https://openapi.rubiesbank.io/v1/paycodegenerate

BODY

raw

}


"reference": "1596915537"

{

1
2
3
4
5
6
7
8
9
10

wget --no-check-certificate --quiet \
 
--method POST \
 
--timeout=0 \
 
--header 'Authorization: SK-000000001-PROD-47296C056DB745908EC2367417600BFFE060F4E31DD342C6A372FC148DAFCD6D' \
 
--header 'Content-Type: application/json' \
 --body-data '{
 
 "request": "banklist"
}' \
Body

Header(9)

{
 "responsecode": "00" ,
 "banklist" : [
   {

     "bankname" : "ABBEY MORTGAGE BANK",
     "bankcode" : "070010"
   },
   {
     "bankname" : "ACCION MFB",
     "bankcode" : "090134"
   },
   {

     "bankname" : "AG MORTGAGE BANK PLC",
     "bankcode" : "100028"
   },
const duplo = require('duplo')('dp_test_P2tH90snfuQB0qlPopnhdgkOpbs');
const virtualAccount = await duplo.card.getAll({FilteringObject});
$duplo = new \Duplo\DuploClient(
 'dp_test_P2tH90snfuQB0qlPopnhdgkOpbs'
);
$duplo->card->getAll();
What’s Next ?
Bulk Fund Transfer