AllPay_Integration_Specification_CH.md 59 KB

GoAllPay在线支付接入规范文档V5.2.3

GoAllPay

  • 版本信息:中文 V5.2.3
  • 更新时间:2022 年 11 月

目录

1. 概述

GoAllPay 为客户提供统一的API接入,以帮助客户实现快速、安全、集中式的接入支付渠道。

2. API说明

2.1 交易流程

image

2.2 签名规则

1. 将所有传入参数(除 signature 参数外)按照参数名的 ASCII 码从小到大排序后(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2...)拼接成字符串 string1。

2. 在 string1 最后直接拼接(不需要用“&”连接)双方约定的签名密钥 Key(接入 GoAllPay 时分配),得到 stringSignTemp 字符串,并对 stringSignTemp 进行加密运算(加密算法以参数signType值为准),得到 signature 的值。

3. 签名示例:
string1: OsType=IOS&OsVersion=&acqID=99020344&backURL=https://testapi.allpayx.com/test&charSet=UTF-8&detailInfo=W3siZ29vZHNfbmFtZSI6ICJhcHBsZSIsICJxdWFudGl0eSI6ICIyIn1d&frontURL=http://example.com&goodsInfo=apple&logisticsStreet=上海市浦东新区xx路xx号xxx室&merID=merchant_id&merReserve=&orderAmount=1&orderCurrency=CNY&orderNum=20220620171733&paymentSchema=UP&signType=SHA256&tradeFrom=H5&transTime=20220620171733&transType=PURC&userID=user01&userIP=114.91.1.243&version=VER000000005
stringSignTemp: OsType=IOS&OsVersion=&acqID=99020344&backURL=https://testapi.allpayx.com/test&charSet=UTF-8&detailInfo=W3siZ29vZHNfbmFtZSI6ICJhcHBsZSIsICJxdWFudGl0eSI6ICIyIn1d&frontURL=http://example.com&goodsInfo=apple&logisticsStreet=上海市浦东新区xx路xx号xxx室&merID=merchant_id&merReserve=&orderAmount=1&orderCurrency=CNY&orderNum=20220620171733&paymentSchema=UP&signType=SHA256&tradeFrom=H5&transTime=20220620171733&transType=PURC&userID=user01&userIP=114.91.1.243&version=VER000000005key
signature: 40f1e5adebba58cc7822dac0b3a2bfebb6676e245370be027cdfb952695bee29

2.3 通用说明

请求方式:POST
数据格式:JSON
测试主机:https://testapi.allpayx.com
生产主机:https://api.allpayx.com

3. 线上支付API

3.1 支付接口

1. 接口说明

该接口为接入商家提供消费购买的功能。

2. 请求路径

/api/createorder

3. 请求参数

由通用参数和渠道专属参数组成,凡是上送参数都需参与签名。

渠道专属参数: 点击查看

通用参数:

参数 类型 必填 描述
paymentSchema String(10) 渠道ID:点击查看详情
version String(12) 统一填写为“VER000000005”
charSet String(6) 统一填写为“UTF-8”
transType String(10) 消费交易填写“PURC”
orderNum String(60) 订单号:商户自行定义,需保证同一商户号下订单号不能重复
orderAmount String(12) 订单金额:如 100 元,表示为 100 或 100.00
orderCurrency String(3) 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD"
frontURL String(400) 支付完成后前端跳转到该URL。GET请求,参数详见3.3 支付结果通知(回调)
backURL String(400) 支付结果异步通知到该URL。支付成功后,GoAllPay 会以 POST JSON 方式调用 backURL 通知支付结果(详见3.3 支付结果通知(回调))。商户在接收到通知后,需响应字符串“OK”。
如果没有收到商户响应“OK”,GoAllPay将会过一段时间后重新推送,时间间隔为[15, 15, 15, 30, 180, 1800, 3600, 7200, 14400],单位为秒。
merID String(15) 商户 ID,由 GoAllPay 分配
acqID String(11) 收单行 ID,统一填写为"99020344"
goodsInfo String(60) 商品信息。注意不要包含特殊符号,如 "#","&","+" 等
detailInfo String(400) 商品明细。
格式:[{"goods_name":"iPhone X","quantity":"2"},{"goods_name":"iPhone 8","quantity":"4"}],需Base64编码后上送。注意goods_name不要包含特殊符号,如 "#","&","+" 等
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
merReserve String(1024) 预留内容,商户自定义。注意不要包含特殊符号,如 "#","&","+" 等
signType String(10) SHA256
signature String(32) 签名
OsType String(20) 用户操作系统类型。
"IOS","ANDROID","HARMONYOS","WINDOWS","MAC","OTHER" 选其中一个上送
OsVersion String(20) 用户操作系统版本。示例:"10.0.19043"
userIP String(20) 用户IP
userID String(20) 用户在商家的唯一ID
logisticsStreet String(200) 收货地址。若为虚拟物品,填写用户邮箱地址

