Skip to content

报文结构

商户联调参数信息

参数来源说明
商户 keyId平台生成,下发给商户请求 Header 中的 merchantKeyId
商户编号 merchantId平台生成,下发给商户请求 Body 中的 merchantId
加密/解密 aesKey平台生成,下发给商户用于对 Body 进行 AES 加密/解密
商户报文验签公钥平台生成,下发给商户商户用于验证平台响应报文的签名
商户签名私钥商户生成,商户保留商户用于对请求 Body 进行 RSA 签名
平台验签公钥商户生成,上传至平台平台用于验证商户请求报文的签名
商户订单结果回调地址商户提供,上传至平台平台将异步通知推送至该地址
商户名称入网 KYC 时填写在收银台展示,存在二级商户时优先展示二级商户名称
商户 logo商户提供,上传至平台在收银台展示,存在二级商户时优先展示二级商户 Logo;图片格式 png/jpg,正方形,建议尺寸 120×120

请求方式

所有接口均通过 HTTPS POST 发送,请求地址格式如下:

POST https://api-dev.gccpay.cn/{接口路径}
Content-Type: application/json

固定 Header 参数

每个请求的 HTTP Header 中必须包含以下字段:

参数名必选类型说明
merchantKeyIdString商户 keyId
versionString接口版本号,固定值:1.0
timeStampString当前时间戳(秒级 Unix 时间戳)
signatureString使用商户 RSA 私钥对请求 Body 密文进行签名后的签名串
content-languageString接口响应语言:
en-US(英语)
ar-SA(阿拉伯语)

请求报文结构

Body 加密说明

请求 Body 需先进行 AES 加密,再将密文作为 aesBuffer 字段的值发送;签名基于加密后的密文生成。

请求流程:
Body 明文 → AES 加密 → aesBuffer 密文 → RSA 私钥签名 → 填入 Header signature

请求报文格式

http
POST https://api-dev.gccpay.cn/{接口路径}
Content-Type: application/json
merchantKeyId: {商户 keyId}
version: 1.0
timeStamp: {秒级时间戳}
signature: {RSA 私钥对 Body 密文的签名}
content-language: en-US

{
  "aesBuffer": "{Body 明文经 AES 加密后的密文}"
}
  • 示例:Body 明文(加密前)
json
{
  "merchantId": "MER16951291",
  "merRefundOrderId": "255456464654564564484",
  "origOrderId": "TRD2025011015332312345",
  "origMerOrderId": "1735205288911",
  "refundAmt": "20.00",
  "refundCurrency": "SAR",
  "refundDesc": "refund"
}
  • 示例:完整请求报文(加密后)
http
POST https://api-dev.gccpay.cn/pay/merchant/{接口名称}
Content-Type: application/json
merchantKeyId: 2471faa3d8654b80b61ca59904443491
version: 1.0
timeStamp: 1739268579
signature: 根据请求 Body 密文使用商户 RSA 私钥签名
content-language: en-US

{
  "aesBuffer": "UQVkTVKLnyMjM+oOFNKHb6o35qGhtfdASHN/Das9sgKVOssicSbu/CioIDch46T1..."
}

响应报文结构

响应格式说明

所有接口响应的顶层结构固定如下,data 字段为 AES 加密后的密文:

json
{
  "code": 10000,
  "message": "success",
  "data": "{data 内所有字段经 AES 加密后的密文}"
}

验证签名后,使用 AES 密钥对 data 字段解密,即可获得业务数据。

  • 示例:响应报文(data 为密文)
json
{
  "code": 10000,
  "message": "success",
  "data": "plavp+E0T+yZd+EN7CyIw8D3rS41Foa/36n6IAStC8MTBQ7XvbYoh+WOD7EZGC6H..."
}
  • 示例:data 解密后明文
json
{
  "merchantId": "MER00000001",
  "orderId": "ORD20241213154012000995",
  "merOrderId": "202412131543011234578",
  "subMerId": "",
  "orderType": "online_payin",
  "paymentType": "applepay,stcpay,cardpay",
  "paymentUrl": "https://api-dev.gccpay.cn/order=ORD20241213154012000995",
  "orderStatus": "pending"
}