公用描述


签名加解密 签名加解密

加密方式
请求使用到了MD5 加密算法,主要是为了防止中途被篡改数据。 (下单或查询)
签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合 M,将集合 M 内非空参数值的参数按照参 数名 ASCII 码从小到大排序(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2…)拼接成字符串 stringA。特别注意以下重要规则:

◆ 参数名 ASCII 码从小到大排序(字典序);
◆ 如果参数的值为空不参与签名;
◆ 参数名区分大小写;
◆ 验证调用返回或主动通知签名时,传送的 sign 参数不参与签名,将生成的签名与该 sign 值作校验。

MD5方式:第二步,在 stringA 最后拼接上 key 得到 stringSignTemp 字符串,并对 stringSignTemp 进 行 MD5 运算,再将得到的字符串所有字符转换为大写,得到 sign 值 signValue。
RSA方式:第二步,对 stringA 进 行 MD5 运算,然后通过私钥进行 RSA 签名得到 sign 值 signValue。
示例值
假设传送的参数如下:
mch_id:10000000
subject: goods
detail: detail info
nonce: wmg9sL00qFEPdk6M
第一步:对参数按照 key=value 的格式,并按照参数名 ASCII 字典序排序如下: stringA="detail=detail info&mch_id=10000000&nonce=wmg9sL00qFEPdk6M&subject=goods

MD5 签名方式,第二步:拼接 API 密钥: stringSignTemp=stringA+"&key=sWlINU9hyWZvdcDZPnyIhVCRdmgRDqmw"

注:key为商 户平台设置的接口密钥 api_key
sign=MD5(stringSignTemp).toUpperCase()="D0F7DBB5574FB2C64AE5ABCA66950A3D"//MD5 签名方式

第二步:使用商户私钥进行RSA签名
注:privateKey为商户平台填写的公钥对应私钥
const jsrsasign = require('jsrsasign');
const sig = new jsrsasign.KJUR.crypto.Signature({alg: "SHA256withRSA"});
let signMd5 = CryptoJS.MD5(stringSignTemp).toString()
sig.init(jsrsasign.KEYUTIL.getKey(privateKey));
sig.updateString(signMd5);
// 生成签名并以 Base64 格式输出
const sigValueHex = sig.sign();
const base64Signature = jsrsasign.hextob64(sigValueHex);//RSA 签名方式
正文
密钥请登陆商户后台获取。
签名解密
RSA 验签明文拼接字符串stringA 的值
示例值
第一步:拼接字符串: StringA = mch_id=1525399982&nonce=72c73310646147d2ba385eee40e7e729&pay_url=HTTPS:// QR.ALIPAY.COM/FKX09161NK1RJUSZQBAU98?t=1531223954449&trade_type=ALIH5

MD5 签名方式:第二步:MD5 加密: plaintext = MD5(StringA+"&key="+key) = dc4da653b2c751852bfa71a1e0878d3c

RSA 签名方式:第二步:RSA2 验签 RSA2.verify(MD5(StringA), sign, publickKey)
注:publickKey为商户平台生成的公钥
MD5类型验签请直接将 响应参数 按照MD5签名生成方式生成签名后,与响应参数中得sign字段进行比对即可
正文
密钥请登陆商户后台获取。

支付接口