4. 响应参数

参数 类型 必填 描述
RespCode String(2) 应答码,00表示请求成功
RespMsg String(256) 应答信息
merID String(15) 商户ID
orderNum String(60) 订单号
transID String(32) GoAllPay流水号
parameter Object 支付相关参数。RespCode为00且非后台支付模式时返回,返回值详见渠道专属参数

3.2 收银台支付接口

1. 接口说明

该接口为接入商家提供WEB收银台界面支付功能,目前主要支持国际信用卡。该接口对不同品牌国际卡支付和3DS功能进行了统一的封装,提高了商家接入支付的效率和体验。

2. 请求路径

/api/createcashier

3. 请求参数

参数 类型 必填 描述
paymentSchema String(10) "FC"
version String(12) 统一填写为“VER000000005”
charSet String(6) 统一填写为“UTF-8”
transType String(10) 消费交易填写“PURC”
orderNum String(60) 订单号:商户自行定义,需保证同一商户号下订单号不能重复
orderAmount String(12) 订单金额:如 100 元,表示为 100 或 100.00
orderCurrency String(3) 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD"
frontURL String(400) 支付完成后前端跳转到该URL。GET请求,参数详见3.3 支付结果通知(回调)
backURL String(400) 支付结果异步通知到该URL。支付成功后,GoAllPay 会以 POST JSON 方式调用 backURL 通知支付结果(详见3.3 支付结果通知(回调))。商户在接收到通知后,需响应字符串“OK”。
如果没有收到商户响应“OK”,GoAllPay将会过一段时间后重新推送,时间间隔为[15, 15, 15, 30, 180, 1800, 3600, 7200, 14400],单位为秒。
merID String(15) 商户 ID,由 GoAllPay 分配
acqID String(11) 收单行 ID,统一填写为"99020344"
goodsInfo String(60) 商品信息。注意不要包含特殊符号,如 "#","&","+" 等
detailInfo String(400) 商品明细。格式:[{"goods_name":"iPhone X","quantity":"2"},{"goods_name":"iPhone 8","quantity":"4"}],需Base64编码后上送。注意goods_name不要包含特殊符号,如 "#","&","+" 等
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
merReserve String(1024) 预留内容,商户自定义。注意不要包含特殊符号,如 "#","&","+" 等
signType String(10) SHA256
signature String(32) 签名
tradeFrom String 交易场景,统一填写为"H5"
OsType String(20) 操作系统类型。"IOS","ANDROID","HARMONYOS","WINDOWS","MAC","OTHER" 选其中一个上送
OsVersion String(20) 操作系统版本。示例:"10.0.19043"
tokenFlag String(10) 是否同时返回签约支付token的标识,需要返回时,填写:"true",该功能需要单独审批开通。
tokenBackURL String(400) 签约支付token的异步通知URL,当tokenFlag为"true"时,必须填写
userIP String(20) 用户IP
userID String(20) 用户在商家的唯一ID

