跳转至

Order receipt standard v2

标准收单

1.使用场景

适用于与第三方供应商(商家)对接支付关爱通时,使用。商家在其页面完成购物后,点击关爱通支付,跳转到关爱通支付页面(自适应客户端,显示PC或移动端支付页面),完成支付校验后,扣除关爱通资产,完成订单。

2.该接口使用需知

1.请求URL时,请不要添加额外参数,签名时会用对所有参数进行签名;

2.商家服务端按规则拼接好URL后(各参数建议经过Urlencode),通知浏览器进行302跳转;

3.支付完成后会立即跳转到“return_url”,建议商家此时显示支付中页面;

4.请一定要提供接口,接收notify请求,并及时返回结果(“success”);

5.支付状态请根据notify_url的请求(或者根据订单查询接口)来判断,千万不能根据return_url中的pay_result。

3.时序图

img

4.接口调用说明

请求URL https://openapi.guanaitong.com/seller/payV2/excashier

HTTP请求方式 GET

输入参数说明

(1)公共参数 发送请求时必须传入公共参数,详见公共参数

(2)私有参数

参数名称 是否必须 参数类型 长度限制 描述
outer_trade_no string [2,50] 外部交易号,请以appid开头,例如:1000000122
buyer_open_id string 32 下单员工唯一标识
reason string [1,254] 下单原因
total_amount decimal [0.01,99999999.99] 下单金额
attach string [1,100] 附加信息,原样返回,复杂参数建议urlencode
trade_type int 1 交易类型 1即时交易 2非即时交易 默认为即时交易
trade_info object [1,4000] 必填 交易详情,JSON格式
return_url string [1,254] 支付完成后,跳转的商家订单显示URL
notify_url string [1,254] 商家提供的notify_url。订单完成后,关爱通会对此URL进行请求,通知商家订单成功
expire_time string [1,254] 订单支付超时时间,格式(yyyy-MM-dd HH:mm:ss)

(3)trade_info对象

参数名称 是否必须 参数类型 长度限制 描述
third_trade_no string [1,50] 第三方订单号
third_total_amount decimal [0.01,99999999.99] 订单总金额
third_pay_amount decimal [0.01,99999999.99] 支付总金额
third_cost_amount decimal [0.00,99999999.99] 结算总成本价
is_third_orders int 1 是否有子订单 1有 2无
third_orders object 有子订单必填。子订单信息列表,List 请按照商家拆分子订单
goods_detail object 无子订单必填。商品信息列表,List

** 注意 ** 在返点模式下: third_pay_amount与third_cost_amount金额要保持一致

(4)third_order对象

参数名称 是否必须 参数类型 长度限制 描述
third_sub_trade_no string [1,50] 第三方子订单编号
third_sub_delivery_fee decimal [0.00,99999999.99] 有运费必填 运费
third_sub_total_amount decimal [0.01,99999999.99] 子订单原金额
third_sub_pay_amount decimal [0.01,99999999.99] 子订单原支付金额
third_sub_cost_amount decimal [0.00,99999999.99] 子订单原结算成本价
goods_detail object 商品信息列表,List

(5)goods_detail对象

参数名称 是否必须 参数类型 长度限制 描述
sku_id string [1,50] 商品编号
name string [1,50] 商品名称
quantity int 最少为1 数量
good_price decimal [0.01,99999999.99] 商品单价(原价)
good_pay_amount decimal [0.00,99999999.99] 支付价(商品总价)
good_cost_amount decimal [0.00,99999999.99] 关爱通总结算价

如果商品的数量 quantity=3时,good_pay_amount 和 good_cost_amount 都是三件商品合起来的总价格

注意:请求需要经过Urlencoded

5.从关爱通收银台,跳回商家页面(return_url)

请求URL

调用支付接口时,填写的return_url

HTTP请求方式

GET 跳转页面

输入参数说明

参数名称 参数类型 描述
appid string 应用appid
outer_trade_no string 跳转收银台时传递的外部交易号
attach string 前面附带的信息
pay_result string success成功 fail 失败
timestamp string 时间戳,其值为1970-1-01 00:00:00.000到当前时刻的时间距离,单位是秒,时区为GMT+8(东八区)。如1469691921。关爱通接口允许的时间戳偏差为5分钟,偏差超过5分钟的请求将被拒绝。
sign string 签名,见 签名机制

请求示例(浏览器URL)为:

https://test.guanaitong.com/?outer_trade_no=100000010000000001&appid=10000001&
timestamp=1537253931&sign=c9a7ede47d9f40a599d76e98a8c8a039d7ae4e2d&pay_result=success

跳转说明

(1)用户支付完成后,会跳转到商家填写的return_url地址; (2)商家根据outerTradeNo进入订单支付中的页面; (3)商家服务端等待来自关爱通的notify通知,更新订单状态后,页面改为订单成功;

6.支付回调(notify_url)

请求URL

调用支付接口时,填写的notify_url

HTTP请求方式

POST

输入参数说明

参数名称 参数类型 描述
appid string 应用appid
outer_trade_no string 外部交易号
buyer_open_id string 下单人open_id
attach string 前面附带的信息
total_amount decimal 下单金额
trade_no string 关爱通交易号
timestamp string 时间戳,其值为1970-1-01 00:00:00.000到当前时刻的时间距离,单位是秒,时区为GMT+8(东八区)。如1469691921。关爱通接口允许的时间戳偏差为5分钟,偏差超过5分钟的请求将被拒绝。
sign string 签名,见 签名机制

请求示例

POST 商家URI,如:/syncPay/notify HTTP/1.1
Host: 商家域名,如:test.guanaitong.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

appid=10000001&outer_trade_no=100000010000000001&total_amount=100.00&
buyer_open_id=d87797eea12a2f80ad72ed93214a0908&trade_no=2018070920000005&
timestamp=1531120153&sign=31f531d0ca40e6d7fb02688564f637f458e63ec8

返回参数说明

(1)notify只有在关爱通订单成功后才会发送; (2)商家在收到了请求、校验通过后,请即时更新自己的订单状态,并返回success(不要带任何其他源码内容); (3)若关爱通的notify请求无响应或者接收的内容不是“success”,则认为通知失败,等一段时间后会再次请求(notify请求会在此后24小时内按递增时间间隔继续发送通知); (4)notify仅为通知,不论第三方返回成功或失败,都不会改变关爱通的订单状态;

正确返回示例

success

错误返回示例

fail
回到页面顶部