下单描述信息
Headers
content-type:application/x-www-form-urlencoded OR content-type:application/application/json
参数
名称 类型 必须 示例值 描述
mch_id String(32) 1234567890 平台分配的商户号
trade_type string(10) ALIH5 交易类型-看下面编号
currency string(10) rmb 货币编号-看下面支持的货币类型
nonce string(32) 7VS264I5K8502SI8Z
NMTM6LTKCH16CQ2
随机字符串
user_id string(32) 用户ID
timestamp string 1524822584 时间戳
subject String(200) subject 订单名称
detail String(500) detail 商品详情
out_trade_no string(32) 20150806125346 商户系统内部的订单号,32 个字符内
total_fee float 100.00 总金额,小数点最多保留2位
spbill_create_ip string 123.12.12.123 终端IP
timeout string 1 过期时长
notify_url string 异步地址
return_url string 返回地址
attach string(150) 异步通知时原样返回
sign_type string MD5 签名类型,目前支持RSA和 MD5,建议使用RSA签名
sign string D0F7DBB5574FB2C64
AE5ABCA66950A3D
签名信息
version string(10) 1.0.0 版本
正文
所有非空值字段均参与签名, 0也要参与签名
支付类型(trade_type)编号
编号 支付类型
PIX PIX
银行编码(issuer_id)
银行编码 银行名称
TCB TECHCOMBANK (TCB)
货币类型(currency)编号
货币类型 货币名称
brl 巴西雷亚尔
                                                {
                                                    'result_code':'SUCCESS',
                                                    'result_msg':'message',
                                                    'mch_id':'5221518459409',
                                                    'trade_status': 0,//version = 1.0.1  时返回
                                                    'platform_trade_no': 1539860740682,
                                                    'nonce':'2SI8ZNMTM6L',
                                                    'pay_url':'https://pay.alipay.com/afetaasd',
                                                    'qrcode':'',
                                                    'jump':'',
                                                    'sign_type':'MD5',
                                                    'sign':'D0F7DBB5574FB2C64AE5ABCA66950A3D'
                                                }
                                            
备注
支付查询描述信息
Headers
content-type:application/x-www-form-urlencoded
参数
名称 类型 必须 描述
mch_id string 平台分配的商户号
out_trade_no string 可选 商户订单号
trade_no string 可选 平台订单号
sign string 签名信息
sign_type string 签名类型,目前支持RSA和 MD5,建议使用RSA签名
version string(10) 版本,1.0.0
正文
返回参数
名称 类型 描述
result_code string 返回状态,SUCCESS 成功 FAIL 失败
result_msg string 成功
mch_id number(15) 平台分配的商户号
currency string 货币类型
wallet string(10) 钱包
trade_no number(20) 平台订单号
out_trade_no string 商户代付单号(原样返回)
timestamp number(10) 时间戳
evidence string 交易支付凭证
eid String(200) 代收EID,version = 1.0.1才会显示
total_fee float 总金额,
pay_total_fee float 实际支付金额,
trade_status number(2) 1:成功,4:客服补单成功。别的都是失败
trade_type string
pay_time string 20250720232711,相应国家的时间
nonce string 随机字符串
attach string(150) 原样返回如果有的时候需要加入签名,没有传的时候不会返回,version = 1.0.1才会显示
sign_type string 签名类型,如果有的时候需要加入签名
sign string 签名信息
                                                {
                                                    "result_code": "SUCCESS",
                                                    "result_msg": "返回成功",
                                                    "mch_id": 6076120406304,
                                                    "trade_type": "PIX",
                                                    "nonce": "006cd29afa3099bc2f017635cf6b17c7",
                                                    "timestamp": 1753066070,
                                                    "out_trade_no": "186158452035992471",
                                                    "total_fee": 20,
                                                    "trade_no": "",
                                                    "platform_trade_no": 1746874155232459,
                                                    "pay_time": "20250720232711",
                                                    "trade_status": 1,
                                                    "currency": "brl",
                                                    "sign_type": "MD5",
                                                    "eid": "E18236120202507210227s182b34841c",
                                                    "sign": "B9AF092049E3374D1D483BDB9DFA21A2"
                                                }
                                            