订单物流信息,部分渠道的国际卡支付方式要求上送,具体与支持人员沟通。

参数 类型 必填 描述
logisticsCountry String(2) 物流国家/地区,2位国家码,如:US
logisticsState String 物流州/省/邦,2位编码,如:CA
logisticsCity String 物流城市
logisticsStreet String 物流地址
logisticsPostalCode String 物流邮编
logisticsEmail String 物流邮箱
logisticsPhone String 物流电话
logisticsHouseNo String 物流门牌号或名称

4. 响应参数

参数 类型 必填 描述
RespCode String(2) 应答码,00表示请求成功
RespMsg String(256) 应答信息
merID String(15) 商户ID
orderNum String(60) 订单号
transID String(32) GoAllPay流水号
parameter Object 支付相关参数。RespCode为00时返回,值为payUrl

3.3 支付结果通知-回调

1. 接口说明

商家调用支付接口、收银台支付接口、后台支付接口、预授权接口,结果将通过该接口返回到交易的 backURL 位置。

2. 请求路径

商户支付接口中的 backURL 参数指定的路径。

3. 请求参数

参数 类型 必填 描述
version String(12) “VER000000005”
charSet String(6) “UTF-8”
transType String(10) 支付:“PURC”;预授权:“PAUT”
orderNum String(60) 订单号
orderAmount String(12) 订单金额
orderCurrency String(3) 订单币种
merID String(15) 商户 ID
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
transID String(32) GoAllPay流水号
GWTime String(14) yyyyMMddHHmmss,为 GW 时间
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
merReserve String(1024) 商户预留内容
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

字符串OK

3.4 查询接口

1. 接口说明

该接口为接入商家提供订单查询的功能。

2. 请求路径

/api/orderquery

3. 请求参数

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
charSet String(6) 统一填写为“UTF-8”
transType String(10) 查询填写“INQY”
orderNum String(60) 订单号
merID String(15) 商户 ID,由 GoAllPay 分配
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID:点击这里
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
version String(12) “VER000000005”
charSet String(6) “UTF-8”
transType String(10) 交易类型
orderNum String(60) 订单号
transID String(32) GoAllPay流水号
merID String(15) 商户 ID
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
GWTime String(14) yyyyMMddHHmmss,为 GW 时间,目前为本地交易时间
signType String(10) SHA256
signature String(32) 签名

3.5 退款接口

1. 接口功能说明

该接口为接入商家提供交易退款的功能。

(1)接口补充说明

  • 该接口在消费交易成功后发起,要求指定原订单号
  • 外卡交易当日不能做退款,可以做撤销,只能隔日退款
  • 正常情况下,商户当日退款金额,不得大于当日成功交易额

(2)接口交易流程

2. 请求路径

/api/refund

3. 请求参数

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
charSet String(6) 统一填写为“UTF-8”
transType String(10) 退款填写“REFD”
orderNum String(60) 退款订单号:商户自行定义,需保证同一商户号下退款订单号不能重复
origOrderNum String(60) 原支付订单号
returnAmount String(12) 退款金额:如 100 元,表示为 100 或 100.00
orderCurrency String(3) 订单币种:ISO标准 如:人民币填写“CNY”,美元填写"USD"
merID String(15) 商户 ID,由 GoAllPay 分配
paymentSchema String(10) 渠道ID:点击这里
acqID String(11) 收单行 ID "99020344"
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名
backURL String(400) 退款结果异步通知到该URL。退款成功后,GoAllPay 会以 POST JSON 方式调用 backURL 通知退款结果(详见退款结果通知-回调)。商户在接收到通知后,需响应字符串“OK”。
如果没有收到商户响应“OK”,GoAllPay将会过一段时间后重新推送,时间间隔为[15, 15, 15, 30, 180, 1800, 3600, 7200, 14400],单位为秒。

4. 响应参数

