主扫合单交易请求报文和参数

zhangyu 6天前 ( 11-20 19:56 ) 13

调用地址

使用HTTP协议,POST方式提交。

URL(测试环境):https://test.wsmsd.cn/sit/api/v3/labs/trans/merge/preorder

URL(生产环境):https://s2.lakala.com/api/v3/labs/trans/merge/preorder

请求报文

字段名中文名称是否必填类型说明
merchant_no商户号MString(32)拉卡拉分配的商户号
term_no终端号MString(32)拉卡拉分配的业务终端号
out_trade_no商户交易流水号MString(32)商户系统唯一,对应数据库表中外部请求流水号。
out_split_info拆单信息MList<>拆单信息,详细字段见out_split_info字段说明
account_type钱包类型MString(32)微信:WECHAT 支付宝:ALIPAY 银联:UQRCODEPAY 京东钱包:JD
trans_type接入方式MString(2)41:NATIVE(扫码支付)(仅ALIPAY支持)
51:JSAPI(微信公众号支付,支付宝服务窗支付,银联JS支付,翼支付JS支付、拉卡拉钱包支付)
71:微信小程序支付
total_amount金额MString(12)单位分,整数型字符
location_info地址位置信息MObject地址位置信息,风控要求必送
busi_mode业务模式CString(8)业务模式: ACQ-收单 PAY-付款 不填,默认为“ACQ-收单”
subject订单标题CString(42)标题,用于简单描述订单或商品主题,会传递给账户端 (账户端控制,实际最多42个字符)
notify_url商户通知地址CString(128)商户通知地址,如果上传,且 pay_order_no 不存在情况下,则按此地址通知商户
remark备注CString(128)
identity_info身份信息CString(1024)实名支付信息,json字符串,如{“identityNo”:”32000000000000000X”,”name”:”张三”} ,然后国密sm2加密
acc_busi_fields账户端业务信息域CObject参见以下acc_busi_fields字段详细说明,不同的account_type和trans_type,需要传入的参数不一样
complete_notify_url发货确认通知地址CString(128)发货类小程序确认收获后通知商户的地址

out_split_info字段说明

字段名中文名称是否必填类型说明
out_sub_trade_no外部子交易流水号MString(32)商户子交易流水号,商户号下唯一
merchant_no商户号MString(32)拉卡拉分配的商户号
term_no终端号MString(32)拉卡拉分配的业务终端号
amount金额MString(12)单位分,整数型字符
settle_type
结算类型(合单) CString(4)"0"或者空,常规结算方式
sub_remark子单备注CString(64)子单备注信息

说明:

 1)拆单信息域中商户号不可重复;

 2)交易层订单金额必须是拆单信息域中各个子单的金额汇总之和;

 3)对拆单信息域中每个结算商户号和终端号的权限交易都必须通过,其中一个校验失败,则交易中止,失败返回;

 4)拆单域中子单条数最少两条、最多20条,否则拒绝。

location_info字段说明

字段名中文名称是否必填类型说明
request_ip请求方IP地址MString(64)请求方的IP地址,存在必填,格式如36.45.36.95
base_station基站信息CString(128)客户端设备的基站信息(主扫时基站信息使用该字段)
location维度,经度CString(32)商户终端的地理位置,存在必填 格式:纬度,经度,+表示北纬、东经,-表示南纬、 西经,精度最长支持小数点后9位。举例:+37.123456789,-121.123456789

支付宝主扫场景下acc_busi_fields域内容

字段名中文名称是否必填类型说明
user_id买家在支付宝的用户idMString(64)支付宝的buyer_user_id
timeout_express预下单有效时间CString(2)预下单的订单的有效时间,以分钟为单位。如果在有效时间内没有完成付款,则在账户端该订单失效。如果不上送,以账户端订单失效时间为准。 建议不超过15分钟。不传值则默认5分钟。
extend_params业务扩展参数CObject支付宝业务扩展参数 ,见说明
goods_detail商品详情CString(6000)订单包含的商品列表信息,Json格式。
quit_url用户付款中途退出返回商户网站的地址CString(256)transType=81时(即支付宝H5支付),此参数必传
store_id商户门店编号CString(32)
alipay_store_id支付宝的店铺编号CString(32)