备注
trade_status 订单状态,0:待支付,1:成功,2:失败, 4:补单成功 result_code,result_msg 不加入签名
异步通知描述信息,商户成功返回字符串 大写 SUCCESS
Headers
content-type:application/x-www-form-urlencoded
参数
名称 类型 必须 描述
result_code string 返回状态,SUCCESS 成功 FAIL 失败
result_msg string 成功
mch_id string 平台分配的商户号
trade_type string 支付类型
currency string 货币类型
pay_total_fee String(11) 可选 实际支付金额,请求下单的时候,version = 1.0.1才会返回
trade_status int(1) 可选 订单状态,0:待支付,1:成功,2:失败, 4:补单成功,请求下单的时候,version = 1.0.1才会返回
payee_name String(11) 可选 付款人姓名,请求下单的时候,version = 1.0.1才会返回
payee_document String(11) 可选 付款人CPF/CNPJ,请求下单的时候,version = 1.0.1才会返回
out_trade_no string 商户订单号(原样返回)
total_fee float 总金额,
platform_trade_no string 平台订单号
trade_no string Platform serial number
nonce string 随机字符串
pay_time string 支付时间
timestamp string 时间戳
attach string 原样返回如果有的时候需要加入签名,没有传的时候不会返回
sign_type string 签名类型,如果有的时候需要加入签名
sign string 签名信息
正文
支付成功才会有异步回调

代付接口


参数描述信息
请求未响应或超时,务必先查单或联系客服,不要重复提交造成损失。
Headers
content-type:application/x-www-form-urlencoded
参数
名称 类型 必须 示例值 描述
mch_id String(32) 1234567890 平台分配的商户号
wallet string(10) A A
currency string(10) rmb 货币编号-看下面支持的货币类型
nonce string(32) 7VS264I5K8502SI8Z
NMTM6LTKCH16CQ2
随机字符串
timestamp string 1524822584 时间戳
bank_name String(200) xzxxxx dxxc 银行卡姓名
bank_no String(200) 123456 银行账号
card_type String(200) CPF 卡类型 PIX(CPF/CNPJ/PHONE/EMAIL/EVP),TED(CC/CP),BANK(CHECKING/SAVINGS)
bank_code String(500) PIX 银行编码-看下面编号
province String(200) 22222222222 CPF Code
city String(500) BANK必填 6123456789 银行账号确认码
branch String(500) TED/BANK必填 xxxxxxxxx 支行号码
out_trade_no string(32) 20150806125346 商户订单号
total_fee float 100.00 总金额,小数点最多保留2位
notify_url string 可选 异步地址
sign string D0F7DBB5574FB2C64
AE5ABCA66950A3D
签名信息
attach string(150) sss 原样返回如果有的时候需要加入签名,没有传的时候不会返回
sign_type string MD5 签名类型,目前支持RSA和 MD5,建议使用RSA签名
version string(10) 1.0.0 版本,1.0.0
正文
所有非空值字段均参与签名, 0也要参与签名
货币类型(currency)编号
货币类型 货币名称
brl 巴西雷亚尔
银行编码(bank_code)编号
编号 名称 卡类型(card_type) 货币
PIX PIX PIX(CPF/CNPJ/PHONE/EMAIL/EVP) brl
TED TED TED(CC/CP) brl
PICPAY PICPAY brl
BANK BANK BANK(CHECKING/SAVINGS) brl
USDT USDT brl
                                                {
                                                    "result_code": "SUCCESS",
                                                    "result_msg": "提交成功",
                                                    "mch_id": "6076120406304",
                                                    "trade_no": "2926736325558566",
                                                    'trade_status': 0,//version = 1.0.1 时返回
                                                    "nonce": "e82be4957f27c6c75159a040dd834990",
                                                    "out_trade_no": "2bfcc80c-2849-46a9-bf73-a3d6eb733ffa",
                                                    "timestamp": 1731644245,
                                                    "sign": "7DA9C68DCE3AE94327A7D1CDE852B2AA"
                                                }
                                            
