第三方支付业务

售货机

说明

  1. 友朋运营商后台支付配置中会增加 3 个参数配置: 支付地址,回调接口,签名秘钥
  2. 友朋在创建本地订单后会携带订单参数跳转到第三方支付地址
  3. 第三方的地址需要判断当前客户端是微信/支付宝,按照支付渠道业务逻辑实现支付流程
  4. 支付渠道同步返回支付结果后跳转回友朋指定 URL
  5. 支付渠道异步回调第三方服务器通知支付结果,第三方处理完业务逻辑后需要调用友朋回调接口

签名与校验签名

  1. 除 sign 参数外所有参数必须参与签名,参数以文本方式字典排序,排序后使用 key=value&key=value 方式拼接字符串
  2. 得到字符串 tmpString
  3. 签名:md5(tmpString+"&"+appSecret) 得出的结果转换为小写字母
  4. appSecret 需要运营商后台配置 (此文档里接口 appSecret 用的是支付配置中的签名秘钥,非支付业务接口签名均用开放平台 appSecret)

第三方支付地址跳转参数说明

  1. 示例: http://www.thirdparty.com/pay
  2. 请求方式:HTTP GET
  3. 友朋会携带以下参数引导消费者跳转到第三方 URL,参数区分大小写
  4. 如果第三方业务系统是对接多个运营商的情况下,为了区分不同运营商的跳转地址可以在 URL 上增加业务区分参数,如:http://www.thirdparty.com/[APPID]/pay

请求参数:

参数名称 类型 是否必须 参考值
receipt_no string Y 友朋业务订单号全局唯一
return_url string Y 同步返回支付结果地址
notify_url string Y 异步回调支付结果通知地址
timestamp int Y UNIX 时间戳,示例:1516980357
sign string Y 签名

说明:

  • 第三方页面接收参数后需要校验参数合法性,判断 timestamp 是否-+60s 防止数据重放
  • 第三方通过 receipt_no 请求友朋服务器 API 获取订单信息(金额,商品信息,设备信息等)具体参考(友朋运营商平台第三方开放平台接口文档)
  • 第三方根据自有业务逻辑对支付渠道发起支付请求,同步重定向到 return_url
  • 当第三方收到支付渠道回调后处理完自身业务逻辑后回调 notify_url(支付成功回调,其他状态不需要回调)
  • 同步跳转 return_url

支付回调参数说明

  1. 示例 URL: https://c.yopoint.com/thirdpay/notify/[xxxxx] (请根据 302 传递的参数 notify_url 请求)
  2. 请求方式: HTTP POST

请求参数:

参数名称 类型 是否必须 参考值
receipt_no string Y 友朋业务订单号全局唯一
trade_no string Y 支付渠道交易流水号
trade_status int Y 支付结果 1=支付成功 -1=交易关闭
trade_rawdata string Y 支付渠道回调的所有参数以 JSON 字符串方式传递,如果没值请传递 {} 空对象字符串
timestamp int Y UNIX 时间戳,示例:1516980357
price int N 订单实际支付金额,单位分,如不修改订单价格此字段不要传,此字段不参与签名
sign string Y 签名

说明:

  • 友朋收到请求并校验,处理成功后返回 success 纯文本,对于非 success 的返回视为业务处理失败,第三方需要对此回调发起重试,直到返回 success 为止
  • price 字段不参与签名
  • trade_rawdata 如果没值请传递 {} 字符串且参与签名

自取柜

说明

  1. 友朋内部会配置好运营商指定的支付配置 2 个参数配置: 回调接口,签名秘钥
  2. 第三方处理完业务逻辑后需要调用友朋回调接口

签名与校验签名

  1. 除 sign 参数外所有参数必须参与签名,参数以文本方式字典排序,排序后使用 key=value&key=value 方式拼接字符串
  2. 得到字符串 tmpString
  3. 签名:md5(tmpString+"&"+appSecret) 得出的结果转换为小写字母
  4. appSecret (此文档里接口 appSecret 非支付业务接口签名均用开放平台 appSecret)

支付回调参数说明

前置逻辑: 每次调用 cabinet.open.door 接口开门后,友朋接口会返回回调地址,请务必保存每笔订单的回调地址。 实现业务:第三方开发者接入自有支付通道,每笔开门订单完成支付(扣款)后,进行异步回调。如回调接口失败,请确保重试补偿机制。

  1. 示例 URL: https://c.yopoint.com/thirdpay/gateway/cabinet_notify/[xxxxx] (请根据 302 传递的参数 notify_url 请求)
  2. 请求方式: HTTP POST

请求参数:

参数名称 类型 是否必须 参考值
receipt_no string Y 友朋业务订单号全局唯一
trade_no string Y 支付渠道交易流水号 (尽可能采用支付通道的业务流水号,避免二次对账)
trade_status int Y 支付结果 1=支付成功 -1=交易关闭
trade_raw_data object N 支付渠道回调的所有参数以 JSON 字符串方式传递,如果没值请传递 {} 空对象字符串
complete_status string Y 完成状态
pay_time int Y 支付时间 YYYYMMDDHHMMSS, 示例:20210122112001
sign string Y 签名

说明:

  • 友朋收到请求并校验,处理成功后返回 success 纯文本,对于非 success 的返回视为业务处理失败,第三方需要对此回调发起重试,直到返回 success 为止
  • trade_raw_data 如果没值请传递 {} 字符串且参与签名
  • complete_status 如果没值请传递 "" 字符串且参与签名
Copyright © YoPoint.com 2019 all right reserved,powered by Gitbook该文件修订时间: 2024-01-04 16:21:22

results matching ""

    No results matching ""