参数 类型 必填 描述
version String(12) “VER000000005”
charSet String(6) “UTF-8”
transType String(10) “REFD”
orderNum String(60) 退款订单号
transID String(32) GoAllPay流水号
merID String(15) 商户 ID
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
GWTime String(14) yyyyMMddHHmmss,为 GW 时间,目前为本地交易时间
signType String(10) SHA256
signature String(32) 签名

5. 退款结果通知-回调

参数 类型 必填 描述
version String(12) “VER000000005”
charSet String(6) “UTF-8”
transType String(10) “REFD”
orderNum String(60) 退款订单号
transID String(32) GoAllPay流水号
merID String(15) 商户 ID
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
GWTime String(14) yyyyMMddHHmmss,为 GW 时间,目前为本地交易时间
signType String(10) SHA256
signature String(32) 签名
returnAmount String(12) 退款金额
orderCurrency String(3) 订单币种

3.6 预授权接口

1. 接口说明

预授权接口适用于外卡(包括VISA、万事达、JCB等卡品牌)和银联卡交易。预授权交易不会参与清算,发卡银行会暂时冻结用户资金。

2. 请求路径

/api/createorder

3. 请求参数

由通用参数和渠道专属参数组成。凡是上送参数都需参与签名。

渠道专属参数: 点击查看

通用参数:

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
charSet String(6) 统一填写为“UTF-8”
transType String(10) 预授权填写“PAUT”
orderNum String(60) 订单号:商户自行定义,需保证同一商户号下订单号不能重复
orderAmount String(12) 订单金额:如 100 元,表示为 100 或 100.00
orderCurrency String(3) 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD"
frontURL String(400) 支付完成后跳转到该地址。GET请求,参数详见3.3 支付结果通知(回调)
backURL String(400) 支付结果异步通知到该URL。支付成功后,GoAllPay 会以 POST JSON 方式调用 backURL 通知支付结果(详见3.3 支付结果通知(回调))。商户在接收到通知后,需响应字符串“OK”。
如果没有收到商户响应“OK”,GoAllPay将会过一段时间后重新推送,时间间隔为[15, 15, 15, 30, 180, 1800, 3600, 7200, 14400],单位为秒。
merID String(15) 商户 ID,由 GoAllPay 分配
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID:点击这里
goodsInfo String(60) 商品信息。注意不要包含特殊符号,如 "#","&","+" 等
detailInfo String(400) 商品明细。
格式:[{"goods_name":"iPhone X","quantity":"2"},{"goods_name":"iPhone 8","quantity":"4"}],需Base64编码后上送。注意goods_name不要包含特殊符号,如 "#","&","+" 等
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
merReserve String(1024) 预留内容,商户自定义。注意不要包含特殊符号,如 "#","&","+" 等
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
RespCode String(2) 应答码,00表示请求成功
RespMsg String(256) 应答信息
merID String(15) 商户ID
orderNum String(60) 订单号
transID String(32) GoAllPay流水号
parameter Object 支付相关参数,RespCode为00时返回

3.7 预授权完成接口

1. 接口说明

预授权完成接口适用于外卡(包括VISA、万事达、JCB等卡品牌)和银联卡交易。预授权完成交易与消费交易相似,交易成功后,会对商户进行资金的清算。

(1)接口补充说明

  • 该接口在预授权交易成功后发起,要求指定原预授权订单号,时间相隔最长不超过30天
  • 预授权完成交易金额,不能大于预授权交易金额
  • 预授权交易,只支持一次成功的预授权完成交易

(2)接口交易流程

2. 请求路径

/api/pauc

3. 请求参数

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
charSet String(6) 统一填写为“UTF-8”
transType String(10) 预授权完成填写“PAUC”
orderNum String(60) 订单号:商户自行定义,需保证同一商户号下订单号不能重复
origOrderNum String(60) 原预授权订单号
orderAmount String(12) 订单金额:如 100 元,表示为 100 或 100.00
orderCurrency String(3) 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD"
merID String(15) 商户 ID,由 GoAllPay 分配
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID:点击这里
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
version String(12) “VER000000005”
charSet String(6) “UTF-8”
transType String(10) “PAUC”
orderNum String(60) 预授权完成订单号
transID String(32) GoAllPay流水号
merID String(15) 商户 ID
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
GWTime String(14) yyyyMMddHHmmss,为 GW 时间,目前为本地交易时间
signType String(10) SHA256
signature String(32) 签名

