Skip to main content

协议规则

响应格式

成功示例

失败示例

参数规定

商户订单号

商户支付的订单号由商户自定义生成,仅支持使用字母、数字、中划线-、下划线_这些英文半角字符的组合,请勿使用汉字或全角等特殊字符,限定长度在 100 个字符内。GatePay 要求商户订单号保持唯一性(建议根据当前系统时间加随机序列来生成订单号)。重新发起一笔支付要使用原订单号,避免重复支付。

交易金额

所有金额参数都采用字符串传输,精度精确到小数点后 6 位,单笔交易金额最小单位为 0.0001,最大为 5000000,个人收款码最大金额为 10000

币种类型

GatePay 支持的币种请参考支持币种章节。

时间

所有时间字段,如果没有额外说明,格式都是毫秒级的 Unix 时间戳。

请求头

机构 API 的请求头规范请参见 机构公共头信息

签名

签名规范

构造签名串 我们希望商户的技术开发人员按照当前文档约定的规则构造签名串。GatePay 会使用同样的方式构造签名串。如果商户构造签名串的方式错误,将导致签名验证不通过。下面先说明签名串的具体格式。 每一行为一个参数。行尾以 \n(换行符,ASCII编码值为0x0A)结束。如果参数本身以 \n 结束,也需要附加一个 \n 请求时间戳\n请求随机串\n请求报文主体\n

签名算法

Go 语言
Java 语言
Python 语言
PHP 语言

支付回调处理

回调描述

Gate Pay 会通过 POST 的方式向回调地址发送回调报文,回调通知的请求主体中会包含 JSON 格式的通知参数,具体的通知参数列表如下:

回调验签与应答

商户接收到回调通知报文后,需完成对报文的验签,并应答回调通知。 商户验签后响应字段如下: 响应 JSON 格式:

回调处理步骤

对回调进行验签步骤: 回调报文的 HTTP 请求头中会包含报文的签名信息,用于验签,具体如下: 验签需使用请求头中的 X-GatePay-TimestampX-GatePay-Nonce 以及请求主体中 JSON 格式的通知参数构建出验签串(验签计算参考签名算法章节),然后使用商户支付密钥计算出验签再跟 X-GatePay-Signature 值进行比较是否相等,确保接收的回调内容是来自 Gate Pay。

签名验证工具

商户的技术开发人员可使用该工具来排查签名验证不通过的原因。 签名验证工具