拉卡拉聚合主扫接口说明-调用地址-请求报文
聚合主扫
更新时间:2025-09-10 10:10:49
作者:wangyuwei
接口说明
1、商户下单后获取支付参数,调起支付,支持支付宝,微信,云闪付等支付方式;
2、因银网联测试环境问题,微信钱包在测试环境下无法下单完成支付,下单后提示”sub mch id与sub appid不匹配”报错即可。
调用地址
使用HTTP协议,POST方式提交。
测试环境:https://test.wsmsd.cn/sit/api/v3/labs/trans/preorder
生产环境:https://s2.lakala.com/api/v3/labs/trans/preorder
请求报文
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| merchant_no | 商户号 | M | String(32) | 拉卡拉分配的商户号 |
| term_no | 终端号 | M | String(32) | 拉卡拉分配的业务终端号 |
| out_trade_no | 商户交易流水号 | M | String(32) | 商户系统唯一,对应数据库表中外部请求流水号。 |
| account_type | 钱包类型 | M | String(32) | 微信:WECHAT 支付宝:ALIPAY 银联:UQRCODEPAY 翼支付: BESTPAY 苏宁易付宝: SUNING 拉卡拉支付账户:LKLACC 网联小钱包:NUCSPAY 京东钱包:JD |
| trans_type | 接入方式 | M | String(2) | 41:NATIVE((ALIPAY,云闪付支持,京东白条分期) 51:JSAPI(微信公众号支付,支付宝服务窗支付,银联JS支付,翼支付JS支付, 拉卡拉钱包支付, 京东白条分期) 71:微信小程序支付 61:APP支付(微信APP支付) |
| total_amount | 金额 | M | String(12) | 单位分,整数型字符 |
| location_info | 地址位置信息 | M | Object | 地址位置信息,风控要求必送 |
| busi_mode | 业务模式 | C | String(8) | 业务模式: ACQ-收单 不填,默认为“ACQ-收单” |
| subject | 订单标题 | C | String(42) | 标题,用于简单描述订单或商品主题,会传递给账户端 (账户端控制,实际最多42个字符),微信支付必送。 |
| pay_order_no | 支付业务订单号 | C | String(64) | 拉卡拉订单系统订单号,以拉卡拉支付业务订单号为驱动的支付行为,需上传该字段。 |
| notify_url | 商户通知地址 | C | String(128) | 商户通知地址,如果上传,且 pay_order_no 不存在情况下,则按此地址通知商户(详见“[交易通知]”接口) |
| settle_type | 结算类型 | C | String(4) | “0”或者空,常规结算方式,如需接拉卡拉分账通需传“1”,商户未开通分账之前切记不用上送此参数。 |
| remark | 备注 | C | String(128) | |
| acc_busi_fields | 账户端业务信息域 | C | Object | 参见以下acc_busi_fields字段详细说明,不同的account_type和trans_type,需要传入的参数不一样 |
| complete_notify_url | 发货确认通知地址 | C | String(128) | 发货类小程序确认收获后通知商户的地址 |
location_info字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| request_ip | 请求方IP地址 | M | String(64) | 请求方的IP地址,存在必填,格式如36.45.36.95 |
| base_station | 基站信息 | C | String(128) | 客户端设备的基站信息(主扫时基站信息使用该字段) |
| location | 纬度,经度 | C | String(32) | 商户终端的地理位置,银联二维码交易必填,整体格式:纬度,经度,+表示北纬、东经,-表示南纬、 西经。 经度格式:1位正负号+3位整数+1位小数点+5位小数; 纬度格式:1位正负号+2位整数+1位小数点+6位小数; 举例:+31.221345,+121.12345 |
支付宝主扫场景下acc_busi_fields域内容
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| user_id | 买家在支付宝的用户id | C | String(64) | 支付宝的buyer_user_id ,trans_type为41-NATIVE情况下不需要传,为51情况下必须传入 |
| timeout_express | 预下单有效时间 | C | String(2) | 预下单的订单的有效时间,以分钟为单位。如果在有效时间内没有完成付款,则在账户端该订单失效。如果不上送,以账户端订单失效时间为准。 建议不超过15分钟。不传值则默认5分钟。 |
| extend_params | 业务扩展参数 | C | Object | 支付宝业务扩展参数 ,见说明 |
| goods_detail | 商品详情 | C | String(6000) | 订单包含的商品列表信息,Json数组。 |
| store_id | 商户门店编号 | C | String(32) | 支付宝收单上送 |
| alipay_store_id(不再使用) | 支付宝店铺编号 | C | String(32) | 支付宝已不再使用该字段 |
| disable_pay_channels | 支付宝禁用支付渠道 | C | String(32) | “credit_group”表示禁用信用支付类(包含信用卡,花呗,花呗分期) “pcredit”表示禁用花呗 “pcreditpayInstallment”表示禁用花呗分期 “creditCard“表示禁用信用卡 如果想禁用多个可在枚举间加,隔开 |
| business_params | 商户传入业务信息 | C | String(512) | 商户传入业务信息,应用于安全,营销等参数直传场景,格式为 json 格式。 示例:{“enable_thirdpar ty_subsidy”:”N”,”source”:”xxxx”},source送值与吱口令生成接口中上送的source对应,值内容为“inderict_wx_吱口令申领接口中source值” |
| min_age | 允许的最小买家年龄 | C | String(2) | 买家年龄必须大于等于所传数值 |
| promo_params | 优惠明细 | C | object | 优惠明细参数,通过此属性补充营销参数 |
| priority_pay_assets | 优先使用资产 | C | object | 优先使用资产 |
| enable_pay_channels | 支付通道 | C | String(128) | 支付通道:如「因公付」+「招商银行借记卡」:enterprisePay,debit group#CMB 如「因公付」+ 「招商银行贷记卡」:enterprisePay.credit_group#CMB |
支付宝extend_params字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| sys_service_provider_id | 服务商的PID | C | String(64) | 系统商编号,该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的 PID |
| hb_fq_num | 花呗分期期数 | M | String(5) | 支付宝花呗分期必送字段: 花呗分期数 3:3期 6:6期 12:12期 |
| hb_fq_seller_percent | 卖家承担手续费比例 | M | String(3) | 支付宝花呗分期必送字段: 卖家承担收费比例,间连模式下只支持传0。 |
| food_order_type | 点餐场景类型 | C | String | 点餐场景类型:qr_order(店内扫码点餐),pre_order(预点到店自提),home_delivery (外送到家),direct_payment(直接付款),other(其它) |
| electrical_promo_extends | 核销数据信息上报字段 | C | String(512) | ⽀付成功后,⽀付宝将在T+1⽇将相应的核销数据上送资格核验平台 “{"addCode":"xxxxxxxxxxx","address":"xxxxxxxxx","brand":"xxxxxxxxx","countryGoodsCode":"xxxxxxxxx"}” |
| fq_num | 信用卡分期期数 | C | String(2) | 根据实际选择期数上送,仅支持传入 3、6、12 |
| fq_seller_percent | 信用卡分期手续费比例 | C | String(12) | 支付宝信用卡分期必送字段: 卖家承担收费比例,间连模式下只支持传0。 |
| fq_channels | 信用卡分期优先使用资产类型 | C | String(20) | 信用卡分期必送该字段,暂时仅⽀持传⼊alipayfq_cc |
| pd_sub_biz_scene | 支付默认场景 | c | String(128) | 固定资产: enterprisePay |
支付宝goods_detail字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| goods_id | M | String(32) | 商品的编号 | |
| alipay_goods_id | C | String(32) | 支付宝定义的统一商品编号 | |
| goods_name | M | String(256) | 商品名称 | |
| quantity | M | Number | 商品数量 | |
| price | M | Price | 商品价格 单位元 | |
| goods_category | C | String(24) | 商品类目 | |
| categories_tree | C | String(128) | 商品类目树,从商品类目根节点到叶子节点的类目 id 组成,类目 id 值使用|分 割 | |
| body | C | String(512) | 商品描述信息 | |
| show_url | C | String(256) | 商品的展示地址 |
支付宝promo_params字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| electrical_equipment_category | 国补优惠码 | C | String(128) | 国补优惠码 |
支付宝priority_pay_assets字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| assets_list | 资产列表 | C | list | 资产列表 |
| –asset_name | 资产名称 | C | String | 花呗资产,如:pcredit 固定资产: enterprisePay |
支付宝business_params字段说明(JSON格式)
{"assignJointAccountld":"15567","enterprisePayAmount":"15567","identityPayBizlnfo":"15567","enterprise_pay_info":"15567"}
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| assignJointAccountld | 指定的因公付账户 | C | String | 如果存在指定,仅会使用对应的资产进行支付(此账号为指定的付款账号,需要设置可用的支付资产 |
| enterprisePayAmount | 指定因公付出资金额 | C | String | |
| identityPayBizlnfo | 因公付业务字段 | C | String | |
| enterprise_pay_info | 加签字段 | C | String | 方案加签字段,如对接刷卡极付方案,本字段必选,如对接剧脸极付方案,本字段可忽略 |
微信主扫场景下acc_busi_fields域内容
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| timeout_express | 预下单有效时间 | C | String(2) | 预下单的订单的有效时间,以分钟为单位。建议不超过15分钟。不传值则默认5分钟。(微信主扫下单上送的失效时间,是控制prepay_id调起支付的有效时间。微信后台不会根据失效时间发起关单。 如需关单,调用关单接口。) |
| sub_appid | 子商户公众账号ID | C | String(32) | 微信分配的子商户公众账号ID,sub_appid(即微信小程序支付-71、公众号支付-51、微信app支付-61),此参数必传,只对微信支付有效 工行数字钱包情况下,该字段上送工行的openId 拉卡拉钱包情况下,该字段上送LAKALA的userId |
| user_id | 用户标识 | C | String(64) | 用户在子商户sub_appid下的唯一标识,sub_openid,(即微信小程序支付-71、众号支付-51),此参数必传,只对微信支付有效 |
| detail | 商品详情 | C | String(1024) | 单品优惠功能字段,详见下文说明 |
| goods_tag | 订单优惠标记 | C | String(32) | 订单优惠标记,微信平台配置的商品标记,用于优惠券或者满减使用,accountType为WECHAT时,可选填此字段 |
| attach | 附加域 | C | String(128) | 该字段主要用于商户携带订单的自定义数据。商户定制字段,直接送到账户端。 |
| device_info | 设备号 | C | String(32) | 终端设备号(门店号或收银设备ID),注意:PC网页或JSAPI支付请传”WEB” |
| limit_pay | 指定支付方式 | C | String(20) | no_credit–指定不能使用信用卡支付 |
| scene_info | 场景信息 | C | String(256) | 该字段用于上报场景信息,目前支持上报实际门店信息。 |
| limit_payer | 限定支付 | C | String(8) | ADULT:成年人 |
微信detail字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| cost_price | C | String(12) | 1.商户侧一张小票订单可能被分多次支付,订单原 价用于记录整张小票的交易金额。 2.当订单原价与支付金额不相等,则不享受优惠。 3.该字段主要用于防止同一张小票分多次支付,以 享受多次优惠的情况,正常支付订单不必上传此参 数。 如:608800 | |
| receipt_id | C | String(12) | 商家小票 ID | |
| goods_detail | M | Object | 单品信息,使用Json数组格式提交,见示例 |
微信goods_detail字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| goods_id | M | String(32) | 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。如“商品编码” | |
| wxpay_goods_id | C | String(32) | 微信支付定义的统一商品编号 | |
| goods_name | C | String(256) | 商品的实际名称 | |
| quantity | M | int | 用户购买的数量 | |
| price | M | int | 单位为:分。如果商户有优惠,需传输商户优惠后的单价 |
银联云闪付主扫场景下acc_busi_fields域内容
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| user_id | 用户id | C | String(64) | JS获取用户标识返回码不为34时,必送(详情请参考用户标识查询接口) |
| timeout_express | 预下单有效时间 | C | String(2) | 预下单的订单的有效时间,以分钟为单位。如果在有效时间内没有完成付款,则在账户端该订单失效。如果不上送,以账户端订单失效时间为准。 建议不超过15分钟。不传值则默认5分钟。 |
| acq_addn_data_order_info | 银联订单信息 | C | String(600) | 银联单品营销订单信息 : “acq_addn_data_order_info”:”{"title":"","dctAmount":"","addnInfo":{ "preproduct":"bt","lockplan":"3","riskInfo":{"agentSubMerchantNo":"660080656512571","itemNo":"500100018","orderSource":"微信APP扫一扫","payUserId":"oLvoQ5eGT5AvIQ62zZ5IDFqxeimg","payCodeId":"223101000221675242"}}}” |
| acq_addn_data_goods_info | 银联商品信息 | C | String(6000) | 银联单品营销商品信息 : “acq_addn_data_goods_info”:”[{"id":"6927044525471","name":"商品1","price":"10","quantity":"1"}]” |
| front_url | 银联前台通知地址 | C | String(256) | 收款方向银联推送订单时上送的前台通知地址(仅允许为外网地址),用户完成支付点击,“返回”后,银联通过浏览器POST请求到该地址。 当transType为JSAPI,payMode为UQRCODEPAY时,可选填此字段 |
| front_fail_url | 银联失败交易前台通知地址 | C | String(256) | 收款方向银联推送订单时上送的失败交易前台通知地址(仅允许为外网地址),用户支付过程中交易失败,点击“返回”后,银联通过浏览器GET请求到该地址。 当transType为JSAPI,payMode为UQRCODEPAY时,可选填此字段,需与frontUrl同时出现,未上送默认为frontUrl的值 |
| instal_will | 分期意愿 | C | String(1) | 0: 不分期(缺省) 1:分期 |
| un_qrcode | 银联二维码qrcode | C | String(1000) | 标识交易信息 |
| user_auth_code | 银联二维码authCode | C | String(256) | 用户信息的临时授权码 |
| jd_addition_info | JD附加信息 | C | Object | {"stagesFee":"25"} |
| app_up_identifier | 银联支付标识 | C | String(32) | MicroMessenger |
| pay_channel | 支付渠道 | C | String(10) | 云闪付微信渠道交易出现01:云闪付微信小程序02:云闪付微信公众号 |
| third_part_app_id | 第三方appid | C | String(256) | 机构、渠道商、商户在第三方注册的公众账号ID。上送支付渠道标识时且取值为01或02时,出现JSON 格式. "third_part_app_id": {"thirdAppId":"商家的appid"} |
| third_part_open_id | 第三方openid | C | String(256) | 机构、渠道商、商户在第三方注册的openid。上送支付渠道标识时且取值为01或02时,出现JSON 格式. "third_part_open_id": {"thirdOpenId":"商家appid下的openid"} |
银联云闪acq_addn_data_order_info字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| title | O | String(32) | ||
| dctAmount | O | String(32) | ||
| addnInfo | O | Object | 京东白条分期必传 |
银联云闪addn_info字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| preproduct | 白条前置标识 | M | String(32) | 白条前置标识,用于识别收银台侧仅展示白条支付工具(固定上送bt) |
| lockplan | 期数3/6/12 | C | String(16) | 预锁分期活动,用于收银台侧展示对应的分期活动信息(不填则白条收银台页面不固定对应期数) |
| riskInfo | M | Object | 白条侧策略采集字段信息 |
银联云闪risk_info说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| itemNo | 项目编号 | C | String(16) | 由白条侧前置预先分配的项目编号 |
| orderSource | 下单来源 | M | String(32) | 消费者下单来源,传中文,枚举如下:微信APP扫一扫、京东金融、京东(目前仅支持微信APP扫一扫) |
| payUserId | 用户ID | C | String(32) | 当orderSource为微信app扫一扫时上送openid |
| payCodeId | 商户收款码ID | M | String(32) | 商户收款码ID,可以是商家展业所应用的静态码/动态码所发生的终端设备唯一识别序列号 |
| merchantType | 商户类型 | C | String(32) | 商户类型,传中文,枚举如下:企业、个体户、自然人;若是个人商户,自然人必传 |
| tradeScene | 场景 | C | String(8) | 固定值:线上:01,线下:02 |
| orderEid | 下单设备 | C | String(64) | 下单设备号,需是设备在商户侧唯一标识 |
| orderIp | 下单ip | C | String(64) | 下单ip |
| orderAccount | 下单账号 | C | String(32) | 下单账号,用户在商户侧唯一标识 |
| acctRegTime | 下单账号注册时间 | C | String(32) | yyyy-mm-dd hh:mm:ss |
银联云闪acq_addn_data_goods_info说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| id | 商品编号 | M | String(32) | |
| name | 商品名称 | M | String(64) | |
| price | 商品单价 | M | String(10) | |
| quantity | 商品数量 | M | String(16) | |
| category | 商品类目 | O | String(32) | |
| addninfo | 附加信息 | O | String(128) |
网联小钱包acc_busi_fields域内容
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| nuc_issr_id | 小钱包金融机构编号 | C | String(64) |
响应报文
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| merchant_no | 商户号 | M | String(32) | 拉卡拉分配的商户号(请求接口中商户号) |
| out_trade_no | 商户请求流水号 | M | String(32) | 请求报文中的商户请求流水号 |
| trade_no | 拉卡拉交易流水号 | M | String(32) | 拉卡拉交易流水号 |
| log_no | 拉卡拉对账单流水号 | M | String(14) | 拉卡拉对账单流水号 |
| settle_merchant_no | 结算商户号 | M | String(32) | 拉卡拉分配的商户号 |
| settle_term_no | 结算终端号 | M | String(32) | 拉卡拉分配的业务终端号 |
| acc_resp_fields | 账户端返回信息域 | C | Object | 账户端返回信息域 |
支付宝(41-NATIVE)场景下返回acc_resp_fields域
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| code | 二维码信息 | M | String(256) | 商户可用此参数自定义去生成二维码后展示出来进行扫码支付 |
| code_image | 二维码图片内容 | M | String(256) | 商户收款二维码图片。Base64编码,暂无 |
| sub_mch_id | 子商户号 | C | String(20) | 账户端子商户号 |
支付宝(51-JSAPI)场景下返回acc_resp_fields域
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| prepay_id | 预下单Id | M | String(32) | 预支付交易会话ID |
| sub_mch_id | 子商户号 | C | String(20) | 账户端子商户号 |
微信(71-小程序)微信(51-JSAPI)场景下返回acc_resp_fields域
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| prepay_id | 预下单Id | M | String(32) | 预支付交易会话ID |
| pay_sign | 支付签名信息 | M | String(256) | 签名 |
| app_id | 小程序id | M | String(32) | 商户注册具有支付权限的小程序成功后即可获得小程序id |
| time_stamp | 时间戳 | M | String(32) | 当前的时间 |
| nonce_str | 随机字符串 | M | String(32) | 随机字符串 |
| package | 订单详情扩展字符串 | M | String(128) | |
| sign_type | 签名方式 | M | String(32) | 签名类型,支持RSA |
| sub_mch_id | 子商户号 | C | String(20) | 账户端子商户号 |
银联二维码(41-NATIVE)场景下返回acc_resp_fields域
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| code | 二维码信息 | M | String(256) | 商户可用此参数自定义去生成二维码后展示出来进行扫码支付 |
京东(41-NATIVE)场景下返回acc_resp_fields域
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| code | 二维码信息 | M | String(256) | 商户可用此参数自定义去生成二维码后展示出来进行扫码支付 |
银联二维码(51-JSAPI)场景下返回acc_resp_fields域
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| redirect_url | 银联JS支付重定向地址 | M | String(256) | 银联JS支付返回重定向地址 |
| sub_mch_id | 子商户号 | C | String(20) | 账户端子商户号 |
翼支付(51-JSAPI)场景下返回acc_resp_fields域
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| best_pay_info | 翼支付JS参数 | C | String(512) | 翼支付JS参数(老网联) best_pay_info、redirect_url两者有其一 |
| redirect_url | 翼支付支付重定向地址 | C | String(256) | 翼支付支付重定向地址(新网联) |
微信(61-APP)场景下返回acc_resp_fields域
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| prepay_id | 预下单Id | M | String(32) | 预支付交易会话ID |
| pay_sign | 支付签名信息 | M | String(256) | 签名 |
| app_id | 移动应用appid | M | String(32) | 商户注册具有支付权限的安卓/IOSAPP成功后即可获得移动应用appid |
| time_stamp | 时间戳 | M | String(32) | 当前的时间 |
| nonce_str | 随机字符串 | M | String(32) | 随机字符串 |
| package | 订单详情扩展字符串 | M | String(128) | |
| sign_type | 签名方式 | M | String(32) | 签名类型,支持RSA |
| partner_id | 从业机构号 | M | String(32) | |
| sub_mch_id | 子商户号 | C | String(20) | 账户端子商户号 |
示例
请求报文:
{
"req_time": "20240621153714",
"version": "3.0",
"req_data": {
"merchant_no": "822290059430BCY",
"term_no": "D9285650",
"out_trade_no": "720982165373671834096",
"account_type": "ALIPAY",
"trans_type": "41",
"total_amount": 1,
"notify_url": "http://47.105.146.241:9510/channelbacknotice/open/platform/transfer/V3",
"location_info": {
"request_ip": "192.168.23.165",
"location": "+23.137208/+113.381982"
},
"subject": "测试"
}
}复制响应报文:
{
"code": "BBS00000",
"msg": "成功",
"resp_time": "20240626155843",
"resp_data": {
"merchant_no": "822290059430BCY",
"out_trade_no": "720982165373671834096",
"trade_no": "2024062666210315450047",
"log_no": "66210315450047",
"settle_merchant_no": "",
"settle_term_no": "",
"acc_resp_fields": {
"code": "https://qr.alipay.com/bax01162hikpdvl7nk9t005f",
"code_image": "",
"prepay_id": "",
"app_id": "",
"pay_sign": "",
"time_stamp": "",
"nonce_str": "",
"package": "",
"sign_type": "",
"form_data": "",
"redirect_url": "",
"best_pay_info": ""
}
}
}复制