3.8 撤销接口

1. 接口说明

撤销接口适用于外卡(包括VISA、万事达、JCB等卡品牌)、银联卡和支付宝菲律宾钱包。

(1)接口补充说明

  • 该接口支持对外卡消费、预授权、预授权完成交易,银联预授权交易以及支付宝菲律宾钱包的消费交易进行撤消。
  • 对消费进行撤消时,只能支持撤消当日交易(注意:CIL外卡,北京时间23:00后,视为隔天;RDP外卡,北京时间24:00后,视为隔天)。对于非当日交易,可以通过退款接口进行处理。

(2)接口交易流程

2. 请求路径

/api/canc

3. 请求参数

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
charSet String(6) 统一填写为“UTF-8”
transType String(10) 填写“VOID”
orderNum String(60) 订单号:商户自行定义,需保证同一商户号下订单号不能重复
origOrderNum String(60) 原交易订单号:要撤销的订单号,可以为消费、预授权、预授权完成的orderNum
merID String(15) 商户 ID,由 GoAllPay 分配
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID:点击这里
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
version String(12) “VER000000005”
charSet String(6) “UTF-8”
transType String(10) “VOID”
orderNum String(60) 撤销订单号
transID String(32) GoAllPay流水号
merID String(15) 商户 ID
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
GWTime String(14) yyyyMMddHHmmss,为 GW 时间,目前为本地交易时间
signType String(10) SHA256
signature String(32) 签名

3.9 手工退款申请接口

1. 接口说明

对90天之前的交易进行退款,商户无法通过调用联机退款接口处理,需调用该接口发起退款申请,申请成功后我们业务人员会通过人工方式进行处理,处理周期大概在3-5个工作日,退款申请交易经过人工处理后被成功退款,交易才会清算。

2. 请求路径

/api/refdreq

3. 请求参数

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
charSet String(6) 统一填写为“UTF-8”
transType String(10) 人工退款填写“REFDREQ”
orderNum String(60) 退款申请单号:商户自行定义,需保证同一商户号下退款订单号不能重复
origOrderNum String(60) 原支付订单号
returnAmount String(12) 退款金额:如 100 元,表示为 100 或 100.00
orderCurrency String(3) 订单币种:ISO标准 如:人民币填写“CNY”,美元填写"USD"
merID String(15) 商户 ID,由 GoAllPay 分配
paymentSchema String(10) 渠道ID:点击这里
acqID String(11) 收单行 ID "99020344"
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
version String(12) “VER000000005”
charSet String(6) “UTF-8”
transType String(10) “REFDREQ”
orderNum String(60) 退款订单号
transID String(32) GoAllPay流水号
merID String(15) 商户 ID
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID
RespCode String(2) 应答码 00 代表申请已受理
RespMsg String(20) 应答消息
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
GWTime String(14) yyyyMMddHHmmss,为 GW 时间,目前为本地交易时间
signType String(10) SHA256
signature String(32) 签名

4. 签约支付API

4.1 签约接口

1. 接口说明

为用户提供签约功能,适用于支付宝本地支付和部分渠道的外卡。

接口交易流程:

2. 请求路径

/api/applyToken

3. 请求参数

由通用参数和渠道专属参数组成,凡是上送参数都需参与签名。

渠道专属参数: 点击查看

