| 参数 | 参数名 | 必填 | 签名 | 说明 |
|---|---|---|---|---|
| merchno | 商户号 | 是 | 是 | 商户号,由平台分配 |
| orderId | 商户订单号 | 是 | 是 | 商户订单号,需唯一(只允许数字、字母、中划线、下划线的组合) |
| payType | 支付类型 | 是 | 是 | 详见支付类型说明 |
| amount | 金额 | 是 | 是 | 保留两位小数 |
| requestCurrency | 请求货币 | 是 | 是 | 详见货币说明 |
| asyncUrl | 异步通知地址 | 是 | 是 | 异步通知的请求地址 |
| syncUrl | 同步通知地址 | 是 | 是 | 同步通知的请求地址 |
| requestTime | 请求时间 | 是 | 是 | 时间格式:yyyyMMddHHmmss |
| apiVersion | 版本号 | 是 | 是 | 固定值:2 |
| attach | 备注 | 否 | 否 | 通知过程中会原样返回 ; 若不为空,需参与签名; 通道编码6:手机银行转账和通道编码3:综合支付, 传会员的真实姓名 |
| sign | 签名 | 是 | 否 | 采用MD5签名,小写 |
人民币: 1
USDT: 2
越南盾: 3
印度卢比: 4
| 银行编码 | 银行名称 | 银行编码 | 银行名称 | 银行编码 | 银行名称 |
|---|---|---|---|---|---|
| TCB | Techcombank | SACOM | Sacombank | VCB | Vietcombank |
| ACB | ACB | VTB | Vietinbank | BIDV | BIDV |
| EXIM | Eximbank | MB | MBBank | SHB | SHB |
| VPB | VPBank | VIB | VIB | MSB | MSB |
| ABB | ABBANK | BCA | Bank Central Asia | PGB | PGBank |
| BNI | Bank Negara Indonesia | BRI | Bank Rakyat Indonesia | MDR | Mandiri Bank |
| CIMB | CIMB | DAB | DongABank | TPB | TPBank |
| AGRI | Agribank | LVPB | LPBank | PVB | PVcomBank |
| SGB | SaigonBank | SEAB | SeABank | BACA | Bac A Bank |
| VCCB | VietCapitalBank | KLB | KienLongBank | NAMA | NamABank |
| CNB | Citizen National Bank | HDB | HDBank | OCB | OCB |
| SCB | SCB | VAB | VietABank | BVB | BaoVietBank |
| VB | VietBank | SHBVN | ShinhanBank | BAB | BacABank |
| NCB | NCB | LIOBANK | LioBank | CAKE | CAKE |
| MBV | Oceanbank | COOPBANK | COOPBANK | GPB | GPBank |
| CBB | CBBank | KPB | KBank | WRB | Woori |
| HSBC | HSBC | PBVN | PublicBank | VRB | VRB |
| BIDC | BIDC | TIMO | Timo |
| 参数 | 参数名 | 必填 | 签名 | 说明 |
|---|---|---|---|---|
| merchno | 商户号 | 是 | 是 | 商户号,由商户系统分配 |
| orderId | 商户订单号 | 是 | 是 | 下单时商户的订单号 |
| amount | 金额 | 是 | 是 | 保留两位小数 |
| requestCurrency | 请求货币 | 是 | 是 | 与下单请求货币一致 |
| payType | 支付类型 | 是 | 是 | 支付类型 |
| apiVersion | 版本号 | 是 | 是 | 与下单时的版本号一致 |
| status | 订单状态 | 是 | 是 | 详见订单状态说明 |
| attach | 备注 | 否 | 否 | 下单中attach值原样返回 ; 若不为空,需参与签名 |
| sign | 签名 | 是 | 否 | 采用MD5签名,小写 |
商户系统收到异步通知后,需返回 success (小写)
未支付: 0
支付成功: 2
失败: 3
| 参数 | 参数名 | 必填 | 签名 | 说明 |
|---|---|---|---|---|
| merchno | 商户号 | 是 | 是 | 商户号,由商户系统分配 |
| orderId | 商户订单号 | 是 | 是 | 商户系统订单号 |
| requestTime | 请求时间 | 是 | 是 | 请求时间,格式为 yyyyMMddHHmmss |
| apiVersion | 接口版本号 | 是 | 是 | 固定值: 2 |
| sign | 签名 | 是 | 否 | 采用MD5签名, 小写 |
| 参数 | 参数名 | 必填 | 签名 | 说明 | |||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| code | 状态码 | 是 | 否 | 状态码( 0:处理成功; 非0:处理失败 ) | |||||||||||||||||||||||||||||||||||||||||||||
| msg | 状态描述 | 是 | 否 | 状态描述 | |||||||||||||||||||||||||||||||||||||||||||||
| content | 请求时间 | 是 | 否 | 主体信息内容 | |||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||
未支付: 0
支付成功: 2
失败: 3
| 参数 | 参数名 | 必填 | 签名 | 说明 |
|---|---|---|---|---|
| merchno | 商户号 | 是 | 是 | 商户号,由商户系统分配 |
| requestCurrency | 请求货币 | 是 | 是 | 1:人民币;2:USDT;3:越南盾;4:印度卢比; |
| requestTime | 请求时间 | 是 | 是 | 请求时间,格式为 yyyyMMddHHmmss |
| apiVersion | 接口版本号 | 是 | 是 | 固定值: 2 |
| sign | 签名 | 是 | 否 | 采用MD5签名, 小写 |
| 参数 | 参数名 | 必填 | 签名 | 说明 |
|---|---|---|---|---|
| code | 状态码 | 是 | 否 | 状态码( 0:处理成功; 非0:处理失败 ) |
| msg | 状态描述 | 是 | 否 | 状态描述 |
| balance | 余额 | 是 | 否 | 余额 |
| requestCurrency | 币种 | 是 | 否 | 币种(1:人民币;2:USDT;3:越南盾;4:印度卢比) |
参数名1=参数值1 & 参数名2=参数值2 …… 参数名n=参数值n & secretKey=商家秘钥
| 参数 | 参数名 | 必填 | 签名 | 说明 |
|---|---|---|---|---|
| merchno | 商户号 | 是 | 是 | 商户号,由平台分配 |
| orderId | 商户订单号 | 是 | 是 | 商户订单号,需唯一(只允许数字、字母、中划线、下划线的组合) |
| amount | 金额 | 是 | 是 | 保留两位小数 |
| tradeType | 交易类型 | 是 | 是 | 1:对私;2:对公;(目前只支持对私交易) |
| account | 收款账户名 | 是 | 是 | 银行卡持有人名字,下发类型为2时允许为空 |
| cardNo | 银行卡号 | 是 | 是 | 银行卡号;下发类型为2时,需要填ERC-20收币地址 |
| bankName | 银行名称 | 是 | 是 | 银行名称; 下发类型为2时允许为空; 下发类型为3时请使用 越南银行编码 |
| depositBank | 开户支行 | 是 | 是 | 银行名称; 下发类型为2时允许为空; 下发类型为3时允许为空 |
| asyncUrl | 异步通知地址 | 是 | 是 | 异步通知地址 |
| timestamp | 时间戳 | 是 | 是 | 请求时间,格式为 yyyyMMddHHmmss |
| cashType | 下发类型(下发通道) | 是 | 是 | 1:人民币;2:USDT;3:越南盾;4:印度卢比 |
| requestCurrency | 请求货币 | 是 | 是 | 1:人民币;2:USDT;3:越南盾;4:印度卢比 |
| apiVersion | 接口版本号 | 是 | 是 | 固定值: 2 |
| attach | 备注 | 否 | 否 | 通知过程中会原样返回 ; 若不为空,需参与签名 |
| sign | 签名 | 是 | 否 | 采用MD5签名和RSA2加密 |
| 参数 | 参数名 | 必填 | 签名 | 说明 |
|---|---|---|---|---|
| sign | 签名 | 是 | 否 | 采用MD5签名和RSA2加密 |
| responseContent | 主体信息内容 | 是 | 否 | 主体信息内容 |
| 编码说明 | 编码值 | 编码说明 | 类型编码 | 编码说明 | 编码值 |
|---|---|---|---|---|---|
| 成功 | 0 | 系统错误 | 500 | 参数不能为空 | 550 |
| 无效参数 | 551 | 非法参数 | 552 | 不支持的参数 | 553 |
| 不存在的商户 | 560 | 商户已禁用 | 561 | 尚未初始化公钥 | 562 |
| ip受限 | 563 | 签名错误 | 564 | 订单号重复 | 565 |
| 金额小于最低限制 | 566 | 金额大于最高限制 | 567 | 交易类型不支持 | 568 |
| 通道维护 | 569 | 余额不足 | 570 | 不存在的订单 | 580 |
已受理: 0
成功: 1
失败: 2
| 银行编码 | 银行名称 | 银行编码 | 银行名称 | 银行编码 | 银行名称 |
|---|---|---|---|---|---|
| TCB | Techcom Bank | SACOM | Sacom Bank | VCB | Vietcom Bank |
| ACB | Asia Commercial Bank | VTB | Vietin Bank | BIDV | Bank for Investment and Development of Vietnam |
| EXIM | Exim Bank | MB | MB Internet Bank | SHB | Saigon Hanoi Bank |
| VPB | Vietnam Prosperity Bank | VIB | Vietnam International Bank | MSB | Vietnam Maritime Commercial Joint Stock Bank |
| ABB | An Binh Bank | BCA | Bank Central Asia | PGB | Peapack Gladstone Bank |
| BNI | Bank Negara Indonesia | BRI | Bank Rakyat Indonesia | MDR | Mandiri Bank |
| CIMB | CIMB | DAB | DongA Bank | TPB | Tien Phong Bank |
| AGRI | AGRI Bank | LVPB | Lien Viet Post Bank | PVB | PVcomBank |
| SGB | Saigon Bank | SEAB | Southeast Asia Bank | BACA | Bac A Bank |
| VCCB | VietCapitalBank | KLB | KienLongBank | NAMA | Nam A Bank |
| CNB | Citizen National Bank | HDB | Ho Chi Minh City Development Bank | OCB | Orient Commercial Bank |
| SCB | SCB | VAB | Viet A Bank | BVB | Bao Viet Bank |
| VB | Vietnam Thuong Tin Bank | SHBVN | ShinHanBank |
| 参数 | 参数名 | 必填 | 签名 | 说明 |
|---|---|---|---|---|
| timestamp | 时间戳 | 是 | 是 | 请求时间,格式为 yyyyMMddHHmmss |
| orderNo | 平台订单号 | 是 | 是 | 平台订单号 |
| merchno | 商户号 | 是 | 是 | 商户号,由商户系统分配 |
| orderId | 商户订单号 | 是 | 是 | 商户订单号 |
| amount | 金额 | 是 | 是 | 保留两位小数 |
| tradeType | 交易类型 | 是 | 是 | 1:对私;2:对公;(目前只支持对私交易) |
| account | 收款账户名 | 是 | 是 | 银行卡持有人名字 |
| cardNo | 银行卡号 | 是 | 是 | 银行卡号 |
| bankName | 银行名称 | 是 | 是 | 银行名称 |
| depositBank | 开户支行 | 是 | 是 | 银行名称 |
| cashType | 下发类型(下发通道) | 是 | 是 | 1:人民币;2:USDT;3:越南盾;4:印度卢比 |
| requestCurrency | 请求货币 | 是 | 是 | 1:人民币;2:USDT;3:越南盾;4:印度卢比 |
| apiVersion | 接口版本号 | 是 | 是 | 接口版本号 |
| attach | 备注 | 否 | 否 | 通知过程中会原样返回 ; 若不为空,需参与签名 |
| sign | 签名 | 是 | 否 | 采用MD5签名和RSA2加密 |
| status | 订单状态 | 是 | 是 | 订单状态 |
商户系统收到异步通知后,需返回 success (小写)
已受理: 0
成功: 1
失败: 2
| 参数 | 参数名 | 必填 | 签名 | 说明 |
|---|---|---|---|---|
| merchno | 商户号 | 是 | 是 | 商户号,由商户系统分配 |
| orderId | 商户订单号 | 是 | 是 | 商户系统订单号 |
| timestamp | 时间戳 | 是 | 是 | 请求时间,格式为 yyyyMMddHHmmss |
| apiVersion | 接口版本号 | 是 | 是 | 固定值: 2 |
| sign | 签名 | 是 | 否 | 采用MD5签名和RSA2加密 |
| 参数 | 参数名 | 必填 | 签名 | 说明 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sign | 签名 | 是 | 否 | 采用MD5签名和RSA2加密 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| responseContent | 主体信息内容 | 是 | 否 | 主体信息内容 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 编码说明 | 编码值 | 编码说明 | 类型编码 | 编码说明 | 编码值 |
|---|---|---|---|---|---|
| 成功 | 0 | 系统错误 | 500 | 参数不能为空 | 550 |
| 无效参数 | 551 | 非法参数 | 552 | 不支持的参数 | 553 |
| 不存在的商户 | 560 | 商户已禁用 | 561 | 尚未初始化公钥 | 562 |
| ip受限 | 563 | 签名错误 | 564 | 订单号重复 | 565 |
| 金额小于最低限制 | 566 | 金额大于最高限制 | 567 | 交易类型不支持 | 568 |
| 通道维护 | 569 | 余额不足 | 570 | 不存在的订单 | 580 |
已受理: 0
成功: 1
失败: 2
md5Sign = MD5(参数名1=参数值1&参数名2=参数值2…….参数名n=参数值n&secretKey=商户秘钥).toLowerCase();
sign = RSA2.sign(md5Sign, merchantPrivateKey );
注意:参数sign的值需要 urlencode ,否则会出现验签异常
isVerify = RSA2.verify(md5Sign, sign, platformPublicKey);