备注
代付查询描述信息
Headers
content-type:application/x-www-form-urlencoded
参数
名称 类型 必须 描述
mch_id string 平台分配的商户号
out_trade_no string 可选 商户订单号
trade_no string 可选 平台订单号
timestamp string 时间戳
sign string 签名信息
sign_type string 签名类型,目前支持RSA和 MD5,建议使用RSA签名
version string(10) 版本,1.0.0
正文
content-type:application/x-www-form-urlencoded
返回参数
名称 类型 描述
result_code string 返回状态,SUCCESS 成功 FAIL 失败
result_msg string 成功
mch_id string 平台分配的商户号
currency string 货币类型
wallet string(10) 钱包
trade_no number(20) 平台订单号
out_trade_no string 商户代付单号(原样返回)
timestamp number(10) 时间戳
evidence string 交易支付凭证
eid String(200) 代付EID,version = 1.0.1才会显示
recipient String(200) recipient,version = 1.0.1才会显示
instituicao String(200) 银行名称,version = 1.0.1才会显示
ispb String(200) ispb,version = 1.0.1才会显示
attach string 可用余额
total_fee float 总金额,
actual_money float 总金额,
trade_status number(2) 订单状态,0:待处理,1:代付成功,2:代付失败, 3:渠道处理中, 11:全额退款,12:部分退款
bank_code string
present number(10)
nonce string 随机字符串
attach string(150) 原样返回如果有的时候需要加入签名,没有传的时候不会返回
sign_type string 签名类型,目前支持RSA和 MD5,建议使用RSA签名,version = 1.0.1才会显示
sign string 签名信息
refund_list array 退款列表(version = 1.0.1。而且trade_status == 11 或 12,才会显示)
名称 类型 描述
refund_id string 退款ID
refund_amount float(10) 退款金额
refund_time string 2025-07-24 10:20:30,退款时间
refund_msg string 退款备注
                                                SUCCESS Sample Response:
                                                {
                                                    "result_code": "SUCCESS",
                                                    "result_msg": "代付成功",
                                                    "mch_id": "6076120406304",
                                                    "trade_no": 2486874120333527,
                                                    "nonce": "0f27de192c19dcb14645a4db8dfcdb0e",
                                                    "out_trade_no": "185158245036069818",
                                                    "timestamp": 1753027269,
                                                    "total_fee": 10,
                                                    "actual_money": 10,
                                                    "bank_code": "PIX",
                                                    "currency": "brl",
                                                    "wallet": "A",
                                                    "evidence": "https://xxxxx/receipt/2/2486874120333527",
                                                    "attach": "",
                                                    "present": 0,
                                                    "eid": "E3571349120250720155813282b9a7b0",
                                                    "trade_status": 1,
                                                    "sign": "91364C16E4329DA8929F4F9C5F9C64B0"
                                                }
                                                Error Sample Response:
                                                {
                                                    "result_code": "SUCCESS",
                                                    "result_msg": "REJECTED - CONTA NÃO AUTORIZADA PARA PAGAMENTOS ATRAVÉS DO PIX PARA PESSOA JURÍDICA.",
                                                    "mch_id": "6076120406304",
                                                    "trade_no": 2026874980042344,
                                                    "nonce": "320633b309d3feb674e123dc7d7bef12",
                                                    "out_trade_no": "186063654770570821",
                                                    "timestamp": 1753065296,
                                                    "total_fee": 15,
                                                    "actual_money": 0,
                                                    "bank_code": "PIX",
                                                    "currency": "brl",
                                                    "wallet": "A",
                                                    "evidence": "",
                                                    "attach": "",
                                                    "present": 0,
                                                    "eid": "",
                                                    "trade_status": 2,
                                                    "sign": "577D2F8DED97484F89B427043384F875"
                                                }
                                                Refund Sample Response:
                                                {
                                                    "result_code": "SUCCESS",
                                                    "result_msg": "代付成功",
                                                    "mch_id": "6076120406304",
                                                    "trade_no": 2486874120333527,
                                                    "nonce": "0f27de192c19dcb14645a4db8dfcdb0e",
                                                    "out_trade_no": "185158245036069818",
                                                    "timestamp": 1753027269,
                                                    "total_fee": 10,
                                                    "actual_money": 10,
                                                    "bank_code": "PIX",
                                                    "currency": "brl",
                                                    "wallet": "A",
                                                    "evidence": "https://xxxxx/receipt/2/2486874120333527",
                                                    "attach": "",
                                                    "present": 0,
                                                    "eid": "E3571349120250720155813282b9a7b0",
                                                    "trade_status": 11,
                                                    "sign": "91364C16E4329DA8929F4F9C5F9C64B0",
                                                    "refund_list": [
                                                        {
                                                            "refund_id": "3486874120333527",
                                                            "refund_amount": 10,
                                                            "refund_time": "2025-07-24 10:20:30",
                                                            "refund_msg": "全额退款"
                                                        }
                                                    ]
                                                }
                                            
