传输方式:为保证交易安全性,采用HTTPS传输,Content-type均为application/json
提交方式:采用POST方法提交
提交和返回数据都为JSON格式
统一采用UTF-8字符编码
1.先判断协议字段(return_code)返回,再判断业务(result_code)返回,最后判断交易状态。
注意:使用javaSDK对接的接口,不需要做签名,SDK会自动处理。
拼接串说明:
接口中每一个字段(key_sign字段除外),以字典顺序(字母顺序)排序之后,按照a=value1&attach=&b=value2.....&access_token="密钥token"的顺序,进行拼接。对得到的字符串进行MD5签名/验签(赋值的空字符串也参与签名)。
示例请求参数:
{"pay_ver":"201","pay_type":"010","service_id":"010","merchant_no":"839305812000286","terminal_id":"30616969","device_no":"202011261843460000","terminal_trace":"201811231154130000","terminal_time":"20181123115413","auth_no":"xxxxxxxx","total_fee":"1","order_body":"","attach":"","goods_detail":"","key_sign":""}对应签名串:
string1="attach=&auth_no=xxxxxxxx&device_no=202011261843460000&goods_detail=&merchant_no=839305812000286&order_body=&pay_type=010&pay_ver=201&service_id=010&terminal_id=30616969&terminal_time=20181123115413&terminal_trace=201811231154130000&total_fee=1".待签名字符串:
string2=string1+"&access_token=xxxxxxxx";通过MD5取得签名值:
注意:
ApiConstants.service_url_pay="技术人员邮件内发送的测试环境地址";若未重新赋值,会报"终端信息不存在或已关闭!".
切换到正式环境时,删除这行代码。
如果有核销支付券和商家券需求的合作方,再使用SDK对接条码支付接口时,建议使用以下方法,支持自动核销支付券和商家券。
SaobeiBarcodePayResponseresponse=client.executePayUseCoupon(requst,true);
请求参数
goods_detail的内容说明:称重商品数量请传1或其它整数,价格传重量*单价后的总价
响应参数
Java-SDK工具
支付宝生活号
支付宝小程序
-订单撤销,单号传递两种方式,二选一,推荐优选方式一:方式一:用支付下单接口返回的out_trade_no值,传在撤销交易接口的out_trade_no字段。方式二:当前接口里的terminal_trace和terminal_time生成新值(需唯一),把支付下单请求接口里的terminal_trace字段值传在撤该接口的pay_trace字段,和支付下单请求里的terminal_time字段值传在该接口的pay_time字段。注意:撤销接口会对已经支付的订单进行退款,建议程序要在不会有资金损失的情况下,自动调用该接口;或者由人工确认确实可撤销后,再手动调用该接口。
订单关单,单号传递两种方式,二选一,推荐优选方式一:
订单退款结果查询,单号传递两种方式,二选一,推荐优选方式一:
推送参数
以上为请求参数
以上为响应参数
以上字段在return_code为01时返回,返回时参与签名
第一步:使用官方流程中的第一步和第二步中的获取数据接口,得到rawdata。
第二步:拿着获取到的rawdata调用本文档的“自助收银sdk调用凭证获取”接口可获取到SDK调用凭证authinfo(该接口替代官方流程中第二步中的“获取SDK调用凭证”接口)。
第三步:使用上一步接口获取到的authinfo、sub_serv_no(对应官方接口mch_id字段)、sub_serv_appid(对应官方接口的appid字段)再去调用官方流程中的“5、进行人脸识别”接口,得到返回值face_code。
第四步:使用上一步中获取的face_code值,调用本文档中“(刷脸)自助收银支付接口”传递在auth_no字段或者使用“付款码支付”接口传在auth_no字段。这样就可以完成刷脸支付。
支付宝刷脸说明:
按照官方流程:
第一步:使用官方“获取刷脸所需的设备信息”接口(接口所需值由设备提供),得到返回结果。
第二步:将第一步返回结果对象转换成json传入到本文档的“自助收银sdk调用凭证获取”接口的rawdata字段,从而得到authinfo值(对应的是支付宝返回的zim_id的值),
第三步:调用官方“唤起人脸识别”接口,将上一步返回的authinfo字段的值传入到接口所需的zimId字段,得到返回值ftoken。
第四步:使用上一步返回的ftoken字段,调用的本文档中“(刷脸)自助收银支付接口”传在auth_no字段,这样就可以完成刷脸支付。
两个刷脸支付流程均为四步,第一和第三步调用官方接口,第二和第四步调用扫呗
sub_mchid_info参数(pay_ver为120版本时返回):
应用场景
4、接口开发完后,可将地址提供给技术支持人员,由技术人员配合进行联调验证,并告知运营同事提交配置申请邮件,需提供代理商名称以及交易实时同步地址。
备注:须即时响应,捕获好异常,按照return_code="01"响应码返回,未按照要求的,巡查发现将被限制后续通知;
请求参数:
返回参数:
注意:redirect_uri参数需要在后面++参数名+参数值(避免格式不对无法解析),redirect_uri参数在urlEncode前进行加密,若跳转时报错403forbidden,请提供收银台的具体URL(不包含GET参数)给对接人员配置白名单,否则将无法正常进入收银台。