117 KiB
API目录
| 分类 | 接口中文名 | 接口英文名 | 描述 |
|---|---|---|---|
| 下单接口 | 统一下单接口 | /cgi-bin/lepos_pay_gateway .cgi |
主扫,C扫B。消费者主动扫码。 |
| 条码支付 | 条码支付 | /cgi-bin/lepos_pay_gateway.cgi | 被扫,B扫C。消费者出示付款码被扫。 |
| 交易结果 | 支付结果通知 | / | 返回支付结果。影响推送的因素较多,建议接交易结果查询接口。 |
| 交易结果查询 | /cgi-bin/lepos_pay_gateway.cg | 查询交易结果 | |
| 退款 | 退款 | /cgi-bin/lepos_pay_gateway.cgi | 进行退款操作 |
| 退款查询 | /cgi-bin/lepos_pay_gateway.cgi | 查询退款信息 | |
| 退款结果通知 | 查看退款结果 | ||
| 订单关闭接口 | 订单关闭 | /cgi-bin/lepos_pay_gateway.cgi | 关闭订单 |
| 授权码 | 授权码查询用户openid | /cgi-bin/lepos_pay_gateway.cgi | 查询openid |
| 授权码获取银联云闪付用户ID | 获取云闪付用户ID | ||
| 异步通知 | 刷卡、扫码支付异步通知 |
****数字签名
(1)为了保证数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进行签名校验。
(2)签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。
(3)原始串中,字段名和字段值都采用原始值,不进行URL Encode。
(4)平台返回的应答或通知消息可能会由于升级增加参数,请验证应答签名时注意允许这种情况。
签名方法
(1)设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
(2)在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
签名样例
(1)假设需要传递的参数如下:
server:query_status
merchant_id:1234567890
third_order_id:12345678901
nonce_str:12345678901
(2)对参数按照key=value的格式,并按照参数名ASCII字典序排序如下
stringA=merchant_id=1234567890&nonce_str=12345678901&server=query_status&third_order_id=12345678901
(3)拼接商户秘钥key
stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d" //注:key为商户密钥key
(4)计算签名
交易报文MD5计算:sign=MD5(stringSignTemp).toUpperCase()
通知报文MD5计算:sign=MD5(stringSignTemp).toLowerCase()
交易报文SM3计算:sign=SM3(stringSignTemp).toUpperCase()
通知报文SM3计算:sign=SM3(stringSignTemp).toLowerCase()
注:md5加密为32位。
注:SM3签名为64位
(1)设所有请求数据为集合M(请求数据中需上送sign_type为SM3,不上送默认为使用MD5),将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),
使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
(2)在stringA最后拼接上key得到stringSignTemp字符串,
并对stringSignTemp进行SM3运算,再将得到的字符串所有字符转换为大写,得到sign值signValue
特别注意
(1)请求数据验签方法
除sign、leshua、resp_code字段外,其他参数按照签名方法验签,空值不传递,不参与签名组串。
(2)应答数据验签方法
除sign、leshua、resp_code字段外,其他参数按照签名方法验签,空值参与签名组串。
(注:微信刷脸接口是全字段加签)
(3)支付结果通知验签方法
除sign、leshua、error_code字段外,其他参数按照签名方法验签,空值参与签名组串。
商户维度接入,支付结果通知验签需要向商务申请 商户获取代理商解析密钥
判断付款码规则
```java 支付宝:支付授权码,25~30开头的长度为16~24位的数字, 实际字符串长度以开发者获取的付款码长度为准 微信:扫码支付授权码,设备读取用户微信中的条码或二维码信息(注:用户刷卡条形码规则:18位纯数字以10、11、12、13、14、15开头) 银联二维码:62开头19位数字 数字人民币:0100开头的数字,其中01002 工行(数字人民币的不完整,后续会有改动) 01003 农行 01004 中行 01005 建行 01007 网商 01008 邮储 01009 交通银行 ```1、统一下单(主扫:C扫B)
1.1接口说明
代理商在C扫B场景调用此支付接口完成下单,支持支付宝拉码支付、公众号支付、服务窗支付、银联JS支付、微信小程序支付。
测试商户信息及请求密钥和回调密钥请联系我们获取。
生产环境走完协议流程并且联调完提交测试报告后,我司运营同事将会提供参数给贵司。
1.2请求方式
POST
1.3请求地址
测试环境域名:https://t-paygate.lepass.cn
生产环境域名:https://paygate.leshuazf.com
接口地址:/cgi-bin/lepos_pay_gateway.cgi
1.4频率限制
4000次/s
1.5业务入参
| 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|
| service | M | 无 | string | 接口名 get_tdcode(此为固定值) |
| t0 | O | 无 | int | T0交易标志 默认为0,0:d1交易 1:d0交易 |
| sign_type | 0 | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法;(不上送默认为使用MD5算法) |
| pay_way | M | 16 | string | 支付类型 详见下方支付类型 |
| merchant_id | M | 10 | string | 乐刷商户号 由乐刷分配 |
| user_name | O | 无 | string | 收银员名称 |
| third_order_id | M | 64 | string | 商户内部订单号 可以包含字母:确保同一个商户下唯一 |
| amount | M | 10 | string | 订单总金额 金额不能为零或负数 |
| jspay_flag | M | 1 | string | 支付类型 0-支付宝Native扫码支付、银联Native扫码支付; 1-微信JSAPI、支付宝JSAPI支付、银联JSAPI支付; 2-微信、支付宝简易支付<跳转乐刷收银台支付>; (jspay_flag=2时必传jump_url,否则会报错) 3-微信小程序支付、支付宝小程序支付 注: 1)微信拉码支付已下线; 2)如需接入银联JS支付,请联系乐刷运营沟通域名报备。 3)数字货币支付当前仅支持jspay_flag=0 |
| royalty | O | 1 | string | 交易分账标识 0:普通交易 1:分账(用于分账的交易需传该参数) 2:交易主体分账(延迟结算) 3:预授权 注:如果未传该字段默认为0,按不分账处理 |
| appid | M | 32 | string | appid 条件必填,微信支付时必填。填微信公众号支付的公众号id或微信小程序支付的小程序appid; 传了会使用此appid 进行下单 |
| sub_openid | C | 32 | string | sub_openid 微信JSAPI、微信小程序、支付宝JSAPI、支付宝小程序、银联JSAPI支付必填 |
| extend_business_params | O | 无 | string | 该字段 为JSON格式的字符串,当前可透传支付宝的参数见下表 具体格式详见文档下方:业务拓展参数示例注:花呗分期商家订单传参贴息示例: "extend_business_params":"{"business_params":{ "enable_thirdparty_subsidy":"N"}}" 如果第三⽅贴息活动为全场贴息,默认可贴息,传⼊ N 值则本笔交易禁⽤三⽅贴息; 如果第三⽅贴息活动为指定订单传参贴息,默认禁⽤贴息,传⼊Y 值则本笔交易启⽤三⽅贴息 |
| jump_url | O | 128 | string | 前台跳转地址 简易支付时必填,完成后,乐刷将跳转到该页面,需做UrlEncode 处理 (受微信支付宝限制,已失效,可不传) |
| notify_url | O | 128 | string | 通知地址 接收乐刷通知(支付结果通知)的URL,需做UrlEncode 处理,需要绝对路径,确保乐刷能正确访问,若不需要回调请忽略 |
| client_ip | O | 16 | string | 商户发起交易的IP地址 |
| body | O | 256 | string | 商品描述 不能包含回车换行等特殊字符 |
| shop_no | O | 16 | string | 商户门店编号 只能是汉字、英文字母、数字。注:该参数不上传给微信、支付宝 |
| pos_no | O | 16 | string | 商户终端编号 只能是汉字、英文字母、数字 注意:银联类型交易时,只能 8位:数字字母 不支持 特殊字符 |
| attach | O | 96 | string | 附加数据 下单成功原样返回;注意:只能是汉字、英文字母、数字 |
| limit_pay | O | 1 | string | 指定支付方式 1:禁止使用信用卡; 0或者不填:不限制 |
| goods_tag | O | 32 | string | 订单优惠标记 订单优惠标记(订单级别-品类级别),透传给微信,对应微信的 goods_tag字段。微信会自动进行优惠匹配计算和核销。用于给整个订单打上一个"标签",主要用于代金券立减优惠场景,示例: "coffee"。 |
| goods_detail | O | 8000 | string | 单品详情 微信 单品级详细信息,透传给微信,对应微信的 detail字段,**注意**不是对应detail.goods_detail字段。微信会自动进行优惠匹配计算和核销。按微信单品优惠券格式传递透传给微信,请做UrlEncode 示例: {"goods_detail":[{"merchant_goods_id":"xiaomi_14_pro","goods_name":"小米14 Pro","quantity":1,"unit_price":499900}]}银联 银联扫码交易时,透传给银联的“收款方附加数据”acqAddnData参数,当前银联的单品营销及扫码点餐均使用到该参数,具体参数格式及说明见:银联收款方附加数据。 |
| order_expiration | O | 无 | string | 订单有效时间 单位:秒(支付宝的超时时间最小粒度为分钟,建议上送的为60的整数倍)最大时效600s |
| hb_fq_num | O | 无 | string | 花呗分期数 支付宝花呗分期数,支持3、6、12期 |
| front_url | C | 无 | string | 前端跳转地址 银联JSAPI支付时选填,支付成功时跳转 |
| front_fail_url | C | 无 | string | 支付失败前端跳转地址 银联JSAPI支付时选填,支付失败时跳转 |
| nonce_str | M | 32 | string | 随机字符串 |
| sign | M | 32 | string | 签名 MD5签名结果 |
| device_info | O | 32 | string | 设备编号 针对微信、支付宝有效,透传至银联。 微信:数字、字母、下划线格式 支付宝:目前支持非0开头的数字 |
| store_id | O | 32 | string | 门店编号 针对微信、支付宝有效,透传至银联。 微信:数字、字母、下划线格式 |
| ass_merchant_id | O | 32 | string | 通道商户号 非必填。可使用指定的微信、支付宝子商户号进行交易,一个乐刷商户号有多个通道商户号情况下可用。 注:对应乐刷商户号大于200条时不能传该参数 |
| pnrins_id_cd | O | 32 | string | 银联服务商标识 银联扫码交易时,透传给银联,对应银联的 pnrInsIdCd参数。 |
| gps_info | O | 512 | string | gps信息 校验GPS信息格式, 如:-128.12,23.1 -- 1. xxx,xxx -- 2. 经度xxx为[-180,180]之间的浮点数,维度xxx为[-90,90]之间的浮点数,最多保留小数点八位float(11,8) |
| bs_info | O | 512 | string | 基站信息 校验基站信息格式, 格式说明: -- 1. 格式为:xxx,xxx,xxx,xxx 如:460,1,12,23454 -- 2. xxx均为整数,长度不超过11位 基站信息,从左至右依次对应以下几个字段: mcc: 移动国家号码,由3位数字组成,唯一地识别移动用户所属的国家。我国为460 mnc:移动网号,由两位数字组成,用于识别移动用户所归属的移动网 lac:位置区编码,为寻呼而设置的一个区域,覆盖一片地理区域,按寻呼量划分 ci :负责收发的天线所朝向的扇区编号 |
| extend_business_params | O | - | string | 见下extend_business_params参数表 |
| scene_info | O | - | string | 该字段用于上报场景信息,仅针对微信交易有效,目前支持上报实际门店信息。该字段 为JSON格式的字符串,对象格式为{"store_info":{"id": "门店 ID","name ": "名称","area_code": "编码","address": "地址"}} ,字段详细说明参考下文。 |
| need_receipt | O | - | boolean | 电子发票功能。仅针对微信交易有效,需要和微信公众平台的发票功能联合使用。 枚举: (只能为true或false,只支持全小写字母或全大写字母) 1. true 2. false |
| terminal_info | M | - | String | 商户侧受理终端信息 terminal_info为String类型,内容为json: terminal_info="{"longitude":"-121.48352","latitude":"+31.221345","network_license":"P3100","device_type":"01","device_id":"54MPDz39","serial_num":"5","app_version":"v1.1.1","device_ip":"252.1.1.25"}" terminal_info不能为空,如无终端信息则按此规则传参:device_type和serial_num必传: device_type固定传11 serial_num=lhsd+商户编号 json内各参数说明 longitude:经度,+代表东经,-代表西经。 latitude:纬度,+代表北纬,-代表南纬。 network_license:银行卡受理终端入网编号。该 编号由“中国银联标识产品企业资质认证办公室”为通过入网认证的终端进行 分配。银联直连终端必填。 格式:5 位字符,例如 P3100 device_type:设备类型,01:自动柜员机(含 ATM 和 CDM)和 多媒体自助终端 02:传统 POS 03:mPOS 04:智能 POS 05:II 型固定电话 06:云闪付终端; 07:保留使用; 08:手机 POS; 09:刷脸付终端; 10:条码支付受理终端; 11:条码支付辅助受理终端; 12:行业终端(公交、地铁用于指定行 业的终端); 13:MIS 终端; serial_num:设备序列号,设备类型02、 03、04、05、06、08、09 或 10 时必填 encrypt_rand_num:仅在被扫支付类交易报文中出现:若付 款码为 19 位数字,则取后 6 位; 若付款码码为 EMV 二维码,则取其 tag 57 的卡号/token 号的后 6 位 secret_text:仅在条码支付交易报文中出现:64bit 的密文数据,对终端硬件序列号和加密 随机因子加密后的结果。 本子域取值为:64bit 密文数据进行 base64 编码后的结果。该字段需要服务商和厂商联调时由厂商sdk之类加密后给出。 app_version:终端应用程序的版本号。应用程序变更 应保证版本号不重复。当长度不足时, 右补空格。固定8位 device_ip:终端交易IP。如经、维度信息未上送,该字段必送。 |
extend_business_params 参数表
| 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|
| business_params | O | - | String | |
| goods_detail | O | - | String | |
| extend_params | O | - | String | |
| seller_id | O | 28 | String | 卖家支付宝用户 ID。如果该值为空,则默认为商户签约账号对应的支付宝用户 ID |
| discountable_amont | O | 11 | Price | 参与优惠计算的金额,单位为元,精确到 小 数 点 后 两 位 , 取值范围[0.01,100000000]。 如果该值未传入,但传入了【订单总金额】和【不可打折金额】,则该值默认为【订单总金额】-【不可打折金额】 |
| undiscountable_amount | O | 11 | Price | 不参与优惠计算的金额,单位为元,精确 到 小 数 点 后 两 位 , 取 值 范 围[0.01,100000000]。如果该值未传入,但传入了【订单总金额】和【可打折金额】,则该值默认为【订单总金额】-【可打折金额】 |
| buyer_logon_id | O | 100 | String | 买家支付宝账号 |
| operator_id | O | 28 | String | 商户操作员编号 |
| enable_pay_channels | O | 128 | String | 可用渠道,用户只能在指定渠道范围内支付。当有多个渠道时用“,”分隔,与 disable_pay_channels 互 斥。 |
| settle_info | O | - | SettleInfo | 描述结算信息,json 格式,详见结算参数说明 |
| alipay_store_id | O | 32 | String | 支付宝的店铺编号 |
| ext_user_info | O | - | ExtUserInfo | 外部指定买家 |
| qr_code_timeout_express | O | 6 | String | 该笔订单允许的最晚付款时间,逾期将关闭交易,从生成二维码开始计时。取值范围:1m~15d。 m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在 0 点关闭)。 该参数数值不接受小数点,如 1.5h,可转换为90m。 (对应jspay_flag为0时) |
| merchant_order_no | O | 32 | String | 商户原始订单号,最大长度限制32 位 (对应jspay_flag为1/2/3时) |
| disable_pay_channels | O | 64 | String | 禁用支付渠道,多个渠道以逗号分割,如 同时禁用信用支付类型和积分,则 disable_pay_channels="cre dit_group,point" 具体的渠道以支付宝或者银联提供的为准 |
场景信息scene_info字段说明(当前仅针对微信交易会透传给微信):
| 名称 | 参数名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 门店Id | id | 否 | String(32) | SZTX001 | 门店唯一标识 |
| 门店名称 | name | 否 | String(64) | 腾讯大厦腾大餐厅 | 门店名称 |
| 门店行政区划码 | area_code | 否 | String(6) | 440305 | 门店所在地行政区划码 |
| 门店详细地址 | address | 否 | String(128) | 科技园中一路腾讯大厦 | 门店详细地址 |
1.6业务出参
| 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|
| resp_code | M | 无 | string | 返回状态码 0 - 成功,非0 - 失败。注:此字段是通信标识,是否获取到二维码要看result_code |
| resp_msg | C | 无 | string | 返回错误信息 错误描述:resp_code非0时返回 |
| result_code | M | 1 | string | 业务结果 0 - 成功,非0 - 失败 |
| error_code | O | 无 | string | 错误码 参考错误码信息表 |
| error_msg | O | 无 | string | 错误信息描述 |
| attach | O | 96 | string | 附加数据 原样返回;注意:只能是汉字、英文字母、数字 |
| merchant_id | M | 10 | string | 乐刷商户号 由乐刷分配 |
| sub_merchant_id | M | 无 | string | 通道商户号 微信、支付宝、QRC商户号 |
| third_order_id | M | 64 | string | 商户内部订单号 |
| nonce_str | M | 32 | string | 随机字符串 |
| sign | M | 32 | string | MD5签名结果 |
| td_code | C | 无 | string | 二维码链接 非公众号支付返回,可直接通过该链接生成二维码扫码支付(jspay_flag传0-2该字段才会返回) |
| jspay_info | C | 无 | string | 支付信息 原生公众号、服务窗、小程序,返回json格式字符串、银联JS支付返回URL,用云闪付打开此链接即可调起支付 生效时间:默认10分钟,具体时间看订单有效时间 |
| jspay_url | C | 无 | string | 支付跳转地址 简易支付时返回。重定向到该url可以完成后续支付流程。返回二维码链接有效期为10分钟; |
| leshua_order_id | M | 32 | string | 乐刷订单号 |
| pay_way | M | 无 | string | 支付类型 详见下方支付类型 |
| cost_time | C | 无 | string | 请求耗时 请求接口耗费的时间 |
| channel_flag | O | 32 | string | 通道标记 GXST:高校食堂 PUBWEL:公益 PUBPAY:公缴 ZFBLH:支付宝新蓝海 SLZXY:私立中小幼 INS:保险 ONLINE:线上 YLLZ:绿洲 |
| alipay_infos | O | trade_no:银联交易号 |
注意事项
(1)所有涉及到金额的单位都位分,币种为RMB,最小为1分,不允许出现小数
(2)文档中参数,标识为必填必须上送(如果缺少会报错),非必填的可填可不填(简易支付"支付跳转地址"字段为必传),
(3)返回参数中必填为是的参数是一定会返回的,必填为否的参数则不一定返回,因升级或配置等情况实际返回参数可能不会跟文档完全一致,必须以实际接收到的参数为准
获取微信用户openid
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842&token=&lang=zh_CN
获取支付宝用户openid
https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.8ujLD6&treeId=115&articleId=104114&docType=1
公众号支付请求示例
1、请求格式如下:
https://paygate.leshuazf.com/cgi-bin/lepos_pay_gateway.cgi?amount=1&
appid=wx00e59fa8be9ba128&jspay_flag=1&merchant_id=3219113278&
nonce_str=lnxouwc0r7l93453x5&order_expiration=60&pay_way=WXZF&service=get_tdcode&
sub_openid=oe5BX0qaVuC5vqYdj65GlUcyAVUM&third_order_id=202004271809453917&sign=2A500B7F906284717212304A9BCFB33D
返回示例
1、响应格式如下:
<leshua>
<resp_code><![CDATA[0]]></resp_code>
<merchant_id><![CDATA[3219113278]]></merchant_id>
<sign><![CDATA[D6D8B65D19C2874D645C8AB3001BDFC6]]></sign>
<pay_way><![CDATA[WXZF]]></pay_way>
<third_order_id><![CDATA[202004271809453917]]></third_order_id>
<jspay_info><![CDATA[{"appId":"wx00e59fa8be9ba128","timeStamp":"1587982188","nonceStr":"0331f99e446a406a933f599102c6a096","package":"prepay_id=wx271809485236369bff1b171c1846357400","signType":"RSA","paySign":"uNoENZ3BOqggJptJRPw9PLCN759+GPlGcgQ9J1XVE/TSiA0pR6wro6ZqBMtyQ2GixTnJcvwfilZK7Bf8TJQ1jMizWB6BjbjJMtpptLtFNGTexjW/QqjubIVRqlNYPepSZiPYNNDsk3DwvaiYKzIahQ1T4SP8nSdTVEsttgqwAgIyccB87/oNN/EHPtCCuFHDYoDdB5k0JW8PBybFXg0zuy1GxqBhHyi/DESzd+Ke8hi6ZZgFcFzWEl55hhxASMvsbXjbSenK98eGwd/f/sJa5zZjS1snt24n56vnkUkjEi31KL/j7u5xBx3l97WZESJN3Kdda2zwWIMNKYbSE+MpQQ=="}]]></jspay_info>
<nonce_str><![CDATA[hamzqguihsivovvcovgfqkrxxpklovxk]]></nonce_str>
<result_code><![CDATA[0]]></result_code>
<leshua_order_id><![CDATA[9000024427820118]]></leshua_order_id>
<sub_merchant_id><![CDATA[344415140]]></sub_merchant_id>
</leshua>
支付宝拉码支付请求示例
1、请求格式如下:
https://t-paygate.lepass.cn/cgi-bin/lepos_pay_gateway.cgi?amount=1&jspay_flag=0
&merchant_id=0000000018&nonce_str=w1hxpdiu9nkjfw5qrp&order_expiration=60&
pay_way=ZFBZF&service=get_tdcode&third_order_id=202004291733230374&
sign=340DB607E3BEE2BAE60807B3601008E2
返回示例
1、响应格式如下:
<leshua>
<resp_code><![CDATA[0]]></resp_code>
<merchant_id><![CDATA[0000000018]]></merchant_id>
<sign><![CDATA[8208ADC9E7E6DD8B7B020E2C14B58C68]]></sign>
<result_code><![CDATA[0]]></result_code>
<third_order_id><![CDATA[202004291733230374]]></third_order_id>
<pay_way><![CDATA[ZFBZF]]></pay_way>
<nonce_str><![CDATA[ibtzcpizitpmtenowvzasczstffcubex]]></nonce_str>
<td_code><![CDATA[https://qr.alipay.com/bax00753gvtsjixecagz00ce]]></td_code>
<leshua_order_id><![CDATA[0000005701801120]]></leshua_order_id>
<sub_merchant_id><![CDATA[2088231796689692]]></sub_merchant_id>
</leshua>
2、条码支付(被扫:B扫C)
请求地址
(1)/cgi-bin/lepos_pay_gateway.cgi
(2)测试商户信息及请求密钥和回调密钥请联系我们获取。
(3)生产环境走完协议流程并且联调完提交测试报告后,我司运营同事将会提供参数给贵司
请求参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 接口名 | service | M | 无 | string | upload_authcode(此为固定值) |
| t0交易标志 | t0 | O | 无 | int | 默认为0,0:d1交易 1:d0交易 |
| sign_type | sign_type | O | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法;(不上送默认为使用MD5算法) |
| 付款码 | auth_code | M | 无 | string | 支持以下付款码: 1. 微信数字付款码 2. 支付宝数字付款码 3. 云闪付APP 62开头付款码 4. 银行APP 62开头付款码 5. 数字人民币APP付款码(0100开头) 6. 支付宝刷脸付款码(fp开头) |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | M | 64 | string | 商户内部订单号,可以包含字母:确保同一个商户下唯一 |
| 订单金额 | amount | M | 10 | string | 总金额 |
| 分账标识 | royalty | O | 1 | string | 交易分账标识 0:普通交易 1:分账(用于分账的交易需传该参数) 2:交易主体分账(延迟结算) 3:预授权 注:如果未传该字段默认为0,按不分账处理 |
| 商户公 众账号 ID |
appid | O | 32 | string | 商户或者商户所属渠道号主体的公众号appid,由微信统一分配,仅对微信交易生效,传送前请确定商户和该appid已经建立绑定关系 |
| 通知地址 | notify_url | O | 128 | string | 接收乐刷通知的URL,需做UrlEncode 处理,需要绝对路径,确保乐刷能正确访问,若不需要回调请忽略 |
| 用户IP地址 | client_ip | O | 16 | string | 商户发起交易的IP地址 |
| 商品描述 | body | O | 256 | string | 商品描述,不能包含回车换行等特殊字符 |
| 商户门店编号 | shop_no | O | 16 | string | 只能是汉字、英文字母、数字 |
| 商户终端编号 | pos_no | O | 16 | string | 只能是汉字、英文字母、数字 注意:银联类型交易时,只能 8位:数字字母 不支持 特殊字符 |
| 附加数据 | attach | O | 96 | string | 支付成功原样返回;注意:只能是汉字、英文字母、数字 |
| 指定支付方式 | limit_pay | O | 1 | string | 1:禁止使用信用卡;0或者不填:不限制 |
| 订单优惠标记 | goods_tag | O | 32 | string | 订单优惠标记,透传给微信 |
| 商品详情 | goods_detail | O | 8000 | string | 按微信单品优惠券格式传递,透传给微信; 银联扫码交易时,透传给银联的“收款方附加数据”acqAddnData参数,当前银联的单品营销及扫码点餐均使用到该参数,具体参数格式及说明见:银联收款方附加数据。 |
| 花呗分期数 | hb_fq_num | O | 无 | string | 支付宝花呗分期数,支持3、6、12期 |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 业务拓展参数 | extend_business_params | O | 8000 | string | 该字段 为JSON格式的字符串,当前可透传支付宝的参数见下表 具体格式详见文档下方:业务拓展参数示例 注:花呗分期商家订单传参贴息示例: "extend_business_params":"{"business_params":{ "enable_thirdparty_subsidy":"N"}}" 如果第三⽅贴息活动为全场贴息,默认可贴息,传⼊ N 值则本笔交易禁⽤三⽅贴息; 如果第三⽅贴息活动为指定订单传参贴息,默认禁⽤贴息,传⼊Y 值则本笔交易启⽤三⽅贴息 |
| 设备编号 | device_info | O | 32 | string | 针对微信、支付宝有效,透传至银联。 微信:数字、字母、下划线格式 支付宝:目前支持非0开头的数字 |
| 门店编号 | store_id | O | 32 | string | 针对微信、支付宝有效,透传至银联。 微信:数字、字母、下划线格式 支付宝:目前支持非0开头的数字 |
| 通道商户号 | ass_merchant_id | O | 32 | string | 非必填。可使用指定的微信、支付宝子商户号进行交易,一个乐刷商户号有多个通道商户号情况下可用。 注:对应乐刷商户号大于200条时不能传该参数 |
| 银联服务商标识 | pnrins_id_cd | O | 32 | string | 银联扫码交易时,透传给银联,对应银联的 pnrInsIdCd参数。 |
| gps信息 | gps_info | O | 512 | string | 校验GPS信息格式, 如:-128.12,23.1 -- 1. xxx,xxx -- 2. 经度xxx为[-180,180]之间的浮点数,维度xxx为[-90,90]之间的浮点数,最多保留小数点八位float(11,8) |
| ** 基站信息** | bs_info | O | 512 | string | 校验基站信息格式, 格式说明: -- 1. 格式为:xxx,xxx,xxx,xxx 如:460,1,12,23454 -- 2. xxx均为整数,长度不超过11位 基站信息,从左至右依次对应以下几个字段: mcc: 移动国家号码,由3位数字组成,唯一地识别移动用户所属的国家。我国为460 mnc:移动网号,由两位数字组成,用于识别移动用户所归属的移动网 lac:位置区编码,为寻呼而设置的一个区域,覆盖一片地理区域,按寻呼量划分 ci :负责收发的天线所朝向的扇区编号 |
| 场景信息 | scene_info | O | string | 该字段用于上报场景信息,仅针对微信交易有效,目前支持上报实际门店信息。该字段 为JSON格式的字符串,对象格式为{"store_info":{"id": "门店 ID","name ": "名称","area_code": "编码","address": "地址"}} ,字段详细说明参考下文。 | |
| 电子发票功能 | need_receipt | O | boolean | 电子发票功能。仅针对微信交易有效,需要和微信公众平台的发票功能联合使用。 枚举: (只能为true或false,只支持全小写字母或全大写字母) 1. true 2. false |
|
| 交易终端信息 | terminal_info | O | String | 商户侧受理终端信息,格式为json 格 式。 如terminal_info= { "longitude":"-121.48352",#option "latitude":"+31.221345",#option "network_license":"P3100", "device_type":"01", "device_id":"54MPDz39", "serial_num":"5", "app_version": "v1.1.1" , "device_ip": "252.1.1.25" , } json内各参数说明 longitude:经度,+代表东经,-代表西经。 latitude:纬度,+代表北纬,-代表南纬。 network_license:银行卡受理终端入网编号。该 编号由“中国银联标识产品企业资质认证办公室”为通过入网认证的终端进行 分配。银联直连终端必填。 格式:5 位字符,例如 P3100 device_type:设备类型,01:自动柜员机(含 ATM 和 CDM)和 多媒体自助终端 02:传统 POS 03:mPOS 04:智能 POS 05:II 型固定电话 06:云闪付终端; 07:保留使用; 08:手机 POS; 09:刷脸付终端; 10:条码支付受理终端; 11:条码支付辅助受理终端; 12:行业终端(公交、地铁用于指定行 业的终端); 13:MIS 终端; serial_num:设备序列号,设备类型02、 03、04、05、06、08、09 或 10 时必填 encrypt_rand_num:仅在被扫支付类交易报文中出现:若付 款码为 19 位数字,则取后 6 位; 若付款码码为 EMV 二维码,则取其 tag 57 的卡号/token 号的后 6 位 secret_text:仅在条码支付交易报文中出现:64bit 的密文数据,对终端硬件序列号和加密 随机因子加密后的结果。 本子域取值为:64bit 密文数据进行 base64 编码后的结果。该字段需要服务商和厂商联调时由厂商sdk之类加密后给出。 app_version:终端应用程序的版本号。应用程序变更 应保证版本号不重复。当长度不足时, 右补空格。固定8位 device_ip:终端交易IP。如经、维度信息未上送,该字段必送。 |
extend_business_params参数:
| 变量名 | 必填 | 限制 | 类型 | 说明 | 示例 |
|---|---|---|---|---|---|
| business_params | O | - | Object | 商户传入业务信息,应用于安全,营销 等参数直传场景,格式为 json 格式。 |
|
| goods_detail | O | - | Array | 订单包含的商品列表信息,数组格式。 一般在支付宝扫码点餐业务中上传点餐的商品信息 |
[{"goods_id": "5544", "goods_name": "爽口青笋丝","price": "0.50","quantity": 2,"goods_category": "888", "categories_tree": "888","body": "爽口青笋丝","show_url":"pageFoodChain/storeDetail/main?suid=10"}] |
| ┖goods_id | M | 32 | String | 商品的编号 | |
| ┖alipay_goods_id | O | 32 | String | 支付宝定义的统一商品编号 | |
| ┖goods_name | M | 256 | String | 商品名称 | |
| ┖quantity | M | 10 | Number | 商品数量 | |
| ┖price | M | 9 | Price | 商品价格,单位为元 | |
| ┖goods_category | O | 24 | String | 商品类目 | |
| ┖categories_tree | O | 128 | String | 商品类目数,从商户品类目根节点到叶子节点的类目id组成,类目id使用 | 分割 |
| ┖body | O | 1000 | String | 商品描述信息 | |
| ┖show_url | O | 400 | String | 商品的展示地址 | http://www.alipay.co m/xxx.jpg |
| extend_params | O | - | Object | 支付宝业务扩展参数 | |
| ┖sys_service_provid er_id |
O | String | |||
| ┖hb_fq_num | O | String | |||
| ┖hb_fq_seller_percent | O | String | |||
| ┖industry_reflux_info | O | String | |||
| ┖card_type | O | String | |||
| ┖ | |||||
| ┖ | |||||
| ┖ | |||||
| ┖ | |||||
| seller_id | O | 28 | String | 如果该值为空,则默认为商户签约账号对应的支付宝用户ID预授权场景下无需上送 | |
| discountable_amont | O | 11 | Price | 参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。 如果该值未传入,但传入了【订单总金额】和【不可打折金额】,则该值默认为【订单总金额】-【不可打折金额】 | |
| undiscountable_amount | O | 11 | Price | 不参与优惠计算的金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。如果该值未传入,但传入了【订单总金额】和【可打折金额】,则该值默认为【订单总金额】-【可打折金额】 | |
| operator_id | O | 28 | String | 商户操作员编号 | |
| alipay_store_id | O | 32 | String | 支付宝的店铺编号 | |
| merchant_order_no | O | 32 | String | 商户的原始订单号 | |
| ext_user_info | O | - | ExtUserInfo | 外部指定买家 | |
| promo_params | O | 512 | PromoParam | 优惠明细参数,通过此属性补充营销参数 | |
| terminal_params | O | 2048 | String | json 格式;商户传入终端设备。如: {"credential":"28763443825664394:20180207192030954:abcdefGHIJKLMN","signature":"xxxxxxx","terminalType":"IOT"} |
|
| advance_payment_type | O | 20 | String | 支付模式类型, 若 值 为ENJOY_PAY_V2表示当前交易允许走先享后付 2.0 垫资 | |
| query_options | O | 1024 | String[] | 返回查询选项,商户通过上送该参数来定制同步需要额外返回的信息字段,数组格式。如:["fund_bill_list","voucher_detail_list","discount_goods_detail"] | |
| disable_pay_channels | O | 64 | String | 禁用支付渠道,多个渠道以逗号分割,如 同时禁用信用支付类型和积分,则 disable_pay_channels="cre dit_group,point" 具体的渠道以支付宝或者银联提供的为准 |
场景信息scene_info字段说明(当前仅针对微信交易会透传给微信):
| 名称 | 参数名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 门店Id | id | 否 | String(32) | SZTX001 | 门店唯一标识 |
| 门店名称 | name | 否 | String(64) | 腾讯大厦腾大餐厅 | 门店名称 |
| 门店行政区划码 | area_code | 否 | String(6) | 440305 | 门店所在地行政区划码 |
| 门店详细地址 | address | 否 | String(128) | 科技园中一路腾讯大厦 | 门店详细地址 |
返回参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 返回状态码 | resp_code | M | 无 | string | 0 - 成功,非0 - 失败。注:此字段是通信标识,业务状态要看result_code |
| 返回错误信息 | resp_msg | C | 无 | string | 错误描述:resp_code非0时返回 |
| 业务结果 | result_code | M | 1 | string | 0 - 成功,非0 - 失败 |
| 错误码 | error_code | O | 无 | string | 参考错误码信息表 |
| 错误码描述 | error_msg | O | 无 | string | 错误信息描述 |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 通道商户号 | sub_merchant_id | M | 无 | string | 微信、支付宝、QRC商户号 |
| 商户订单号 | third_order_id | M | 64 | string | 商户内部订单号 |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 订单状态 | status | M | 无 | string | 详见下方订单状态 |
| 乐刷订单号 | leshua_order_id | M | 32 | string | 乐刷订单号 |
| 支付类型 | pay_way | M | 无 | string | 详见下方支付类型 |
| 支付完成时间 | pay_time | C | 无 | string | 支付成功时才返回 |
| 银行类型 | bank_type | O | 无 | string | 使用银行卡支付以外的(如零钱)全部展示为others,使用银行卡支付的详见下方付款银行类型 |
| 用户openid | openid | C | 无 | string | 支付成功时才返回 |
| 微信、支付宝等订单号 | out_transaction_id | C | 无 | string | 支付成功时才返回 |
| 用户子标识 | sub_openid | C | 无 | string | 支付成功时才返回。微信:公众号APPID下用户唯一标识;支付宝:买家的支付宝用户ID |
| 附加数据 | attach | O | 96 | string | 支付成功原样返回;注意:只能是汉字、英文字母、数字 |
| 交易类型 | trade_type | C | 无 | string | 支付成功时才返回:MICROPAY-条码支付,NATIVE-原生扫码支付,JSAPI-公众号支付、服务窗支付,SmPgPay-小程序支付,JSAPIQuick-简易支付 |
| 通道订单号 | channel_order_id | C | 无 | string | 支付成功时才返回 |
| 通道订单时间 | channel_datetime | C | 无 | string | 支付成功时才返回 |
| 支付宝红包金额 | coupon | C | 无 | string | 支付成功时才返回,单位(分) |
| 应结算金额 | settlement_amount | C | 无 | string | 实际结算金额,支付成功时才返回,单位(分) |
| 折扣优惠金额 | discount_amount | C | 无 | string | 订单优惠金额,支付成功时才返回,单位(分) |
| 优惠详情 | promotion_detail | O | 无 | string | 银联单品的具体优惠详情; 微信优惠详情说明:微信官网 |
| 活动标志 | active_flag | O | 无 | string | 活动标志。WXLZ:微信绿洲;ZFBLH:支付宝蓝海 |
| 买家实付金额 | buyer_pay_amount | C | 无 | String | 微信、支付宝此值有效 |
| 请求耗时 | cost_time | C | 无 | string | 请求接口耗费的时间 |
| 通道标记 | channel_flag | O | 32 | string | GXST:高校食堂 PUBWEL:公益 PUBPAY:公缴 ZFBLH:支付宝新蓝海 SLZXY:私立中小幼 INS:保险 ONLINE:线上 |
| 银联/网联状态码 | channel_code | C | 无 | JSON | 透传银联的返回码。 银联支付宝:code, sub_code 银联微信:return_code, result_code,err_code 银联二维码平台:respCode 条码前置平台:status、code、result_code、err_code。 以上各种code,仅在银联返回时透传。 格式:<channel_code></channel_code> |
| alipay_infos | 见下alipay_infos参数表 |
alipay_infos参数表
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| total_amount | M | 11 | Price | 交易金额(单位:分, 类型:数字) | |
| settle_amount | C | 11 | String | 结算币种订单金额 | |
| pay_amount | C | 11 | String | 支付币种订单金额 | |
| receipt_amount | M | 11 | String | 实收金额(单位:分, 类型:数字) | |
| point_amount | C | 11 | Price | 使用集分宝付款的金额 | |
| invoice_amount | C | 11 | Price | 交易中可给用户开具发票的金额(单位:元) | |
| fund_bill_list | M | TradeFundBill[] | 交易支付使用的资金渠道。只有在签约中指定需要返回资金明细,或者入参的query_options 中指定时才返回该字段信息。 | ||
| card_balance | C | 11 | Price | 支付宝卡余额 | |
| store_name | C | 512 | String | 发生支付交易的商户门店名称 | |
| discount_goods_detail | C | 1024 | String | 本次交易支付所使用的单品券优惠的商品优惠信息。只有在 query_options中指定时才返回该字段信息。 | |
| async_payment_mode | C | 20 | String | 异步支付模式,先享后付业务会返回该参 数 , 目 前 有 三 种 值 :ASYNC_DELAY_PAY( 异 步 延 时 付款); ASYNC_REALTIME_PAY( 异步准实时付款); SYNC_DIRECT_PAY(同步直接扣款); | |
| purchase_merchant_contribute | C | 8 | Price | 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时商户优惠的金额 | |
| auth_trade_pay_mode | C | 64 | String | 预授权支付模式,该参数仅在信用预授权支付场景下返回。信用预授权支付:CREDIT_PREAUTH_PAY | |
| advance_amount | C | 11 | String | 先享后付 2.0 垫资金额,不返回表示没有走垫资,非空表示垫资支付的金额 | |
| business_params | C | 512 | String | 商户传入业务信息,具体值要和支付宝约定将商户传入信息分发给相应系统,应用于安全,营销等参数直传场景格式为 json 格式 | |
| buyer_user_type | C | 18 | String | 买家用户类型。 CORPORATE:企业用户;PRIVATE:个人用户。 | |
| buyer_user_name | C | 128 | String | 买家名称;买家为个人用户时为买家姓名,买家为企业用户时为企业名称; | |
| mdiscount_amount | C | 11 | String | 商家优惠金额 | |
| discount_amount | C | 11 | String | 平台优惠金额 | |
| charge_flags | C | 64 | String | 费率活动标识,当交易享受活动优惠费率时,返回该活动的标识;(1)蓝海活动优惠费率 0,值为 bluesea_1(2) 特 殊 行 业 优 惠 费 率 0 , 值 为industry_special_00(3) 特殊行业优惠费率千一,值为industry_special_01 | |
| buyer_logon_id | M | 100 | String | 买家支付宝账号 |
订单优惠金额
微信支付包含商户和微信给的优惠金额,支付宝支付只包含商户给的优惠金额,银联二维码支付只包含商户给的优惠金额
业务拓展参数示例
"extend_business_params": "{ "
extend_params ":{ "
sys_service_provider_id ":"
208812333665551 ", "
food_order_type ":"
home_delivery " } }",
银联单品营销请求示例
请求地址?amount=100&auth_code=XXXXXXXXXXXXXXXX&goods_detail=
%7b%22goodsInfo%22%3a%5b%7b%22id%22%3a%2212341234%22%2c%22name%22%3a%22%e6%b5%8b%e8%af%95%e5%95%86%e5%93%81%22%2c%22price%22%3a%22100%22%2c%22quantity%22%3a%221%22%7d%5d%7d
&merchant_id=XXXXXXXXXX&nonce_str=7aee8b722a614cfa9cfb39ad5409fcdf&service=upload_authcode&third_order_id=UB4C0D38F5091465F920200326100751&
sign=69fb04df6dda8bfd3110e4891efedc8b
银联收款方附加数据
price 和 quantity 字段为数字类型
银联扫码交易时good_detail示例:
{
"orderInfo" : {
"title" :"日用品",
"dctAmount" :"10000",
"addnInfo" :"屈臣氏(人民广场)店"
},
"goodsInfo" : [
{"id": "1234567890",
"name": "商品 1",
"price": 500,
"quantity": 1
},
{
"id": "1234567891",
"name": "商品 2",
"price": 1000,
"quantity": 2,
"category": "类目 1",
"addnInfo": "商品图片 http://www.95516.com/xxx.jpg" } ]
}
注:
- 银联扫码点餐时,在该域的订单信息 orderInfo 子域中的附加信息 addnInfo 字段需填写该门店对应的品牌标识、门店标识、桌号(其中 SaaS 收银的支付交易需有 品牌标识、门店标识,扫码点餐的支付交易必须有品牌标识、门店标识、桌号)。addnInfo 字段的参考格 式为:{brandId=值&storeId=值&tableNo=值},例如: addnInfo={brandId=AXMX&storeId=12345&tableNo=12}
- 银联单品营销时,按照银联需要的内容,在该域的商品信息goodsInfo上送对应的商品信息。
注意事项
(1)所有涉及到金额的单位都位分,币种为RMB,最小为1分,不允许出现小数
(2)文档中参数,标识为必填必须上送(如果缺少会报错),非必填的可填可不填
(3)返回参数中必填为是的参数是一定会返回的,必填为否的参数则不一定返回,因升级或配置等情况实际返回参数可能不会跟文档完全一致,必须以实际接收到的参数为准
3.扫码支付结果
3.1、扫码支付结果通知
由于诸多因素都会影响到支付结果的通知,推送可能存在延迟,并且不能保证100%推送成功。故强烈建议主接交易查询接口。
**POST Content-Type: text/xml; charset=utf-8 **
通知参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 错误码 | error_code | O | 无 | string | 参考错误码信息表 |
| sign_type | sign_type | O | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法;(不上送默认为使 用MD5算法) |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 商户号 | merchant_id | M | 10 | string | 乐刷商户号 |
| 通道商户号 | sub_merchant_id | M | 无 | string | 微信、支付宝、QRC商户号 |
| 乐刷订单号 | leshua_order_id | M | 32 | string | |
| 商户订单号 | third_order_id | M | 64 | string | |
| 订单金额 | amount | M | 无 | string | |
| 订单状态 | status | M | 无 | string | 详见下方订单状态 |
| 支付类型 | pay_way | M | 无 | string | 详见下方支付类型 |
| 支付时间 | pay_time | M | 无 | string | '2020-09-15 10:11:30' |
| 银行类型 | bank_type | O | 无 | string | 使用银行卡支付以外的(如零钱)全部展示为others,使用银行卡支付的详见下方付款银行类型 |
| 用户openid | openid | O | 无 | string | |
| 微信、支付宝等订单号 | out_transaction_id | O | 无 | string | |
| 用户子标识 | sub_openid | C | 无 | string | 支付成功时才返回。微信:微信公众号APPID 下用户唯一标识;支付宝:买家的支付宝用户ID |
| 附加数据 | attach | O | 96 | string | 原样返回;注意:只能是汉字、英文字母、数字 |
| 交易类型 | trade_type | C | 无 | string | 支付成功时才返回:MICROPAY-条码支付,NATIVE-原生扫码支付,JSAPI-公众号支付、服务窗支付,SmPgPay-小程序支付,JSAPIQuick-简易支付 |
| 通道订单号 | channel_order_id | C | 无 | string | 支付成功时才返回 |
| 通道订单时间 | channel_datetime | C | 无 | string | 支付成功时才返回 |
| 支付宝红包金额 | coupon | C | 无 | string | 支付成功时才返回 |
| 应结算金额 | settlement_amount | C | 无 | string | 实际结算金额,支付成功时才返回 |
| 折扣优惠金额 | discount_amount | C | 无 | string | 本订单优惠金额,支付成功时才返回 |
| 优惠详情 | promotion_detail | O | 无 | string | 银联单品的具体优惠详情;微信优惠详情说明:微信官网 |
| 活动标志 | active_flag | O | 无 | string | 活动标志:WXLZ:微信绿洲 ZFBLH:支付宝蓝海 |
| 买家实付金额 | buyer_pay_amount | O | 无 | String | 微信、支付宝此值有效 |
| 付款方附加数据 | iss_addn_data | M | 无 | String | 格式如下 |
| 设备编号 | device_info | O | 32 | string | 上游返回时才返 |
| 门店编号 | store_id | O | 32 | string | 上游返回时才返 |
| 通道标记 | channel_flag | O | 32 | string | GXST:高校食堂 PUBWEL:公益 PUBPAY:公缴 ZFBLH:支付宝新蓝海 SLZXY:私立中小幼 INS:保险 ONLINE:线上 |
| 花呗分期期数 | hb_fq_num | O | 无 | string | 支付宝花呗分期数,一般为3、6、12期,乐刷透传,具体期数由支付宝侧限定 |
| 支付宝优惠信息 | alipay_infos | string | 见下alipay_infos参数表 | ||
| 分期信息 | install_info | O | 无 | string | 包含分期笔数(install_nums)/分期付款手续费率(install_rate)/商户补贴手续费率(merchant_fee_subsidy)) |
alipay_infos参数表
| 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|
| total_amount | M | 11 | Price | 交易金额(单位:分, 类型:数字) |
| point_amount | O | 11 | Price | 积分支付的金额,单位为元,两位小数。该金额代表该笔交易中用户使用积分支付的金额,比如集分宝或者支付宝实时优惠等 |
| invoice_amount | O | 11 | Price | 交易中用户支付的可开具发票的金额,单位为元,两位小数。该金额代表该笔交易中可以给用户开具发票的金额 |
| receipt_amount | O | 11 | String | 实收金额(单位:分, 类型:数字) |
| discount_goods_detail | M | 1024 | String | 本次交易支付所使用的单品券优惠的商品优惠信息。只有在 query_options中指定时才返回该字段信息。 |
| mdiscount_amount | O | 11 | String | 商家优惠金额 |
| discount_amount | O | 11 | String | 平台优惠金额 |
| buyer_logon_id | M | 100 | String | 买家支付宝账号 |
| fund_bill_list | M | 256 | TradeFundBill[] | 交易支付使用的资金渠道。只有在签约中指定需要返回资金明细,或者入参的query_options 中指定时才返回该字段信息。 |
注意:
1、支付发起后,乐刷一般30s左右才会返回支付通知,如需快速获取支付结果,请调用“交易结果查询”接口发起查询。
2、支付通知的频率:0s/15s/30s/1m/4m/34m/64m/94m/124m/184m
支付类型
| 类型 | 说明 | 状态 |
|---|---|---|
| WXZF | 微信 | 支持 |
| ZFBZF | 支付宝 | 支持 |
| UPSMPAY | 银联二维码 | 支持 |
iss_addn_data参考格式:
| 参数名 | 变量名 | 类型 | 说明 |
|---|---|---|---|
| 商品优惠信息 | dctDetail | String | 商品优惠明细 |
| 商品编号 | id | String | 参与优惠的商品编号 |
| 优惠活动编号 | dctId | String | 优惠活动的编号 |
| 商品优惠数量 | dctQuantity | String | 参与优惠的商品数量 |
| 商品优惠金额 | dctPrice | String | 商品的优惠总金额(分) |
issAddnData= {
"dctDetail" : [{
"id": "1234567890",
"dctId": "app012345",
"dctQuantity": 1",
"dctPrice": "500"
},{
"id": "1234567891",
"dctId": "app012345",
"dctQuantity": "2",
"dctPrice": "1000",
返回参数
| 返回内容 | 说明 |
|---|---|
| 000000 | 通知成功,乐刷收到此返回后不会继续通知。返回内容000000是string类型,没有双引号。示例:return 000000; |
| 其他 | 乐刷收到回复或者未收到回复,系统会再次通知。为避免资源浪费,请核实并确保响应信息的准确性,可以是否重复通知为检查手段 |
注意:
1.回调地址为统一下单或条码支付的通知地址。
2.交易回调处理时间为5S内。
3.支付成功才进行推送。
付款银行类型
| 通道 | 说明 |
|---|---|
| 微信 | https://pay.weixin.qq.com/wiki/doc/api/mch_bank.php?chapter=4_2 |
| 支付宝 | https://alipay.open.taobao.com/doc2/detail?treeId=26&articleId=103259&docType=1 |
| 银联二维码 | 1 - 借记卡 2- 贷记卡 |
3.2、扫码交易结果查询
请求地址
(1)/cgi-bin/lepos_pay_gateway.cgi
(2)测试商户信息及请求密钥和回调密钥请联系我们获取。
(3)生产环境走完协议流程并且联调完提交测试报告后,我司运营同事将会提供参数给贵司
(4)注:查询时,除非返回明确的支付成功、支付失败、订单关闭等最终状态,其他错误或者未支付状态,都需要再查询,直到得到明确的支付状态。如果超过一段时间还是未支付,可以调用关闭订单接口。
请求参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 接口名 | service | M | 无 | string | query_status(此为固定值) |
| sign_type | sign_type | O | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法;(不上送默认为使用MD5算法) |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | O | 64 | string | 选填 |
| 乐刷订单号 | leshua_order_id | O | 16 | string | third_order_id和leshua_order_id必填1个,优先使用leshua_order_id |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
返回参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 返回状态码 | resp_code | M | 无 | string | 0 - 成功,非0 - 失败。注:此字段是通信标识,业务状态要看result_code |
| 返回错误信息 | resp_msg | C | 无 | string | 错误描述:resp_code非0时返回 |
| 业务结果 | result_code | M | 1 | string | 0 - 成功,非0 - 失败 |
| 错误码 | error_code | O | 无 | string | 参考错误码信息表 |
| 错误码描述 | error_msg | O | 无 | string | 错误信息描述 |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 通道商户号 | sub_merchant_id | M | 无 | string | 微信、支付宝、QRC商户号 |
| 商户订单号 | third_order_id | M | 64 | string | 商户内部订单号 |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 订单状态 | status | M | 无 | string | 详见下方订单状态 |
| 乐刷订单号 | leshua_order_id | M | 32 | string | 乐刷订单号 |
| 订单金额 | amount | M | 无 | string | |
| 支付类型 | pay_way | M | 无 | string | 详见下方支付类型 |
| 支付完成时间 | pay_time | C | 无 | string | 支付成功时才返回 |
| 银行类型 | bank_type | O | 无 | string | 使用银行卡支付以外的(如零钱)全部展示为others,使用银行卡支付的详见下方付款银行类型 |
| 用户openid | openid | C | 无 | string | 支付成功时才返回 |
| 微信、支付宝等订单号 | out_transaction_id | C | 无 | string | 支付成功时才返回 |
| 用户子标识 | sub_openid | C | 无 | string | 支付成功时才返回。微信:微信公众号APPID下用户唯一标识;支付宝:买家的支付宝用户ID |
| 附加数据 | attach | O | 96 | string | 支付成功时原样返回;注意:只能是汉字、英文字母、数字 |
| 交易类型 | trade_type | C | 无 | string | 支付成功时才返回:MICROPAY-条码支付,NATIVE-原生扫码支付,JSAPI-公众号支付、服务窗支付,SmPgPay-小程序支付,JSAPIQuick-简易支付 |
| 通道订单号 | channel_order_id | C | 无 | string | 支付成功时才返回 |
| 通道订单时间 | channel_datetime | C | 无 | string | 支付成功时才返回 |
| 支付宝红包金额 | coupon | C | 无 | string | 支付成功时才返回,单位(分) |
| 应结算金额 | settlement_amount | C | 无 | string | 实际结算金额,支付成功时才返回 |
| 折扣优惠金额 | discount_amount | C | 无 | string | 订单优惠金额,支付成功时才返回 |
| 优惠详情 | promotion_detail | O | 无 | string | 银联单品的具体优惠详情; 微信优惠详情说明:微信官方文档 |
| 活动标志 | active_flag | O | 无 | string | 活动标志。WXLZ:微信绿洲;ZFBLH:支付宝蓝海 |
| 买家实付金额 | buyer_pay_amount | O | 无 | String | 微信、支付宝此值有效 |
| 请求耗时 | cost_time | C | 无 | string | 请求接口耗费的时间 |
| 退款金额 |
refund_amount | O | 无 | string | 订单已退款的金额 |
| 简易支付标识 | simple_url_flag | O | 无 | string | 1表示是简易支付,0表示不是简易支付 |
| 设备编号 | device_info | O | 32 | string | 上游返回时才返 |
| 门店编号 | store_id | O | 32 | string | 上游返回时才返 |
| 支付中间态补充 | interm_state | O | 32 | O | 目前仅针对微信支付,订单为支付中时返回: NOTPAY,USERPAYING |
| 通道标记 | channel_flag | O | 32 | string | GXST:高校食堂 PUBWEL:公益 PUBPAY:公缴 ZFBLH:支付宝新蓝海 SLZXY:私立中小幼 INS:保险 ONLINE:线上 |
| 花呗分期期数 | hb_fq_num | O | 无 | string | 支付宝花呗分期数,一般为3、6、12期,乐刷透传,具体期数由支付宝侧限定 |
| alipay_infos | 见下alipay_infos参数表 |
alipay_infos参数表
| 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|
| total_amount | M | 11 | Price | 交易金额(单位:分, 类型:数字) |
| point_amount | O | 11 | Price | 积分支付的金额,单位为元,两位小数。该金额代表该笔交易中用户使用积分支付的金额,比如集分宝或者支付宝实时优惠等 |
| invoice_amount | O | 11 | Price | 交易中用户支付的可开具发票的金额,单位为元,两位小数。该金额代表该笔交易中可以给用户开具发票的金额 |
| receipt_amount | O | 11 | String | 实收金额(单位:分, 类型:数字) |
| discount_goods_detail | M | 1024 | String | 本次交易支付所使用的单品券优惠的商品优惠信息。只有在 query_options中指定时才返回该字段信息。 |
| mdiscount_amount | O | 11 | String | 商家优惠金额 |
| discount_amount | O | 11 | String | 平台优惠金额 |
| buyer_logon_id | M | 100 | String | 买家支付宝账号 |
| fund_bill_list | M | 256 | TradeFundBill[] | 交易支付使用的资金渠道。只有在签约中指定需要返回资金明细,或者入参的query_options 中指定时才返回该字段信息。 |
注意事项
(1)所有涉及到金额的单位都位分,币种为RMB,最小为1分,不允许出现小数
(2)文档中参数,标识为必填必须上送(如果缺少会报错),非必填的可填可不填
(3)返回参数中必填为是的参数是一定会返回的,必填为否的参数则不一定返回,因升级或配置等情况实际返回参数可能不会跟文档完全一致,必须以实际接收到的参数为准
4、扫码退款
4.1、扫码退款接口
注意:超过三个月的订单,无法退款请注意
****一个交易订单号,最多支持发起50次退款
请求地址
(1)/cgi-bin/lepos_pay_gateway.cgi
(2)测试商户信息及请求密钥和回调密钥请联系我们获取。
(3)生产环境走完协议流程并且联调完提交测试报告后,我司运营同事将会提供参数给贵司
(4)退款一般会返回退款中的状态,如需获取真实退款状态,请调用退款查询接口
(5)每笔支付订单部分退款次数不能超过50次
(6)退款有效期为60天,即订单发起后的60天内可以退款
请求参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 接口名 | service | M | 无 | string | unified_refund 注:此为固定值 |
| sign_type | sign_type | O | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法;(不上送默认为使用MD5算法) |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | O | 64 | string | |
| 乐刷订单号 | leshua_order_id | O | 32 | string | 商户订单号跟乐刷订单号必填1个,优先使用leshua_order_id |
| 商户退款单号 | merchant_refund_id | M | 64 | string | 可以包含字母(不能有“_”等特殊字符),确保同一商户下唯一 |
| 附加数据 | attach | O | 96 | string | 退款成功原样返回;注意:只能是汉字、英文字母、数字 |
| 退款金额 | refund_amount | M | 10 | string | 退款金额,可做部分退款 |
| 退款类型 | refund_type | O | 否 | string | 0:不使用账户余额退款, 1:可以使用账户余额退款(优先使用正向交易抵扣,正向交易不够抵扣情况下可用账户余额进行退款)。 2:限定只可以用账户余额进行退款 不传默认不使用账户余额退款 (注意: 实时清分的只能使用账户退款 ) |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串,长度要求32位以内 |
| 通知地址 | notify_url | O | 128 | string | 接收乐刷退款结果通知的URL,需做Url Encode处理,需要绝对路径,确保乐刷能正确访问 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
返回参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 返回状态码 | resp_code | M | 无 | string | 0 - 成功,非0 - 失败。注:此字段是通信标识,业务状态要看result_code |
| 返回错误信息 | resp_msg | C | 无 | string | 错误描述:resp_code非0时返回 |
| 业务结果 | result_code | M | 1 | string | 0 - 成功,非0 - 失败 |
| 错误码 | error_code | O | 无 | string | 参考错误码信息表 |
| 错误码描述 | error_msg | O | 无 | string | 错误信息描述 |
| 附加数据 | attach | O | 96 | string | 退款成功原样返回;注意:只能是汉字、英文字母、数字 |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 通道商户号 | sub_merchant_id | M | 无 | string | 微信、支付宝、QRC商户号 |
| 商户订单号 | third_order_id | M | 64 | string | 商户内部订单号 |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 订单状态 | status | M | 无 | string | 详见下方订单状态 |
| 乐刷订单号 | leshua_order_id | M | 32 | string | 乐刷订单号 |
| 退款金额 | refund_amount | M | 无 | string | 退款金额 |
| 商户退款id | merchant_refund_id | M | 64 | string | |
| 乐刷退款id | leshua_refund_id | M | 32 | string | |
| 订单总金额 | total_amount | M | 无 | string | 订单总金额 |
| 订单余额 | order_balance | M | 无 | string | 订单余额:本次退款后订单剩余金额 |
| 实际退款金额 | settlement_refund_amount | O | 无 | string | 实际退款金额 |
| 折扣优惠退款金额 | discount_refund_amount | O | 无 | string | 折扣优惠退款金额 |
| 退款优惠详情 | refund_detail | O | 无 | string | 退款优惠详情 |
| 请求耗时 | cost_time | C | 无 | string | 请求接口耗费的时间 |
4.2、扫码退款查询
请求地址
(1)/cgi-bin/lepos_pay_gateway.cgi
(2)测试商户信息及请求密钥和回调密钥请联系我们获取。
(3)生产环境走完协议流程并且联调完提交测试报告后,我司运营同事将会提供参数给贵司
(4)注: 此接口如果查询到退款状态为中间状态时,会同步向上游查询一次退款状态;如果查询到是退款异常情况时,会同步向上游重新发起一次退款请求。
请求参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 接口名 | service | M | 无 | string | unified_query_refund 注:此为固定值 |
| sign_type | sign_type | O | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法;(不上送默认为使用MD5算法) |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | O | 64 | string | |
| 乐刷订单号 | leshua_order_id | O | 32 | string | 跟third_order_id必填1个 |
| 商户退款单号 | merchant_refund_id | O | 64 | string | |
| 乐刷退款单号 | leshua_refund_id | O | 32 | string | 跟merchant_refund_id必填1个 |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
返回参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 返回状态码 | resp_code | M | 无 | string | 0 - 成功,非0 - 失败。注:此字段是通信标识,业务状态要看result_code |
| 返回错误信息 | resp_msg | C | 无 | string | 错误描述:resp_code非0时返回 |
| 业务结果 | result_code | M | 1 | string | 0代表成功,非0代表失败 |
| 错误码 | error_code | O | 无 | string | 参考错误码信息表 |
| 错误码描述 | error_msg | O | 无 | string | 错误信息描述 |
| 附加数据 | attach | O | 96 | string | 原样返回;注意:只能是汉字、英文字母、数字 |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 通道商户号 | sub_merchant_id | M | 无 | string | 微信、支付宝、QRC商户号 |
| 商户订单号 | third_order_id | M | 64 | string | 商户内部订单号 |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 订单状态 | status | M | 无 | string | 详见下方订单状态 |
| 乐刷订单号 | leshua_order_id | M | 32 | string | 乐刷订单号 |
| 退款金额 | refund_amount | M | 无 | string | 退款金额 |
| 商户退款id | merchant_refund_id | M | 64 | string | |
| 乐刷退款id | leshua_refund_id | M | 32 | string | |
| 订单总金额 | total_amount | M | 无 | string | |
| 退款时间 | refund_time | O | 无 | string | 退款成功时间:退款成功才返回 |
| 实际退款金额 | settlement_refund_amount | O | 无 | string | 实际退款金额 |
| 折扣优惠退款金额 | discount_refund_amount | O | 无 | string | 折扣优惠退款金额 |
| 退款优惠详情 | refund_detail | O | 无 | string | 退款优惠详情 |
| 请求耗时 | cost_time | C | 无 | string | 请求接口耗费的时间 |
4.3、扫码退款结果通知
由于诸多因素都会影响到支付结果的通知,推送可能存在延迟,并且不能保证100%推送成功。故强烈建议主接交易查询接口。
通知参数
| 字段名 | 变量名 | 必填 | 长度限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 错误码 | error_code | O | 无 | string | 参考错误码信息表 |
| sign_type | sign_type | O | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法;(不上送默认为使用MD5算法) |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 订单状态 | status | M | 无 | string | 详见下方订单状态 |
| 失败原因 | failure_reason | O | 无 | string | 失败原因 |
| 附加数据 | attach | O | 96 | string | 原样返回;注意:只能是汉字、英文字母、数字 |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 通道商户号 | sub_merchant_id | M | 无 | string | 微信、支付宝、QRC商户号 |
| 商户订单号 | third_order_id | M | 64 | string | 商户内部订单号 |
| 乐刷订单号 | leshua_order_id | M | 32 | string | 乐刷订单号 |
| 退款金额 | refund_amount | M | 无 | string | 退款金额 |
| 商户退款id | merchant_refund_id | M | 64 | string | |
| 乐刷退款id | leshua_refund_id | M | 32 | string | |
| 订单总金额 | total_amount | M | 无 | string | |
| 退款时间 | refund_time | C | 无 | string | 退款成功时间:退款成功才返回 |
| 折扣优惠退款金额 | discount_refund_amount | O | 无 | String | 折扣优惠退款金额 |
| 实际退款金额 | settlement_refund_amount | O | 无 | String | 实际退款金额 |
| 退款优惠详情 | refund_detail | O | 无 | String | 退款优惠详情(在退款成功后才返回) |
注意:
1、发起退款请求后,乐刷一般30s左右才会返回支付通知,如需快速获取支付结果,请调用“退款”接口发起查询。
返回参数
| 返回内容 | 说明 |
|---|---|
| 000000 | 通知成功,乐刷收到此返回后不会继续通知 |
| 其他 | 乐刷收到回复或者未收到回复,系统会再次通知。为避免资源浪费,请核实并确保响应信息的准确性,可以是否重复通知为检查手段 |
5、扫码订单关闭接口
请求地址
(1)/cgi-bin/lepos_pay_gateway.cgi
(2)测试商户信息及请求密钥和回调密钥请联系我们获取。
(3)生产环境走完协议流程并且联调完提交测试报告后,我司运营同事将会提供参数给贵司
(4)统一条码支付的订单后15秒后才允许调用订单关闭接口,统一下单订单无此限制。
(5)银联二维码的不支持关单
请求参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 接口名 | service | M | 无 | string | close_order(此为固定值) |
| sign_type | sign_type | O | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法;(不上送默认为使用MD5算法) |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | O | 64 | string | 选填 |
| 乐刷订单号 | leshua_order_id | O | 16 | string | third_order_id和leshua_order_id必填1个,优先使用leshua_order_id |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
返回参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 返回状态码 | resp_code | M | 无 | string | 0 - 成功,非0 - 失败。注:此字段是通信标识,业务状态要看result_code |
| 返回错误信息 | resp_msg | C | 无 | string | 错误描述:resp_code非0时返回 |
| 业务结果 | result_code | M | 1 | string | 0 - 成功,非0 - 失败 |
| 错误码 | error_code | O | 无 | string | 参考错误码信息表 |
| 错误码描述 | error_msg | O | 无 | string | 错误信息描述 |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | M | 64 | string | 商户内部订单号 |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 用户子标识 | sub_openid | M | 无 | string | |
| 订单状态 | status | M | 无 | string | |
| 乐刷订单号 | leshua_order_id | M | 32 | string | 乐刷订单号 |
| 交易类型 | pay_way | M | 无 | string | 详见下方支付类型 |
| 订单金额 | amount | M | 无 | string | |
| 请求耗时 | cost_time | C | 无 | string | 请求接口耗费的时间 |
订单状态
| 值 | 说明 |
|---|---|
| 0 | 支付中 |
| 2 | 支付成功 |
| 6 | 订单关闭 |
| 8 | 支付失败 |
| 10 | 退款中 |
| 11 | 退款成功 |
| 12 | 退款失败 |
6、授权码
授权码相关接口与**条码支付接口**配套使用
6.1、授权码查询用户openid
请求地址
(1)/cgi-bin/lepos_pay_gateway.cgi
(2)测试商户信息及请求密钥和回调密钥请联系我们获取。
(3)生产环境走完协议流程并且联调完提交测试报告后,我司运营同事将会提供参数给贵司
(4)注: 此接口需要上送户付款码和对应的微信公众号appid才能查询到用户openid
请求参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 接口名 | service | M | 无 | string | query_openid 注:此为固定值 |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 授权码 | auth_code | M | 32 | string | 微信授权码 |
| 微信appid | appid | M | 32 | string | 微信公众号ID |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
返回参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 返回状态码 | resp_code | M | 无 | string | 0 - 成功,非0 - 失败。注:此字段是通信标识,业务状态要看result_code |
| 返回错误信息 | resp_msg | C | 无 | string | 错误描述:resp_code非0时返回 |
| 业务结果 | result_code | M | 1 | string | 0 - 成功,非0 - 失败 |
| 错误码 | error_code | O | 无 | string | 参考错误码信息表 |
| 错误码描述 | error_msg | O | 无 | string | 错误信息描述 |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | M | 64 | string | 商户内部订单号 |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 用户子标识 | sub_openid | M | 无 | string | |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 微信用户标识 | openid | M | 无 | string | 乐刷appid下的用户微信openid |
6.2、授权码获取银联云闪付用户ID
简要描述
(1)使用用户授权码换取银联云闪付用户ID,使用此ID发起银联JS支付
注: 此步骤的前置条件:与公司归属银联分公司签署协议,并添加域名白名单获取用户授权码。
请求参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 接口名 | service | M | 无 | string | query_userid(此为固定值) |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 用户授权码 | user_auth_code | M | 无 | string | |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 银联支付标识 | app_up_identifier | C | 收款方识别HTTP请求User Agent中包含银联支付标识,格式为“UnionPay/<版本号> <App标识>”,注意APP标识仅支持字母和数字。云闪付app支付不填,云闪付外app必填。示例:UnionPay/1.0 ICBCeLife | ||
| 签名 | sign | M | 32 | string | MD5签名结果 |
返回参数
| 参数名 | 变量名 | 必填 | 限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 返回状态码 | resp_code | M | 无 | string | 0 - 成功,非0 - 失败。注:此字段是通信标识,业务状态要看result_code |
| 返回错误信息 | resp_msg | O | 无 | string | 错误描述:resp_code非0时返回 |
| 业务结果 | result_code | M | 1 | string | 0 - 成功,非0 - 失败 |
| 错误码 | error_code | O | 无 | string | 参考错误码信息表 |
| 错误码描述 | error_msg | O | 无 | string | 错误信息描述 |
| 商户号 | merchant_id | M | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | M | 64 | string | 商户内部订单号 |
| 随机字符串 | nonce_str | M | 32 | string | 随机字符串 |
| 签名 | sign | M | 32 | string | MD5签名结果 |
| 用户ID | user_id | O | 无 | string |
支付类型
| 类型 | 说明 | 状态 |
|---|---|---|
| WXZF | 微信 | 支持 |
| ZFBZF | 支付宝 | 支持 |
| UPSMZF | 银联二维码 | 支持 |
| DCPAY | 数字货币 | 支持 |
订单状态
| 值 | 说明 |
|---|---|
| 0 | 支付中 |
| 2 | 支付成功 |
| 6 | 订单关闭 |
| 8 | 支付失败 |
| 10 | 退款中 |
| 11 | 退款成功 |
| 12 | 退款失败 |
付款银行类型
| 通道 | 说明 |
|---|---|
| 微信 | https://pay.weixin.qq.com/wiki/doc/api/mch_bank.php?chapter=4_2 |
| 支付宝 | https://alipay.open.taobao.com/doc2/detail?treeId=26&articleId=103259&docType=1 |
| 银联二维码 | 1 - 借记卡 2- 贷记卡 |
业务拓展参数示例(支付宝小程序需传)
"extend_business_params": "{ "
business_params ": {
"bizSource": "mAppQrFood",
"sourcePath": "pageFoodChain/shopTakeOut/main?suid=10"
},
"goods_detail": [{
"goods_id": "5544",
"goods_name": "爽口青笋丝",
"price": "0.50",
"quantity": 2,
"goods_category": "888",
"categories_tree": "888",
"body": "爽口青笋丝",
"show_url": "pageFoodChain/storeDetail/main?suid=10"
}], "extend_params": {
"sys_service_provider_id": "208812333665551",
"food_order_type": "home_delivery"
}
}",
条码支付接口goods_detail,按银联单品营销格式传递**参数goodsInfo,格式如下**
"goods_detail":{
"goodsInfo" : [
{
"id": "1234567890",
"name": "商品 1",
"price": "500",
"quantity": "1"},
{
"id": "1234567891",
"name": "商品 2",
"price": "1000",
"quantity": "2",
"category": "类目 1",
"addnInfo": "商品图片 http://www.95516.com/xxx.jpg"}]
},
7、刷卡及扫码支付异步通知
采用HTTP 标准的POST协议(请使用 application/x-www-form-urlencoded 此Content-Type接收通知消息),为了保证数据正确性、准确性,数据必须验证签名。
返回数据(支付成功通知如下)
<leshua>
<error_code>0<error_code>
<amount>1<amount>
<attach>0<attach>
<bank_type>ALIPAYACCOUNT<bank_type>
<buyer_pay_amount><buyer_pay_amount>
<channel_datetime>2018-12-07 22:42:39<channel_datetime>
<channel_order_id>7551000001201812073279154152<channel_order_id>
<coupon>0<coupon>
<discount_amount>0<discount_amount>
<goods_tag><goods_tag>
<leshua_order_id>1812072242293655<leshua_order_id>
<merchant_id>0000000018<merchant_id>
<openid>2088032562556921<openid>
<out_transaction_id>2018120722001456935441223102<out_transaction_id>
<pay_time>2018-12-07 22:42:39<pay_time>
<pay_way>ZFBZF<pay_way>
<royalty>0<royalty>
<settlement_amount>1<settlement_amount>
<sign>0b574d40e722ec76b55d4e8795f71182<sign>
<status>2<status>
<sub_openid><sub_openid>
<third_order_id>20181207224223102101<third_order_id>
<trade_type>NATIVE<trade_type>
<leshua>
返回数据(刷卡支付成功通知如下)
<leshua>
<error_code>0</error_code>
<amount>600</amount>
<authorize_code>000000</authorize_code>
<batch_no>000010</batch_no>
<card_type></card_type>
<cups_merchant_id>890584058130851</cups_merchant_id>
<cups_terminal_id>89147601</cups_terminal_id>
<flow_id>000109</flow_id>
<leshua_order_id>2203221139307885</leshua_order_id>
<leshua_refund_id>220322393155923079</leshua_refund_id>
<leshua_sn>2041000394</leshua_sn>
<merchant_id>6012514015</merchant_id>
<merchant_returngoods_id>20220322114213731</merchant_returngoods_id>
<pan_overseas></pan_overseas>
<pan_type></pan_type>
<reference_number>113935096395</reference_number>
<returngoods_time>2022-03-22 11:41:43</returngoods_time>
<sign>21e70c91171b8d6ba00dea3c3ef6affa</sign>
<sn>218JCA8L7760</sn>
<status>32</status>
<third_order_id>20220322114005352</third_order_id>
<transaction_id>220322393155923079</transaction_id>
</leshua>
返回数据(扫码退款成功通知如下)
<leshua>
<error_code>0</error_code>
<attach/>
<discount_refund_amount>0</discount_refund_amount>
<leshua_order_id>90001401275201</leshua_order_id>
<leshua_refund_id>90002391275201</leshua_refund_id>
<merchant_id>9115219</merchant_id>
<merchant_refund_id>0000091152192752007041753</merchant_refund_id>
<nonce_str>mccqvx9q0d5nifcsd0uv9xlmkxgr6kdg</nonce_str>
<refund_time>2020-07-04 17:53:24</refund_time>
<settlement_refund_amount>1000</settlement_refund_amount>
<sign>426adb68310b659953d18b629c1a2e7e</sign>
<status>11</status>
<sub_merchant_id>208860057301617</sub_merchant_id>
<third_order_id>0000091152192752007041749</third_order_id>
<total_amount>5500</total_amount>
</leshua>
7.1 扫码支付成功通知
(1)通知 URL 是代理商后台配置的通知地址。扫码支付成功后,乐刷会把相关支付信息和用户信息发送到该 URL,商户需要接收处理信息。对后台通知交互时,如果收到商户的应答不是成功或者超时,乐刷认为通知失败,会通过一定的策略定期重新发起通知,尽可能的提高通知的成功率,但是不保证通知最终一定能成功。由于存在重复发送后台通知的情况,因此同样的通知可能会多次发送给商户系统。系统必须能够正确处理重复的通知。
(2)验证签名方法:通知的 error_code、sign 字段不参与签名,签名方式参照数据格式及数据签名说明,其中签名 key 统一由乐刷提供。另外,组织签名串时空值也参与签名。
通知参数
| 字段名 | 变量名 | 必填 | 长度限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 错误码 | error_code | 否 | 无 | string | 参照错误码信息参照表 |
| sign_type | sign_type | 否 | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法; |
| 签名 | sign | 是 | 32 | string | MD5 签名结果 |
| 商户号 | merchant_id | 是 | 10 | string | 乐刷商户号 |
| 乐刷订单号 | leshua_order_id | 是 | 32 | string | |
| 商户订单号 | third_order_id | 是 | 64 | string | |
| 订单金额 | amount | 是 | 无 | string | |
| 订单状态 | status | 是 | 无 | string | 见下方订单的状态 |
| 支付类型 | pay_way | 是 | 无 | string | 见下方支付类型 |
| 支付时间 | pay_time | 是 | 无 | string | '2018-08-20 19:19:19' |
| 银行类型 | bank_type | 否 | 无 | string | |
| 用户openid | openid | 否 | 无 | string | |
| 微信、支付宝等订单号 | out_transaction_id | 否 | 无 | string | |
| 用户子标识 | sub_openid | 否 | 无 | string | 支付成功时才返回。微信:子商户appid 下用户唯一标识;支付宝:买家的支付宝用户id; |
| 附加数据 | attach | 否 | 96 | string | 支付成功时才返回。原样返回 |
| 交易类型 | trade_type | 否 | 无 | string | 支付成功时才返回。(1)MICROPAY--刷卡支付/条码支付(2)NATIVE--原生扫码支付(3)JSAPI--公众号支付/服务窗支付(4)APP--app支付(5)H5Pay-支付支付(6)SmPgPay-小程序支付(7)JSAPIQuick-简易支付 |
| 通道订单号 | channel_order_id | 否 | 无 | string | 支付成功时才返回 |
| 通道订单时间 | channel_datetime | 否 | 无 | string | 支付成功时才返回 |
| 支付宝红包金额 | coupon | 否 | 无 | string | 支付成功时才返回,单位:分 |
| 应结算金额 | settlement_amount | 否 | 无 | string | 实际结算金额,支付成功时才返回,单位:分 |
| 折扣优惠金额 | discount_amount | 否 | 无 | string | 本订单优惠金额,支付成功时才返回,单位:分 |
| 优惠详情 | promotion_detail | 否 | 无 | string | 优惠详情:微信官网 |
| 活动标志 | active_flag | 否 | 无 | string | 活动标志:WXLZ:微信绿洲,ZFBLH:支付宝蓝海 |
| 商户终端编号 | pos_no | 否 | 60 | string | 只能是汉字、英文字母、数字 注意:银联类型交易时,只能 8位:数字字母 不支持 特殊字符 |
返回参数
| 字段名 | 说明 |
|---|---|
| 000000 | 通知成功,乐刷收到此返回后不会继续通知 |
| 其他 | 乐刷收到回复或者未收到回复,系统会再次通知。为避免资源浪费,请核实并确保响应信息的准确性,可以是否重复通知为检查手段。 |
支付类型
| 类型 | 说明 | 状态 |
|---|---|---|
| WXZF | 微信 | 支持 |
| ZFBZF | 支付宝 | 支持 |
| UPSMZF | 银联二维码 | 支持 |
| QQZF | 支持 | |
| POS | 刷卡 | 支持 |
| DCPAY | 数字货币 | 支持 |
| UPSMPAY | 银联二维码(回调时返回) | 支持 |
订单状态值
| 值 | 说明 |
|---|---|
| 0 | 支付中 |
| 2 | 支付成功 |
| 6 | 订单关闭 |
| 8 | 支付失败 |
| 10 | 退款中 |
| 11 | 退款成功 |
| 12 | 退款失败 |
| 30 | 刷卡支付成功 |
| 31 | 刷卡撤销成功 |
| 32 | 刷卡退货成功 |
| 33 | 刷卡冲正成功 |
7.2 扫码退款通知
(1)通知 URL 与扫码支付成功通知一样,均为代理商后台配置的通知地址。扫码交易退款时、退款成功时、退款失败时,乐刷均会把相关退款信息发送到该 URL,商户需要接收处理信息。对后台通知交互时,如果收到商户的应答不是成功或者超时,乐刷认为通知失败,会通过一定的策略定期重新发起通知,尽可能的提高通知的成功率,但是不保证通知最终一定能成功。由于存在重复发送后台通知的情况,因此同样的通知可能会多次发送给商户系统。系统必须能够正确处理重复的通知。
(2)验证签名方法:通知的 error_code、sign 字段不参与签名,签名方式参照第 3 章 数据签名,其中签名 key 统一由乐刷提供。另外,组织签名串时空值也参与签名。
通知参数
| 字段名 | 变量名 | 必填 | 长度限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 签名 | sign | 是 | 32 | string | MD5 签名结果 |
| sign_type | sign_type | 否 | 10 | string | 接口签名类型::MD5/SM3。 支持MD5和国密SM3算法 |
| 订单状态 | status | 是 | 无 | string | 见下方订单状态 |
| 失败原因 | failure_reason | 否 | 无 | string | 失败原因 |
| 商户号 | merchant_id | 是 | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | 是 | 64 | string | 商户内部订单号 |
| 乐刷订单号 | leshua_order_id | 是 | 32 | string | 乐刷订单号 |
| 退款金额 | refund_amount | 是 | 无 | string | 退款金额(分) |
| 商户退款 id | merchant_refund_id | 是 | 64 | string | |
| 乐刷退款 id | leshua_refund_id | 是 | 32 | string | |
| 订单总金额 | total_amount | 是 | 无 | string | |
| 退款时间 | refund_time | 否 | 无 | string | 退款成功时间-退款成功才返回 |
返回参数
| 字段名 | 变量名 |
|---|---|
| 000000 | 通知成功,乐刷收到此返回后不会继续通知 |
| 其他 | 乐刷收到回复或者未收到回复,系统会再次通知 |
订单状态
| 值 | 说明 |
|---|---|
| 0 | 支付中 |
| 2 | 支付成功 |
| 6 | 订单关闭 |
| 8 | 支付失败 |
| 10 | 退款中 |
| 11 | 退款成功 |
| 12 | 退款失败 |
| 30 | 刷卡支付成功 |
| 31 | 刷卡撤销成功 |
| 32 | 刷卡退货成功 |
| 33 | 刷卡冲正成功 |
7.3 刷卡交易通知
(1)通知 URL 与扫码支付成功通知一样,均为代理商后台配置的通知地址。刷卡交易成功时、刷卡撤销成功时、刷卡退货成功时、刷卡冲正成功时,乐刷均会把相关交易信息发送到该 URL,商户需要接收处理信息。对后台通知交互时,如果收到商户的应答不是成功或者超时,乐刷认为通知失败,会通过一定的策略定期重新发起通知,尽可能的提高通知的成功率,但是不保证通知最终一定能成功。由于存在重复发送后台通知的情况,因此同样的通知可能会多次发送给商户系统。系统必须能够正确处理重复的通知。
(2)验证签名方法:通知的 error_code、sign 字段不参与签名,签名方式参照第 3 章 数据签名,其中签名 key 统一由乐刷提供。另外,组织签名串时空值也参与签名。
(3)境外卡统一按照贷记卡费率进行结算,所以返回2
通知参数
| 字段名 | 变量名 | 必填 | 长度限制 | 类型 | 说明 |
|---|---|---|---|---|---|
| 签名 | sign | 是 | 32 | string | MD5 签名结果 |
| 订单状态 | status | 是 | 无 | string | 详见下方订单状态 |
| 结算类型 | T0 | 是 | 无 | string | |
| 设备SN号 | sn | 是 | 无 | string | 硬件序列号和机身上一致 |
| 授权码 | authorize_code | 是 | 6 | string | 普通交易下返回000000 预授权交易不固定 |
| 失败原因 | failure_reason | 否 | 无 | string | 失败原因 |
| 商户号 | merchant_id | 是 | 10 | string | 由乐刷分配 |
| 商户订单号 | third_order_id | 是 | 64 | string | 商户内部订单号 退货时,返回原订单的第三方订单号 |
| 乐刷订单号 | leshua_order_id | 是 | 32 | string | 乐刷订单号 退货时,返回原订单的乐刷订单号 |
| 交易金额 | amount | 是 | 无 | string | 交易金额(分) |
| 银行卡号 | card_id | 否 | 无 | string | 刷卡交易时提供 |
| 卡类型 | card_type | 否 | 1 | string | 1----借记卡 2----贷记卡 3---- 准贷记 |
| 发行主体 | pan_overseas | 否 | 1 | string | 0----境内卡 1----境外卡 |
| 结算方式 | pan_type | 否 | 1 | string | (1使用商户借记卡费率,非1使用商户贷记卡费率 ) 0-----未知 1-----借记 2-----贷记 3-----准贷记 4-----借贷合一 5-----预付费 6-----半开放预付费 |
| 发卡行 | bank_name | 否 | 无 | string | 刷卡交易时提供 |
| 刷卡pos批次号 | batch_no | 是 | 无 | string | 每次签到后从后台获取批次号,当批交易均上送此批次号 |
| 刷卡pos流水号 | flow_id | 是 | 3 | string | 终端为每个交易随机生成的流水号,随交易信息上送 |
| 乐刷SN号 | leshua_sn | 是 | 无 | string | 刷卡交易时提供 |
| 刷卡pos参考号 | reference_number | 是 | 32 | string | POS中心分配的流水号,作为对账参考号 |
| 银联商户号 | cups_merchant_id | 否 | 20 | string | 表示上送银联的商户编号 |
| 银联终端号 | cups_terminal_id | 否 | 8 | string | 表示上送银联的终端编号 |
| 交易流水号 | transaction_id | 否 | 18 | string | 用于表示此操作的流水号 |
| 刷卡交易时间 | pay_time | 否 | 无 | string | 刷卡交易时提供 |
| 消费撤销时间 | refund_time | 否 | 无 | string | 消费撤销时提供 |
| 消费退货时间 | returngoods_time | 否 | 无 | string | 消费退货时提供 |
| 消费冲正时间 | reverse_time | 否 | 无 | string | 消费冲正时提供 |
| 商户撤销id | merchant_refund_id | 否 | 无 | string | 消费撤销时提供 第三方传入的撤销订单号 |
| 商户退货id | merchant_returngoods_id | 否 | 无 | string | 消费退货时提供 第三方传入的退货订单号 |
| 乐刷退款id | leshua_refund_id | 否 | 18 | string | 消费退货时提供 乐刷生成的退货流水号 |
| 商户冲正id | merchant_reverse_id | 否 | 无 | string | 消费冲正时提供 第三方传入的冲正订单号 |
| 到账标识 | t0 | 否 | 1 | String | 0:表示t1到账 1:表示t0到账; 刷卡交易时提供 |
返回参数
| 字段名 | 变量名 |
|---|---|
| 000000 | 通知成功,乐刷收到此返回后不会继续通知 |
| 其他 | 乐刷收到回复或者未收到回复,系统会再次通知 |
订单状态
| 值 | 说明 |
|---|---|
| 30 | 刷卡支付成功 |
| 31 | 刷卡撤销成功 |
| 32 | 刷卡退货成功 |
| 33 | 刷卡冲正成功 |
| 41 | 预授权成功 |
| 43 | 预授权撤销成功 |
| 45 | 预授权完成(请求)成功 |
| 47 | 预授权完成(通知)成功 |
| 49 | 预授权完成撤销成功 |
7.4 刷卡交易查询
请求地址:/agentCardTransaction/cardFlowQuery
加密规则: md5hex(代理商密钥+reqSerialNo+version+ data的 json 串)
请求参数:
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
|---|---|---|---|---|---|
| version | string | 必须 | 版本号 | ||
| agentId | string | 必须 | 代理商编号 | ||
| sign | string | 必须 | 验签值 | ||
| reqSerialNo | string | 必须 | 随机字符串,一般为一个和日期有关的随机数 | ||
| data | object | 非必须 | |||
| └merchantId | string | 必须 | 商户号 | ||
| └operation | string | 必须 | 操作类型(query_by_order,query_by_transaction,query_by_third_order)) | ||
| └orderId | string | 非必须 | 订单编号 | ||
| └transactionId | string | 非必须 | 交易单号 | ||
| └thirdOrderId | string | 非必须 | 第三方订单号 |
返回参数:
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
|---|---|---|---|---|---|
| traceId | string | 必须 | 请求序列号 | ||
| code | integer | 必须 | 错误码 | ||
| message | string | 必须 | 错误信息 | ||
| data | object | 非必须 | |||
| └orderId | string | 非必须 | 乐刷订单号 | ||
| └errorCode | integer | 非必须 | 请求错误码,成功为0 | ||
| └errorMsg | string | 非必须 | 错误提示信息,成功时值为空 | ||
| └thirdOrderId | string | 非必须 | 商户内部订单号 | ||
| └merchantId | string | 非必须 | 乐刷商户号 | ||
| └amount | integer | 非必须 | 交易金额 | ||
| └orderStatus | integer | 非必须 | 订单状态,0-初始状态(可能交易失败);5-交易成功;11-交易失败;53-交易失败(冲正成功);54-交易结果未知(冲正失败);3-退款成功;32-退款失败;33-退款状态未知;4-退货成功;41-退货失败;42-退货状态未知 | ||
| └batchNo | string | 非必须 | POS交易批次号 | ||
| └flowNo | string | 非必须 | POS交易流水号 | ||
| └sign | string | 非必须 | 签名 | ||
| └merchantName | string | 非必须 | 乐刷商户名称 | ||
| transactionsInfo | object [] | 非必须 | 流水 | item 类型: object | |
| └merchantId | string | 非必须 | 乐刷商户号 | ||
| └pinpadUuid | string | 非必须 | 乐刷SN | ||
| └channelMerchantId | string | 非必须 | 通道商户号 | ||
| └channelTerminalId | string | 非必须 | 通道终端号 | ||
| └operationType | integer | 非必须 | 操作类型,与订单状态一致 | ||
| └inputType | string | 非必须 | 交易用卡方式:051-插卡有密交易;052-插卡无密交易;071-挥卡有密交易;072-挥卡无密交易; | ||
| └cardBank | string | 非必须 | 发卡行名称 | ||
| └authorizeCode | string | 非必须 | 交易授权码 | ||
| └referenceNo | string | 非必须 | 交易参考号 | ||
| └cardId | string | 非必须 | 交易卡号 | ||
| └pinpadSn | string | 非必须 | 机具终端硬件号TUSN | ||
| └time | string | 非必须 | 交易时间 | ||
| └cardType | integer | 非必须 | 卡类型:0(借记卡),2(贷记卡) | ||
| └channelBatchNo | string | 非必须 | 通道交易批次号 | ||
| └channelFlowNo | string | 非必须 | 通道交易流水号 | ||
| └transactionId | string | 非必须 | 乐刷流水号 | ||
| └channelId | string | 非必须 | 通道id | ||
| └channelMerchantName | string | 非必须 | 通道商户名称 | ||
| └amount | string | 非必须 | 流水金额 |
8、交易错误码信息参照表
| 错误码 | 描述 |
|---|---|
| -20001 | 参数错误或无效 |
| -20002 | 无效的乐刷商户号 |
| -20003 | 商户订单号格式有误 |
| -20004 | 乐刷订单不存在 |
| -20005 | 服务错误 |
| -20006 | 验签失败 |
| -20007 | 签名 Key 未配置 |
| -20008 | 支付类型错误 |
| -20009 | 订单金额填写有误 |
| -20010 | 系统错误 |
| -20011 | 非法参数 |
| -20012 | 授权码为空 |
| -20013 | 非法的授权码 |
| -20014 | 未知类型的授权码 |
| -20015 | 非法的公众号支付标识 |
| -20016 | 无效乐刷订单号 |
| -20018 | 无效的第三方订单号或者乐刷订单号 |
| -20019 | 订单状态不允许退款 |
| -20020 | 订单未退款 |
| -20021 | 用户名跟商户ID不匹配 |
| -20022 | 无效的第三方退款订单号 |
| -20023 | 订单可退余额不足 |
| -20024 | 乐刷或第三方订单号必填 1 个 |
| -20025 | 乐刷或第三方退款订单号必填 1 个 |
| -20026 | 第三方订单号在该商户号下已经存在 |
| -20027 | 该订单已支付 |
| -20028 | 订单支付失败,不能撤销 |
| -20029 | 该订单已退款 |
| -20030 | 该订单退款失败,不能撤销 |
| -20031 | 无效的机具 SN 编号,请联系客服 |
| -20032 | 机具 SN 跟商户无绑定关系 |
| -4027 | 系统异常 |
| -4006 | 订单不存在 |
| -1006 | 该订单号已被用 |
| -1002 | 无效商户号 |
| -2034 | 测试商户号金额限制 |
| -4004 | 订单正在处理中 |
| -5103 | 商户退款 id 已存在 |
| -5014 | 商户无退款权限 |
| -5015 | 暂不支持退款 |
| -5016 | 订单状态异常 |
| -5017 | 订单可退金额不足 |
| -5018 | 订单退款次数超限 |
| -5019 | 订单未发起退款 |
| -5020 | 接口不支持该功能 |
| -2125 | 交易被风控拦截 |
| -5035 | 下单异常,可能原因有通道网络异常,通道状态异常,通道商户异常等 |
|---|
以实际返回的错误提示(error_msg)为准