备注
trade_status 代付状态,0:待处理,1:代付成功,2:代付失败 3:通道处理中 4:渠道处理失败
异步通知描述信息,商户成功返回字符串 大写 SUCCESS
URL解码下
Headers
content-type:application/x-www-form-urlencoded
参数
名称 类型 必须 描述
result_code string 返回状态,SUCCESS 成功 FAIL 失败
result_msg string 成功
mch_id string 平台分配的商户号
bank_code string 银行编码
actual_money float 实际到账金额,小数点最多保留2位
wallet string(10) 钱包
present float 手续费
currency float 货币类型
out_trade_no string 商户代付单号(原样返回)
total_fee float 总金额,
trade_no string 平台订单号
nonce string 随机字符串
timestamp string 时间戳
attach string(150) 原样返回如果有的时候需要加入签名,没有传的时候不会返回
trade_status string 代付状态,1:代付成功,2:代付失败
sign_type string 签名类型,目前支持RSA和 MD5,建议使用RSA签名
sign string 签名信息
正文
最终成功或失败才会有异步回调
退款异步通知描述信息,商户成功返回字符串 大写 SUCCESS
URL解码下
Headers
content-type:application/x-www-form-urlencoded
参数
名称 类型 必须 描述
result_code string 返回状态,SUCCESS 成功 FAIL 失败
result_msg string 成功
mch_id string 平台分配的商户号
bank_code string 银行编码
actual_money float 实际到账金额,小数点最多保留2位
wallet string(10) 钱包
present float 手续费
currency float 货币类型
out_trade_no string 商户代付单号(原样返回)
total_fee float 总金额,
trade_no string 平台订单号
nonce string 随机字符串
timestamp string 时间戳
attach string(150) 原样返回如果有的时候需要加入签名,没有传的时候不会返回
trade_status string 11:全额退款,12:部分退款
sign_type string 签名类型,目前支持RSA和 MD5,建议使用RSA签名
sign string 签名信息
正文
请在商户后台商户信息开启代付退款回调,有开启才会推送,如果没有设置代付退款回调链接,会回调到代付请求的notify_url链接。
余额查询参数描述信息
Headers
content-type:application/x-www-form-urlencoded
参数
名称 类型 必须 描述
mch_id string 平台分配的商户号
currency string(10) 货币类型 -看下面编号
timestamp string 时间戳
sign string 签名信息
sign_type string 签名类型,目前支持RSA和 MD5,建议使用RSA签名
正文
返回参数
名称 类型 描述
result_code string 返回状态,SUCCESS 成功 FAIL 失败
result_msg string 成功
mch_id string 平台分配的商户号
currency string 货币类型
wallet string(10) 钱包
account_balance float 总余额,小数点最多保留4位
available_balance float 可用余额,小数点最多保留4位
unavailable_balance float 提现中的金额,小数点最多保留4位
frozen_presented float 冻结的金额,小数点最多保留4位
nonce string 随机字符串
sign_type string 签名类型,目前支持RSA和 MD5,建议使用RSA签名
sign string 签名信息
                                                {
                                                    'result_code':'SUCCESS',
                                                    'result_msg':'Message',
                                                    'currency':'rmb',
                                                    'mch_id':'5221518459409',
                                                    'account_balance':22222,
                                                    'available_balance': 3333,
                                                    'unavailable_balance': 0,
                                                    'nonce':'2SI8ZNMTM6L',
                                                    'sign':'D0F7DBB5574FB2C64AE5ABCA66950A3D'
                                                }
                                            
备注