通用参数:

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
userRegion String(2) 用户地区,ISO标准两位国家代码,如PH
orderNum String(60) 签约订单号:商户自行定义,需保证同一商户号下订单号不能重复
orderCurrency String(3) 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD"
customerId String(60) 用户ID: 商户自行定义,需保证同一商户号下不同用户不能重复
frontURL String(400) 签约后前端跳转地址。GET请求,参数详见签约结果通知-回调
backURL String(400) 签约结果异步通知到该URL。签约成功后,GoAllPay 会以 POST JSON 方式调用 backURL 通知支付结果(详见签约结果通知-回调)。商户在接收到通知后,需响应字符串“OK”。
如果没有收到商户响应“OK”,GoAllPay将会过一段时间后重新推送,时间间隔为[15, 15, 15, 30, 180, 1800, 3600, 7200, 14400],单位为秒。
merID String(15) 商户 ID,由 GoAllPay 分配
paymentSchema String(20) 渠道ID:"AliPayPlus"或"FC"
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
terminalType String(10) 终端类型。"WEB","WAP","MINI_APP","APP"选其中一个上送
OsType String(10) 用户操作系统类型。
"IOS","ANDROID","HARMONYOS","WINDOWS","MAC","OTHER" 选其中一个上送
OsVersion String(10) 用户操作系统版本,如11.0.2
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
RespCode String(2) 应答码,00表示请求成功
RespMsg String(256) 应答信息
merID String(15) 商户ID
orderNum String(60) 订单号
transID String(32) GoAllPay流水号
parameter Object 签约相关参数。当RespCode为00时,至少会返回schemeUrl,applinkUrl,normalUrl其中一个。

url说明:
  • schemeUrl:通过该地址打开Android或iOS APP
  • applinkUrl:重定向用户打开应用程序的URL,如果没有安装应用程序,则重定向到WAP页面。对于Android,这个字段是原生的App Link,对于iOS,是Universal Link。
  • normalUrl:通过该地址将用户重定向到浏览器或WebView中的WAP/WEB页面

4.2 签约结果通知-回调

1. 接口说明

商家系统在调用了签约接口,或开启签约支付功能时,商家后台将通过该接口接收到签约支付结果。

2. 请求路径

签约接口中的backURL参数,或是收银台支付接口中的tokenBackURL参数。

3. 请求参数

参数 类型 必填 描述
version String(12) “VER000000005”
orderNum String(60) 订单号
token String(32) 签约扣款交易使用该token
tokenExpiryTime String(25) token有效期,格式:"2019-11-27T12:01:01+08:00"
refreshToken String(32) 更新token时使用
refreshTokenExpiryTime String(25) 更新token有效期,格式:"2019-11-27T12:01:01+08:00"
merID String(15) 商户ID
paymentSchema String(20) 渠道ID
sub_brand_code String(20) 子品牌
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
customerId String(60) 用户ID
transID String(32) GoAllPay流水号
GWTime String(14) yyyyMMddHHmmss,为 GW 时间
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

字符串OK

4.3 签约状态查询接口

1. 接口说明

可查询签约是否成功。

2. 请求路径

/api/inquiryToken

3. 请求参数

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
customerId String(60) 用户ID
orderNum String(60) 签约订单号
merID String(15) 商户 ID,由 GoAllPay 分配
sub_brand_code String(20) 子品牌。paymentSchema为"AliPayPlus"时必填
paymentSchema String(20) 渠道ID:"AliPayPlus"或"FC"
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
version String(12) “VER000000005”
orderNum String(60) 订单号
token String(32) 签约扣款交易使用该token
tokenExpiryTime String(25) token有效期,格式:"2019-11-27T12:01:01+08:00"
refreshToken String(32) 更新token时使用
refreshTokenExpiryTime String(25) 更新token有效期,格式:"2019-11-27T12:01:01+08:00"
merID String(15) 商户ID
paymentSchema String(20) 渠道ID
sub_brand_code String(20) 子品牌
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
customerId String(60) 用户ID
transID String(32) GoAllPay流水号
GWTime String(14) yyyyMMddHHmmss,为 GW 时间
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4.4 签约支付接口

1. 接口说明

