SSPAY - TECHNOLOGY OF PAYMENT GATEWAY PLATFORM.
FOR DEVELOPMENT
READ ME
The reference is your key to a comprehensive understanding of the SSPAY API.
Conventions
The base URL to send all API requests is https://api.sspay.pro
. HTTPS is required for all API requests.
The SSPAY API follows RESTful conventions when possible, with most operations performed via GET
, POST
, requests. Request and response bodies are encoded as JSON.
WARNING !
DO NOT USE “window.open” TO JUMP TO CALLBACK LINK, as this may be blocked on Safari iOS. Instead, use “location.href” or create a window beforehand and then point the callback command to the correct URL.
- Example :
var mywin = window.open(“about:blank”, “redirect”);
var someCallback = function(url) {
mywin.open(url, “redirect”);
};
Paymethod in SSPAY
Paymethod | Code | Description | Payin | Withdrawal | Currency used |
BANK | 001 | BANK TRANFERS | YES | YES | VNDK ( VN2 ) |
QR PAY | 002 | BANK QRPAY | YES | - | VNDK ( VN2 ) |
MOMO | 003 | MoMo | YES | - | VNDK ( VN2 ) |
ZaloPay | 004 | ZaloPay | YES | - | VNDK ( VN2 ) |
VTPAY | 005 | VIETTELPAY | YES | - | VNDK ( VN2 ) |
USDT | 006 | USDT | YES | - | VNDK ( VN2 ) |
USDT WITHDRAWAL | 007 | USDT WITHDRAWAL | - | YES | USDT |
shortName of Bank used in SSPAY
Name | bankCode | shortName | |
1 | Ngân hàng TMCP Công thương Việt Nam | ICB | VietinBank |
2 | Ngân hàng TMCP Ngoại Thương Việt Nam | VCB | Vietcombank |
3 | Ngân hàng TMCP Đầu tư và Phát triển Việt Nam | BIDV | BIDV |
4 | Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam | VBA | Agribank |
5 | Ngân hàng TMCP Phương Đông | OCB | OCB |
6 | Ngân hàng TMCP Quân đội | MB | MBBank |
7 | Ngân hàng TMCP Kỹ thương Việt Nam | TCB | Techcombank |
8 | Ngân hàng TMCP Á Châu | ACB | ACB |
9 | Ngân hàng TMCP Việt Nam Thịnh Vượng | VPB | VPBank |
10 | Ngân hàng TMCP Tiên Phong | TPB | TPBank |
11 | Ngân hàng TMCP Sài Gòn Thương Tín | STB | Sacombank |
12 | Ngân hàng TMCP Phát triển Thành phố Hồ Chí Minh | HDB | HDBank |
13 | Ngân hàng TMCP Bản Việt | VCCB | VietCapitalBank |
14 | Ngân hàng TMCP Sài Gòn | SCB | SCB |
15 | Ngân hàng TMCP Quốc tế Việt Nam | VIB | VIB |
16 | Ngân hàng TMCP Sài Gòn - Hà Nội | SHB | SHB |
17 | Ngân hàng TMCP Xuất Nhập khẩu Việt Nam | EIB | Eximbank |
18 | Ngân hàng TMCP Hàng Hải | MSB | MSB |
19 | Ngân hàng số CAKE by VPBank | CAKE | CAKE |
20 | Ngân hàng số Ubank by VPBank | Ubank | Ubank |
21 | Ngân hàng số Timo by Ban Viet Bank (Timo by Ban Viet Bank) | TIMO | Timo |
22 | Ngân hàng TMCP Sài Gòn Công Thương | SGICB | SaigonBank |
23 | Ngân hàng TMCP Bắc Á | BAB | BacABank |
24 | Ngân hàng TMCP Đại Chúng Việt Nam | PVCB | PVcomBank |
25 | Ngân hàng Thương mại TNHH MTV Đại Dương | Oceanbank | Oceanbank |
26 | Ngân hàng TMCP Quốc Dân | NCB | NCB |
27 | Ngân hàng TNHH MTV Shinhan Việt Nam | SHBVN | ShinhanBank |
28 | Ngân hàng TMCP An Bình | ABB | ABBANK |
29 | Ngân hàng TMCP Việt Á | VAB | VietABank |
30 | Ngân hàng TMCP Nam Á | NAB | NamABank |
31 | Ngân hàng TMCP Xăng dầu Petrolimex | PGB | PGBank |
32 | Ngân hàng TMCP Việt Nam Thương Tín | VIETBANK | VietBank |
33 | Ngân hàng TMCP Bảo Việt | BVB | BaoVietBank |
34 | Ngân hàng TMCP Đông Nam Á | SEAB | SeABank |
35 | Ngân hàng Hợp tác xã Việt Nam | COOPBANK | COOPBANK |
36 | Ngân hàng TMCP Bưu Điện Liên Việt | LPB | LienVietPostBank |
37 | Ngân hàng TMCP Kiên Long | KLB | KienLongBank |
38 | Ngân hàng Chính sách Xã hội | VBSP | VBSP |
39 | Ngân hàng TNHH MTV Woori Việt Nam | WVN | Woori |
40 | Ngân hàng TNHH MTV HSBC (Việt Nam) | HSBC | HSBC |
41 | Ngân hàng Thương mại TNHH MTV Dầu Khí Toàn Cầu | GPB | GPBank |
42 | Ngân hàng TMCP Đông Á | DOB | DongABank |
43 | DBS Bank Ltd - Chi nhánh Thành phố Hồ Chí Minh | DBS | DBSBank |
44 | Ngân hàng TNHH MTV CIMB Việt Nam | CIMB | CIMB |
45 | Ngân hàng Thương mại TNHH MTV Xây dựng Việt Nam | CBB | CBBank |
46 | USDT - ERC20 | USDT-ERC20 | USDT-ERC20 |
47 | USDT - TRC20 | USDT-TRC20 | USDT-TRC20 |
48 | USDT - BEP20 | USDT-BEP20 | USDT-BEP20 |
You can download full JSON fomat banklist here : DOWNLOAD ( 4.22 KB )
CREAT PAYMENT DEPOSIT ( PAYIN )
A • CREATE PAYIN
Before you can initiate an order, you must provide the IP address of the data sending server for us to grant access. Without access authorization, you will be unable to send data to create an order.
https://api.sspay.pro/pay/payIn
Call method | Data fomat |
---|---|
POST | JSON |
CONTENT REQUIRED
Authorization token will transfer in header for verification merchan.
Authorization: 'Bearer ${jwtToken}',
Field | Type | Required | Description |
account | String | NO / CAN SKIP | If you want display account name customer deposit money ,added this value. |
outTradeNo | String | YES | Order ID from partners |
payMethod | String | YES | Payment method code: 001 BANK,002 QR PAY, 003 MOMO ,004 ZaloPay, 005 ViettelPay, 006 USDT. |
totalAmount | Number | YES | Min : 100 VNDK | Max : 500.000 VNDK |
sign | String | YES | Merchant passes encrypted parameter value, currently limited to MD5 encryption. |
Example :
{
"account":"abcd1234",
"outTradeNo": "orderid001",
"payMethod": "002",
"totalAmount": 3000,
"sign": "md5(outTradeNo=...&payMethod=...&totalAmount=...&key=...)"
}
DATA RESPONSE
Field | Type | HTTP Status Quote | Description |
---|---|---|---|
code | 200 | Successfully processed request.all others is failed | |
status | String | success, failed , error | |
data.payUrl | String | Payment URL. When the order is successfully created, the payment URL will be returned. | |
msg | String | Reason for failure: When the order creation fails, the reason for the failure will be displayed. |
Example :
res.status(200).json({
status: "success",
data: {
payUrl: `https://client.sspay.pro/pay/payIn/${outTradeNo}`,
},
message: "Deposit was created!",
});
CONTENT PAYMENT RESULTS ( CALLBACK )
Field | Type | Description |
outTradeNo | String | Order ID from partners |
payMethod | Number | Payment method code: 001 BANK,002 QR PAY, 003 MOMO ,004 ZaloPay, 005 ViettelPay, 006 USDT. |
state | Number | Payment status: 0 for unpaid, 1 for paid , 2 for failed. |
totalAmount | Number | Order amount. |
sign | String | Merchant passes encrypted parameter value, currently limited to MD5 encryption. |
Example :
sign= md5(outTradeNo=...&payMethod=...&state=...&totalAmount=...&key=...)
CONTENT FOR CUSTOMERS CHECK TRANSACTION PAYIN STATUS
https://api.sspay.pro/pay/payIn/status
Call method | Data fomat |
---|---|
GET | JSON |
CONTENT REQUIRED
https://api.sspay.pro/pay/payIn/status/{outTradeNo}
Authorization: 'Bearer ${jwtToken}',
CONTENT REPONSE
Field | Type | Description |
outTradeNo | String | Order ID for checking status |
code | Number | 200 Successfully processed request.all others is failed |
message | String | Reason for failure: When the request fails, the reason will be displayed. |
status | Number | Payment status: 0 for unpaid/processing, 1 for paid , 2 for failed. |
CREAT PAYMENT WITHDRAWAL ( PAYOUT )
B • CREATE PAYOUT
Before you can initiate an order, you must provide the IP address of the data sending server for us to grant access. Without access authorization, you will be unable to send data to create an order.
https://api.sspay.pro/pay/payout
Call method | Data fomat |
POST | JSON |
CONTENT REQUIRED
Authorization: 'Bearer ${jwtToken}',
Field | Type | 001 | Both Required | Description |
account | String | account game | NO | If you want display account name customer deposit money ,added this value. |
accountName | String | Bankowner name | YES | Recipient's name, used for verification. |
accountNumber | String | Bank account number | YES | Number of bank account withdrawal, in payout method 007 USDT . accountNumber is USDT Address |
billId | String | withdrawID | YES | Withdrawal ID from partners |
payMethod | Number | VNDK | YES | Payment method code: 001 BANK, 007 USDT. |
shortName | String | Shortname of Bank | YES | List shortName of method 001 BANK view driectly HERE . in payout method 007 USDT . shortName is Network USDT ( USDT-TRC20, USDT-ERC20, USDT-BEP20 ) |
totalAmount | Number | amount VNDK | YES | Withdrawal payment amount. 007 method required USDT value, 001 is VNDK value |
sign | String | YES | Merchant passes encrypted parameter value, currently limited to MD5 encryption. |
Example : 001
{
"account":"abc1234", // Can skip
"accountName": "NGUYEN VAN BAC",
"accountNumber": "6281268888",
"billId": "orderid126886",
"payMethod": "001",
"shortName": "VPBank",
"totalAmount": 1000,
"sign": "md5(accountName=...&accountNumber=...&billId=...&payMethod=...&shortName=...&totalAmount=...&key=...)"
}
Example : 007
{
"account":"abc1234", // Can skip
"accountName": "NGUYEN VAN BAC", //SAME BANK ACCOUNT
"accountNumber": "TFDc8b3YYWj6mEKSzHwuhnQ8UkkW38zA6z",
"billId": "wd8862112341",
"payMethod": "007",
"shortName": "USDT-TRC20", // Network USDT ( USDT-TRC20, USDT-ERC20, USDT-BEP20 )
"totalAmount": 42.53, // USDT value
"sign": "md5(accountName=...&accountNumber=...&billId=...&payMethod=...&shortName=...&totalAmount=...&key=...)"
}
DATA RESPONSE
Field | Type | HTTP Status Quote | Description |
---|---|---|---|
code | HTTP | 200 | Successfully processed request.all others is failed |
msg | String | Reason for failure: When the order creation fails, the reason for the failure will be displayed. |
CONTENT WITHDRAWAL RESULTS( CALLBACK )
Field | Type | Description |
billId | String | Withdrawal ID from partners |
isRefund | boolean | Whether it is canceled. true for success, failse for failure. |
payMethod | String | Payment method code: 001 BANK, 007 USDT. |
state | boolean | true for success, failse for failure |
totalAmount | Number | Settlement amount. |
sign | String | Merchant passes encrypted parameter value, currently limited to MD5 encryption. |
Example :
{
"billId": "202501095885140",
"isRefund": false,
"payMethod": "001",
"state": true,
"totalAmount": 500,
"sign": "153deb5147944487eaeb78c78a88c4b9"
}
sign= md5(billId=...&isRefund=...&payMethod=...&state=...&totalAmount=...&key=...)
CONTENT FOR CUSTOMERS CHECK WITHDRAWAL STATUS
https://api.sspay.pro/pay/payout/status
Call method | Data fomat |
---|---|
GET | JSON |
CONTENT REQUIRED
https://api.sspay.pro/pay/payout/status/{billId}
Authorization: 'Bearer ${jwtToken}',
DATA REPONSE
Field | Type | Description |
---|---|---|
code | HTTP | 200 Successfully processed request.all others is failed |
billId | String | Withdrawal ID from partners |
message | String | Reason for failure: When the request fails, the reason will be displayed. |
status | Number | Payment status: 0 for unpaid/processing, 1 for paid , 2 for failed. |
CONTENT FOR CHECK BALANCE
This for query the balance before sending a withdrawal request on the SSPAY system.
https://api.sspay.pro/pay/balance
Call method | Data fomat |
---|---|
GET | JSON |
CONTENT REQUIRED
https://api.sspay.pro/pay/balance
Authorization: 'Bearer ${jwtToken}',
DATA REPONSE
Field | Type | Description |
code | HTTP | 200 Successfully processed request.all others is failed |
balance | Number | Available balance for settlement. |
COMMON ERRORS
DATA REPONSE
Field | Description |
method maintain | Maintenance payment method. |
BANK maintain | All banks in system are not available this time. |
IP not allow | Your server IP has not been whitelisted. |
Unauthorized | API KEY has expired, incorrect or not been used for a long time, need to be provided with a new API key. |
- SSPAY - TECHNOLOGY OF PAYMENT GATEWAY PLATFORM.