支付宝extend_params字段说明

字段名中文名称是否必填类型说明
sys_service_provider_id服务商的PIDCString(64)系统商编号,该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的 PID
hb_fq_num花呗分期期数MString(5)支付宝花呗分期必送字段: 花呗分期数 3:3期 6:6期 12:12期
hb_fq_seller_percent卖家承担手续费比例MString(3)支付宝花呗分期必送字段: 卖家承担收费比例,商家承担手续费传入100,用户承担手续费传入0,仅支持传入100、0两种,其他比例暂不支持 100:代表商家贴息 0:代表用户承担手续费

支付宝goods_detail字段说明(暂不支持)

字段名中文名称是否必填类型说明
goods_id
MString(32)商品的编号
alipay_goods_id
CString(32)支付宝定义的统一商品编号
goods_name
MString(256)商品名称
quantity
MString(12)商品数量
price
MString(12)单位为分
goods_category
CString(24)商品类目
categories_tree
CString(128)商品类目树,从商品类目根节点到叶子节点的类目 id 组成,类目 id 值使用|分 割
body
CString(512)商品描述信息
show_url
CString(256)商品的展示地址

微信主扫场景下acc_busi_fields域内容

字段名中文名称是否必填类型说明
timeout_express预下单有效时间CString(2)预下单的订单的有效时间,以分钟为单位。如果在有效时间内没有完成付款,则在账户端该订单失效。如果不上送,以账户端订单失效时间为准。 建议不超过15分钟。不传值则默认5分钟。
sub_appid子商户公众账号IDCString(32)微信分配的子商户公众账号ID,sub_appid(即微信小程序支付-71、公众号支付-51、微信app支付-61),此参数必传,只对微信支付有效 工行数字钱包情况下,该字段上送工行的openId 拉卡拉钱包情况下,该字段上送LAKALA的userId
user_id用户标识CString(64)用户在子商户sub_appid下的唯一标识,sub_openid,(即微信小程序支付-71、众号支付-51),此参数必传,只对微信支付有效
detail商品详情CString(1024)单品优惠功能字段,详见下文说明
goods_tag订单优惠标记CString(32)订单优惠标记,微信平台配置的商品标记,用于优惠券或者满减使用,accountType为WECHAT时,可选填此字段
attach附加域CString(128)附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据。商户定制字段,直接送到账户端。

微信detail字段说明(暂不支持)

字段名中文名称是否必填类型说明
cost_price
CString(12)1.商户侧一张小票订单可能被分多次支付,订单原 价用于记录整张小票的交易金额。 2.当订单原价与支付金额不相等,则不享受优惠。 3.该字段主要用于防止同一张小票分多次支付,以 享受多次优惠的情况,正常支付订单不必上传此参 数。 如:608800
receipt_id
CString(12)商家小票 ID
goods_detail
MString(512)json字符串

微信goods_detail字段说明

字段名中文名称是否必填类型说明
goods_id
MString(32)由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。如“商品编码”
wxpay_goods_id
CString(32)微信支付定义的统一商品编号
goods_name
CString(256)商品的实际名称
quantity
MString(12)用户购买的数量
price
MString(12)单位为:分。如果商户有优惠,需传输商户优惠后的单价

响应报文

字段名中文名称是否必填类型说明
merchant_no商户号(待上线)MString(32)拉卡拉分配的商户号(请求接口中商户号)
out_trade_no商户请求流水号MString(32)请求报文中的商户请求流水号
trade_no拉卡拉交易流水号MString(32)拉卡拉交易流水号
log_no拉卡拉对账单流水号MString(14)拉卡拉对账单流水号
split_info拆单信息MList<>拆单信息见split_info域说明
acc_resp_fields账户端返回信息域CObject账户端返回信息域

split_info域信息

