小程序对接流程
泊链通用支付接口(小程序)
【临停】跳转泊链小程序支付停车费对接文档
【月卡】跳转泊链小程序支付停车费对接文档
第三方小程序互相跳转
文档云
-
+
首页
泊链通用支付接口(小程序)
泊链通用支付接口(小程序) 备注:这个文档是对方云平台对接泊链,想用小程序支付,不过这个不区分临停还是月卡啥的,就是支付。 ## 一、概述 1.1接口协议 接口协议为https,Post请求,数据为json格式,数据写入请求body中,需要带数据签名sign。必传三个参数:union_id、sign和data 请求数据传输格式: {"union_id":200002,"sign":"87C0671D9461E044FB039BA933748CAC", "data":{"title":"支付测试", "amount":"0.01","description":"orderid=10&time=20170923141950","trade_no":"20170921336435142","park_id":"21781","callback_url":"http://beta.bolink.club/unionapi/paysuccess?money=0.01"}} 数据返回为json格式,例: {"trade_no":"20170921336435142","state":1,"payurl":"https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx795478ce30984947&redirect_uri=https%3A%2F%2Fjhpay.kftpay.com.cn%2Fcloud%2Fcspaying%2Fcloudplatform%2Fweixin%2FsmmsLoginCallback.html%3FmchPayCode%3D5e8a433bb72a211f32aad020fb33acf6%26platformTradeNo%3Dc3f386e06aad28f9231434d638c822bd&response_type=code&scope=snsapi_base&state=c3f386e06aad28f9231434d638c822bd#wechat_redirect","errmsg":"下单成功,请调用payurl"} 返回数据为同步返回,调用端不需要进行数据校验 1.2数据签名 联盟成员ID和KEY 由泊链客服提供 sign生成方法:取json数据中的data部分数据,按data字段ascII码排序拼接key,value字符串如key1=value1&key2=value2,然后加上&key=分配给成员的KEY(测试用:BOLINKPAYORDER1122),进行MD5并转为大写。 例: amount=0.01&channel=applets&park_id=28888&pay_type=0&time_temp=1610414776&title=微信公众号111&trade_no=1230912903121610414776894&key=61E2EEC7DD0BD62D 对上面的字符串MD5签名并取大写,得到32位的sign参数: 87C0671D9461E044FB039BA933748CAC ## 二、支付接口 使用说明: appid: “wxbd08b4baa10fcc1d”, path: “pages/pay/pay”, extraData:{ //请求数据看下文 } 跳转示例: | 字段名称 | 类型 | 说明 | 是否必传 | 示例 | | --- | --- | --- | --- | --- | |union_id |Number |厂商平台账户 |是 | 200188 | |sign |String |数据data的签名值 32位 | 是 | | |data |json |包含下面的所有字段的json对象 |是 |{“title”:”支付测试”,”ammount”:”0.01”...} | |title |String |标题,汉字20位以内,英文40以内 |是 | 支付停车费 | |park_id |String |车场编号 | 是 | 21888 | |amount |String |金额,单位是元,保留两位小数 | 是 | 0.01 | |car_number |String |车牌号 非必传 | 否 |京A88888 | |pay_type |Number |固定传值:0 |是 | 0| |trade_no |String |交易流水号,由数字组成的字符串,16-32位,不可低于16位,不可重复 |是 |20170921336435142 | |channel |String |支付类型,固定传值:applets |是 |applets | |time_temp |String |时间戳unix时间,到毫秒 |是 | 1484369702556 | |description |String |附加数据,在支付回调通知中原值返回,该字段主要用于商户携带订单的自定义数据,32位以内 |否 |rderid=10&time=20170923141950 | 示例: {"data":{"amount":"0.01","park_id":"28888","channel":"applets","trade_no":"1230912903121609827989593","time_temp":1609827989,"pay_type":0,"title":"微信公众号111"},"union_id":200265,"sign":"E9CD4C06E57B44169D15DF513AF67426"} ## 三、回调接口 厂商在泊链后台配置通用支付回调地址,支付成功后,推送数据到此地址,需要对data数据进行签名,并与返回的sign比对,一致时为合法数据。【注意:所有回调优先选择方式一;如果已经有方式一,则不需要配置方式二;如果已经配置了方式二,再配置方式一,方式二就会失效。】 ![](/media/202401/2024-01-16_105137_5375750.2868981754239063.png) 数据不能保证是一次推送,如果不返回state为1时,会继续按一定时间间隔发送。 trade_no是下单时传入的订单号,是支付数据的唯一凭证,在处理业务时,如果已处理,应该抛弃,防止重复处理。 回调json数据中有两个字段,sign和data,data为josn对象,包含字段列表中在它以下的所有字段 回调数据:json字符串 | 字段名称 | 类型 | 说明 | 是否必传 | 示例 | | --- | --- | --- | --- | --- | |sign |String |数据data的签名值 32位 | 是 | | |data |json |包含下面的所有字段的json对象 |是 |{“title”:”支付测试”,”ammount”:”0.01”...} | |park_id |String |车场编号 | 是 | 21888 | |state |Number |状态 | 是 |0支付失败,1支付成功| |amount |String |金额,单位是元,保留两位小数 | 是 | 0.01 | |receipt_amount |String |到账金额,保留5位小数| 是 |0.00006 | |trade_no |String |下单时的交易流水号|是 |20170921336435142 | |openid |String |用户openid|否 |ouc2o0zprlFsy5pKdqxSYwqzos5Y| |description |String |附加数据,在支付回调通知中原值返回,该字段主要用于商户携带订单的自定义数据,32位以内 |否 |rderid=10&time=20170923141950 | |pay_time |Numbe |时间戳unix时间,到秒|是 |1609833281| |out_trade_no |String |泊链平台交易流水号 对应的是车场后台账户里的交易流水号 |是 |2021010511654465456| 例: {"sign":"B5A9D049747B76C8428E72514E274DB4","data":{"amount":0.01,"trade_no":"20170921336510038","park_id":"21781","openid":"ouc2o0zprlFsy5pKdqxSYwqzos5Y","pay_platform_fee":"0.00006","state":1,"receipt_amount":"0.00994"}} 同步返回:json字符串 | 字段名称 | 类型 | 说明 | 是否必传 | 示例 | | --- | --- | --- | --- | --- | |state |Number |状态 | 是 |0支付失败,1支付成功| |trade_no |String |下单时的交易流水号|是 |20170921336435142 | {"state":1,"trade_no":"20170921336510038"} ## 四、查询订单 测试地址:https://beta.bolink.club/unionapi/queryorder 请求数据:json字符串 | 字段名称 | 类型 | 说明 | 是否必传 | 示例 | | --- | --- | --- | --- | --- | |union_id |Number |厂商平台账户 |是 | 200188 | |sign |String |数据data的签名值 32位 | 是 | | |data |json |包含下面的所有字段的json对象 |是 |{“title”:”支付测试”,”ammount”:”0.01”...} | |park_id |String |车场编号 | 是 | 21888 | |trade_no |String |交易流水号,由数字组成的字符串,16-32位,不可低于16位,不可重复 |是 |20170921336435142 | 示例:{"union_id":200002,"sign":"4F469386A4A3B88982E6CFC86260F246","data":{“park_id”:”21781”,”trade_no”:”200002bolink20170921336618071”}} 同步返回:json字符串 | 字段名称 | 类型 | 说明 | 是否必传 | 示例 | | --- | --- | --- | --- | --- | |state |Number |状态 | 是 |0支付失败,1支付成功| |errmsg |String |提示信息 | 否 |state为0时必传| |amount |String |金额,单位是元,保留两位小数 | 是 | 0.01 | |trade_no |String |下单时的交易流水号|是 |20170921336435142 | |title |String |标题,汉字20位以内,英文40以内 |是 | 支付停车费 | |amount |String |金额,单位是元,保留两位小数 | 是 | 0.01 | |trade_time |Number |交易时间(unix时间戳,10位,取到秒)|是 |1609833281| {"amount":"0.01","trade_no":"200002bolink20170921336618071","title":"支付测试","state":1,"trade_time":1508737264,"errmsg":"查询成功"}
admin
2024年12月10日 16:56
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码