签约消费,根据签约时返回的token,对用户进行扣款。

接口交易流程:

2. 请求路径

/api/bindPay

3. 请求参数

由通用参数和渠道专属参数组成,凡是上送参数都需参与签名。

渠道专属参数: 点击查看

通用参数:

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
charSet String(6) 统一填写为“UTF-8”
transType String(10) 消费填写“PURC”
orderNum String(60) 订单号:商户自行定义,需保证同一商户号下订单号不能重复
orderAmount String(12) 订单金额:如 100 元,表示为 100 或 100.00
orderCurrency String(3) 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD"
backURL String(400) 支付结果异步通知到该URL。支付成功后,GoAllPay 会以 POST JSON 方式调用 backURL 通知支付结果(详见3.3 支付结果通知(回调))。商户在接收到通知后,需响应字符串“OK”。
如果没有收到商户响应“OK”,GoAllPay将会过一段时间后重新推送,时间间隔为[15, 15, 15, 30, 180, 1800, 3600, 7200, 14400],单位为秒。
customerId String(60) 用户ID: 商户自行定义,需保证同一商户号下不同用户不能重复
token String(32) 签约时返回的token
merID String(15) 商户 ID,由 GoAllPay 分配
acqID String(11) 收单行 ID "99020344"
paymentSchema String(20) 渠道ID:"AliPayPlus"或"FC"
goodsInfo String(60) 商品信息。注意不要包含特殊符号,如 "#","&","+" 等
detailInfo String(400) 商品明细。
格式:[{"goods_name":"iPhone X","quantity":"2"},{"goods_name":"iPhone 8","quantity":"4"}],需Base64编码后上送。注意goods_name不要包含特殊符号,如 "#","&","+" 等
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
tradeFrom String(20) 场景,绑卡:"PAN-BINGDING"
merReserve String(1024) 预留内容,商户自定义。注意不要包含特殊符号,如 "#","&","+" 等
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
version String(12) “VER000000005”
charSet String(6) “UTF-8”
transType String(10) “PURC”
orderNum String(60) 订单号
orderAmount String(12) 订单金额
orderCurrency String(3) 订单币种
merID String(15) 商户 ID
acqID String(11) 收单行 ID "99020344"
paymentSchema String(10) 渠道ID
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
reason JSON Object 失败原因,JSON格式{"code":"原因代码", "text":"原因说明"}点击查看详情。当code原因代码为INVALID_TOKENEXPIRED_ACCESS_TOKEN时为token失效,商户可调用/api/refreshToken接口更新token后重试。
transID String(32) GoAllPay流水号
GWTime String(14) yyyyMMddHHmmss,为 GW 时间
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
merReserve String(1024) 商户预留内容
signType String(10) SHA256
signature String(32) 签名

4.5 签约更新接口

1. 接口说明

商户需要在用户token过期前,主动更新token。否则,后续支付时,将需要用户重新进行签约。

接口交易流程:

2. 请求路径

/api/refreshToken

3. 请求参数

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
customerId String(60) 用户ID
orderNum String(60) 订单号。商户自行定义,需保证同一商户号下订单号不能重复
merID String(15) 商户 ID,由 GoAllPay 分配
refreshToken String(32) 签约时返回的refreshToken
sub_brand_code String(20) 子品牌。paymentSchema为"AliPayPlus"时必填
paymentSchema String(20) 渠道ID:"AliPayPlus"或"FC"
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
version String(12) “VER000000005”
orderNum String(60) 订单号
token String(32) 签约扣款交易使用该token
tokenExpiryTime String(25) token有效期,格式:"2019-11-27T12:01:01+08:00"
refreshToken String(32) 更新token时使用
refreshTokenExpiryTime String(25) 更新token有效期,格式:"2019-11-27T12:01:01+08:00"
merID String(15) 商户ID
paymentSchema String(20) 渠道ID
sub_brand_code String(20) 子品牌
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
reason JSON Object 失败原因,JSON格式{"code":"原因代码", "text":"原因说明"}点击查看详情
customerId String(60) 用户ID
transID String(32) GoAllPay流水号
GWTime String(14) yyyyMMddHHmmss,为 GW 时间
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4.6 商户主动解约接口