字段名中文名称是否必填类型说明
sub_trade_no子单交易流水号MString(32)子单交易流水号
sub_log_no子单对账单流水号MString(14)子单对账单流水号
out_sub_trade_no外部子交易流水号MString(32)商户子交易流水号,商户号下唯一
merchant_no商户号MString(32)拉卡拉分配的商户号
merchant_name商户名称MString(64)商户名称
term_no终端号MString(32)拉卡拉分配的业务终端号
amount金额MString(12)单位分,整数型字符

支付宝(41-NATIVE)场景下返回acc_resp_fields域

字段名中文名称是否必填类型说明
code二维码信息MString(256)商户可用此参数自定义去生成二维码后展示出来进行扫码支付
code_image二维码图片内容MString(256)商户收款二维码图片。Base64编码,暂无
sub_mch_id子商户号
CString(20)账户端子商户号

支付宝(51-JSAPI)场景下返回acc_resp_fields域

字段名中文名称是否必填类型说明
prepay_id预下单IdMString(32)预支付交易会话ID
sub_mch_id子商户号
CString(20)账户端子商户号

微信(71-小程序)微信(51-JSAPI)场景下返回acc_resp_fields域

字段名中文名称是否必填类型说明
prepay_id预下单IdMString(32)预支付交易会话ID
pay_sign支付签名信息MString(256)签名
app_id小程序idMString(32)商户注册具有支付权限的小程序成功后即可获得小程序id
time_stamp时间戳MString(32)当前的时间
nonce_str随机字符串MString(32)随机字符串
package订单详情扩展字符串MString(128)
sign_type签名方式MString(32)签名类型,支持RSA
sub_mch_id子商户号
CString(20)账户端子商户号

微信(61-APP)场景下返回acc_resp_fields域

字段名中文名称是否必填类型说明
prepay_id预下单IdMString(32)预支付交易会话ID
pay_sign支付签名信息MString(256)签名
app_id移动应用appidMString(32)商户注册具有支付权限的安卓/IOSAPP成功后即可获得移动应用appid
time_stamp时间戳MString(32)当前的时间
nonce_str随机字符串MString(32)随机字符串
package订单详情扩展字符串MString(128)
sign_type签名方式MString(32)签名类型,支持RSA
sub_mch_id子商户号
CString(20)账户端子商户号
partner_id从业机构号MString(32)

示例

请求报文:

 {
"req_data": {
       "merchant_no": "822290070111135",
       "term_no": "29034705",
       "out_trade_no": "KFPT20211018163339745459405",
       "account_type":"UQRCODEPAY",
       "trans_type": "51",
       "total_amount": "100",
       "location_info": {
       "request_ip":"12.34.56.78",
       "base_station":"00 6361   58130",
       "location":"+37.123456789,-121.123456789"
       },
       "busi_mode":"ACQ",
       "subject": "自动化测试",
       "pay_order_no":"",
       "notify_url": "",
       "settle_type":"",
       "remark": "",
       "identity_info":"",        
       "promo_info":"",
       "acc_busi_fields":{
        "user_id":"Wek52a9hYY3zXbQ7JSrvZwiPa9lYJ7HyC+MqdjIbrSL21YT1H/v0WrgncHoRmsmZ",
         "timeout_express":"",        
        "acq_addn_data_order_info":"",
        "acq_addn_data_goods_info":"",
        "front_url":"",
        "front_fail_url":""
       }
       },
       "req_time":"20211018163339",
       "version":"3.0",
       "out_org_code":"OP00000003"
}
复制

响应报文:

{
"msg": "成功",
"resp_time": "20211018165606",
"code": "BBS00000",
"resp_data": {
 "out_trade_no": "KFPT20211018165606301458020",
 "trade_no": "2021101866210004200101",
 "log_no": "66210004200101",
 "settle_merchant_no": "",
 "settle_term_no": "",
 "acc_resp_fields": {
  "code": "https://qr.test.95516.com/UP02/qrcGtwWeb-web/front/confirmOrder?sessionId=c0b60813735d42838e761e47a84e000a",
  "code_image": "",
  "prepay_id": "",
  "pay_sign": "",
  "time_stamp": "",
  "nonce_str": "",
  "package": "",
  "sign_type": "",
  "redirect_url": "",
  "best_pay_info": ""
 }
}
}


The End