1. 接口功能说明

商户主动发起解约。

接口交易流程:

2. 请求路径

/api/cancelToken

3. 请求参数

参数 类型 必填 描述
version String(12) 统一填写为“VER000000005”
sub_brand_code String(20) 子品牌
orderNum String(60) 解约订单号:商户自行定义,需保证同一商户号下订单号不能重复
customerId String(60) 用户ID
token String(32) 签约时返回的token
merID String(15) 商户 ID,由 GoAllPay 分配
paymentSchema String(20) 渠道ID:"AliPayPlus"或"FC"
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 响应参数

参数 类型 必填 描述
version String(12) “VER000000005”
orderNum String(60) 订单号
token String(32) 签约扣款交易使用该token
merID String(15) 商户ID
paymentSchema String(20) 渠道ID
sub_brand_code String(20) 子品牌
RespCode String(2) 应答码 00-成功,01-失败。详情见本文档第5章应答码
RespMsg String(20) 应答消息
customerId String(60) 用户ID
transID String(32) GoAllPay流水号
GWTime String(14) yyyyMMddHHmmss,为 GW 时间
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4.7 用户征询解约接口

1. 接口功能说明

用户在钱包端解约,GoAllPay将结果推送给商户,商户做出回复。

接口交易流程:

2. 请求路径

商户域名+/api/consultUnbinding

商户域名需要商户手工提供给Goallpay配置。

3. 请求参数

参数 类型 必填 描述
customerId String(60) 用户ID
token String(32) 签约时返回的token
merID String(15) 商户 ID,由 GoAllPay 分配
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 商户响应参数

参数 类型 必填 描述
allowUnbinding String(10) true表示同意,false表示拒绝
refuseReason String(60) allowUnbinding为false时,填写原因

4.8 签约支付结果通知-回调

签约支付交易成功后,交易接口中指定的backURL地址将异步接收到GoAllPay系统推送的支付结果通知。异步通知的格式,参考 3.3 支付结果通知(回调)

4.9 签约支付查询

商户系统发起了签约支付交易,在没有接收到签约支付结果通知(回调)的情况下,可通过调用 3.4 查询接口,对交易的结果进行查询。

4.10 签约支付退款

商户对于签约支付交易发起退款,需要调用 3.5 退款接口。退款交易最长有效期为1年。

4.11 用户解约通知-回调

1. 接口功能说明

部分钱包,如Alipay CN,用户在钱包端解约时,不需要商家对解约进行确认。GoAllPay在接收钱包侧的解约通知后,同时会将用户解约信息通知给商户。商户接收到后,回复OK

2. 请求路径

商户域名+/api/notifyUnbound

商户域名需要商户手工提供给Goallpay配置。

3. 请求参数

参数 类型 必填 描述
customerId String(60) 用户ID
token String(32) 签约时返回的token
merID String(15) 商户 ID,由 GoAllPay 分配
transTime String(14) 交易时间,格式:"yyyyMMddHHmmss"
signType String(10) SHA256
signature String(32) 签名

4. 商户响应参数

响应字符串OK

5. 应答码说明

应答码 描述
00 成功
01 失败
04 处理中
61 超过限额
U1 商户号不存在
U2 签名错误
U3 请求被篡改
U4 缺失参数
U5 无效的参数
U6 重复的订单号
U7 订单不存在
U8 参数为空
U9 系统错误
P1 渠道未配置
P2 币种未配置
P3 退款余额不足
P4 功能不支持
P5 渠道返回错误
A3 渠道商户不存在

6. APP模式对接文档

Android对接文档:点击这里

iOS对接文档:点击这里

7. 技术支持

如果您在调试时遇到问题,请与我们联系:support@allpayx.com