直连主扫调用地址-请求报文

卡拉合伙人 2个月前 ( 11-20 ) 105

调用地址

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

测试环境:https://test.wsmsd.cn/sit/api/v3/dcp/trans/preorder

生产环境:https://s2.lakala.com/api/v3/dcp/trans/preorder

请求报文

字段名中文名称是否必填类型说明
merchant_no商户号MString(32)拉卡拉分配的商户号
term_no终端号MString(32)拉卡拉分配的业务终端号
out_trade_no商户交易流水号MString(32)商户系统唯一,同一个商户号下不要重复。
account_type钱包类型MString(32)微信:WECHAT 支付宝:ALIPAY  微企付:ENTPAY
trans_type接入方式MString(2)

41:NATIVE(微信Native,支付宝Native)

51:JSAPI(微信公众号支付,支付宝服务窗支付)

61:APP支付(微企付APP支付)

71:小程序支付(微信小程序支付、支付宝小程序支付、微企付小程序支付)

81:H5支付(微企付H5支付)

total_amount金额MString(12)单位分,整数型字符
location_info地址位置信息MObject地址位置信息,风控要求必送
subject订单标题CString(128)标题,用于简单描述订单或商品主题 (账户端控制该字段长度,间连方式下该字段小于42位)
notify_url商户通知地址CString(128)商户通知地址,如上传,则按此地址通知商户
remark备注CString(128)商户交易备注信息
store_id商户门店编号(商户自定义)CString(32)商户门店编号
store_name商户门店名称CString(64)商户门店名称
acc_busi_fields账户端业务信息域CObject账户端业务信息域

location_info字段说明

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

支付宝支付情况下accBusiFields字段说明

字段名中文名称必选
备注
user_id买家在支付宝的用户idMString(64)支付宝的buyer_user_id
timeout_express预下单有效时间CString(2)预下单的订单的有效时间,以分钟为单位。如果在有效时间内没有完成付款,则在账户端该订单失效。如果不上送,以账户端订单失效时间为准。 建议不超过15分钟。不传值则默认5分钟。
extend_params业务扩展参数CString(1024)支付宝花呗业务扩展参数 ,见说明
goods_detail商品详情CString(6000)订单包含的商品列表信息,Json格式。
alipay_store_id商户门店编号CString(32)支付宝收单上送,送到支付宝store_id参数中
query_options支付宝查询选项CList<>支付宝收单上送

支付宝extendParams字段说明(该字段类型为String,非object,值为json字符串,需要加转义)

字段名说明必选
备注
sysServiceProviderId服务商的PIDCString(64)系统商编号,该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的 PID
hbFqNum花呗分期期数MString(5)支付宝花呗分期必送字段: 花呗分期数 3:3期 6:6期 12:12期
hbFqSellerPercent卖家承担手续费比例MString(3)支付宝花呗分期必送字段: 卖家承担收费比例,商家承担手续费传入100,用户承担手续费传入0,仅支持传入100、0两种,其他比例暂不支持 100:代表商家贴息 0:代表用户承担手续费
dynamicTokenOutBizNo外部业务号CString(128)填写alipay.marketing.facetoface.decode.use接口中上送的sence_no字段,类型为String, 枚举值20170718xxxxxxxx
foodOrderType点餐场景类型CString点餐场景类型:QR_FOOD_ORDER(点餐先付), P_QR_FOOD_ORDER(点餐后付), TAKE_OUT(餐饮外卖), SELF_PICK(门店自提)
presetPayTool支卡通相关参数CString(256)业务可根据场景是否需要叠加营销,选择以下两种传参方式。叠加营销场景:forceUse-N(支卡通可叠加营销,使用支卡通金额以异步通知为准)屏蔽营销场景:forceUse-Y(支卡通不可叠加营销,使用支卡通金额为传入的amount,单位元) 示例:”{"MERCHANTCARD_ZKT":[{"amount":"0.01","forceUse":"N"}]}”

支付宝businessParams字段说明(该字段类型为String,非object,值为json字符串,需要加转义)

字段名说明必选
备注
scenePayLinkInfo支卡通相关参数CString(256)所有代扣订单都必须传该参数支卡通相关参数,传固定字符串。bizScene和subBizScene由支付宝侧BD提供。 {"bizProduct":"ZCARD","bizScene":"支付宝侧分配","subBizScene":"支付宝侧分配","bizMode":"MERCHANT_ORDER"}

支付宝goodsDetail字段说明

中文名称说明必选
备注
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)商品的展示地址

微信支付情况下accBusiFields字段说明

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

微信detail字段说明

字段名中文名称必选
备注
cost_price
CString(12)1.商户侧一张小票订单可能被分多次支付,订单原 价用于记录整张小票的交易金额。 2.当订单原价与支付金额不相等,则不享受优惠。 3.该字段主要用于防止同一张小票分多次支付,以 享受多次优惠的情况,正常支付订单不必上传此参 数。 如:608800
receipt_id
CString(12)商家小票 ID
goods_detail
MString(1024)单品信息,使用 Json 数组格式提交

微信goods_detail字段说明

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

银联支付情况下accBusiFields字段说明

字段名中文名称必选
备注
user_id用户idMString(64)
timeout_express预下单有效时间CString(2)预下单的订单的有效时间,以分钟为单位。如果在有效时间内没有完成付款,则在账户端该订单失效。如果不上送,以账户端订单失效时间为准。 建议不超过15分钟。不传值则默认5分钟。
acq_addn_data_order_info银联订单信息CString(600)银联单品营销订单信息
acq_addn_data_goods_info银联商品信息CString(6000)银联单品营销商品信息
front_url银联前台通知地址CString(256)收款方向银联推送订单时上送的前台通知地址(仅允许为外网地址),用户完成支付点击,“返回”后,银联通过浏览器POST请求到该地址。 当transType为JSAPI,payMode为UQRCODEPAY时,可选填此字段
front_fail_url银联失败交易前台通知地址CString(256)收款方向银联推送订单时上送的失败交易前台通知地址(仅允许为外网地址),用户支付过程中交易失败,点击“返回”后,银联通过浏览器GET请求到该地址。 当transType为JSAPI,payMode为UQRCODEPAY时,可选填此字段,需与frontUrl同时出现,未上送默认为frontUrl的值

微企付情况下accBusiFields字段说明

字段名中文名称必选
备注
purchaser_type指定付款类型C
指定付款类型(个人付款卡号:INDIVIDUAL_CARD 个人付款人姓名:INDIVIDUAL_NAME企业名称:ENTERPRISE)
channel_options

String渠道选项,指定收银台支持的付款渠道
payer付款方信息CString付款方信息
memo
Cstring(1, 128)附言,只支持空格、中文、数字、英文大小写、下划线、全角半角的连字符、逗号和句号
detail商品信息Marray[object] (1,5)商品信息,建议上送不多于5种商品信息
attach订单附加信息Cstring(1, 255)订单附加信息,附加数据,在查询API中原样返回,可作为自定义参数使用
risk_control风控信息CString
front_callback_url前端回跳地址MString前端回跳地址,支付结果通知,包含所有前端类型的通知地址
area_code地区编号C
地区编号,详细地区编号信息可参照:微企付官方文档
profit_allocation_flag分账标识C
(NO_PROFIT_ALLOCATION:无需分账,profit_allocation_flag不传时默认为无需分账API_PROFIT_ALLOCATION:需要分账)

微企付channelOptions字段说明(该字段类型为String,非object,值为json字符串,需要加转义)

include_bank_snames与exclude_ban_snames不可同时填写

字段名中文名称必选
备注
include_bank_snames指定银行简称列表Carray[String]银行简称,指定收银台不支持的银行列表,例如平安银行为:PAB
exclude_ban_snames指定排除银行简称列表Carray[String]银行简称,指定收银台不支持的银行列表,例如平安银行为:PAB
include_pay_channels指定支付渠道Carray[String]指定支付渠道(个人银行卡:INDIVIDUAL企业网银:ENTERPRISE微信零钱:WX_BALANCE)
exclude_pay_channels指定排除支付渠道Carray[String]指定排除支付渠道(个人银行卡:INDIVIDUAL企业网银:ENTERPRISE微信零钱:WX_BALANCE)

微企付payer字段说明(该字段类型为String,非object,值为json字符串,需要加转义)

字段名中文名称必选
备注
payer_name
Cstring(1, 256)当purchaser_type为ENTERPRISE时,该字段必须设置为付款企业名称,当purchaser_type为INDIVIDUAL_NAME时,该字段必须设置为指定个人付款人姓名

微企付detail字段说明(该字段类型为String,非object,值为json字符串,需要加转义)

字段名中文名称必选
备注
good_name
Mstring(1, 255)商品名称
good_number
Minteger(int32)商品数量
good_amount
Minteger(int32)单位为:分。商品金额

微企付riskControl字段说明(该字段类型为String,非object,值为json字符串,需要加转义)

字段名中文名称必选
备注
device_id
Cstring(1, 32)设备号,终端设备号(门店号或收银设备ID)
payer_client_ip
Mstring(1, 45)用户终端IP,用户端实际ip,示例值:14.17.22.32
payer_ua
Mstring(1, 1000)用户UA,浏览器User-Agent
pick_type
CString提货方式(自提:SELF_PICK 物流:LOGISTICS 改归属:CHANGE_OWNER)
pick_description
Cstring(1, 256)提货描述

微企付frontCallbackUrl字段说明(该字段类型为String,非object,值为json字符串,需要加转义)

字段名中文名称必选
备注
android_url
Mstring(1,256)APP-Android 支付完成前端回跳url(app下单填写)
ios_url
Mstring(1,1024)App-IOS 支付完成前端回跳url(app下单填写)
mp_path
Mstring(1, 1024)Mp 支付完成前端回跳小程序路径,路径和参数内容由开发者设置,受环境限制目前腾讯微企付在 iOS 里使用 wx.navigateBackMiniProgram ,在 Android 里使用wx.navigateToMiniProgram 回跳到你的小程序,建议路径为订单详情或结果页,onShow 时查询最新的订单状态按需展示(小程序下单填写)
mp_appid
Mstring(1, 64)Mp 支付完成前端回跳小程序appid(小程序下单填写)
mp_username
Cstring(1, 64)Mp 支付完成前端回跳小程序原始id(小程序下单填写)
mp_urlscheme
Cstring(1, 64)Mp 支付完成前端回跳小程序urlscheme(小程序下单填写)
h5_url
Cstring(1,1024)微信h5页面回跳地址,支付成功后回跳到指定的页面(H5下单填写)

响应报文

字段名中文名称是否必填类型说明
out_trade_no商户请求流水号MString(64)请求报文中的商户请求流水号
settle_channel_type结算渠道类型MString(16)

微信:WECHAT 支付宝:ALIPAY  拉卡拉:LAKALA

trade_no平台交易流水号MString(32)平台交易流水号
acc_resp_fields账户端返回信息域CObject账户端返回信息域

微信(71-小程序)微信(51-JSAPI)场景下accRespFields域

字段名中文名称是否必填类型说明
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

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

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

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

字段名中文名称是否必填类型说明
prepay_id预下单IdMString(32)预支付交易会话ID

银联二维码(51-JSAPI)场景下返回acc_resp_fields域

字段名中文名称是否必填类型说明
redirect_url银联JS支付重定向地址MString(256)银联JS支付返回重定向地址

微企付(71-小程序 61-app 81-H5)场景下返回accRespFields域

字段名中文名称是否必填类型说明
code跳转链接MString(64)
payer微企付付款方信息Cstring(app支付返回)
prepayId预下单IdMString(32)预支付交易会话ID
miniProgram小程序信息CString(小程序支付返回)

微企付payer字段说明(该字段类型为String,非object,值为json字符串,需要加转义)

字段名中文名称必选
备注
payer_name
Cstring(1, 256)当purchaser_type为ENTERPRISE时,该字段必须设置为付款企业名称,当purchaser_type为INDIVIDUAL_NAME时,该字段必须设置为指定个人付款人姓名
out_payer_id
Cstring(1, 128)平台付款方Id,即合作平台的用户id,付款方在平台的唯一id,只支持英文大小写以及数字
payer_acct_last4
Cstring(4,4)付款方付款银行后四位

示例

请求报文:

{
    "req_time": "20220207142827",
    "version": "3.0",
    "req_data": {
        "merchant_no": "82229005812059B",
        "term_no": "A0104508",
        "out_trade_no": "KFPT20220207142827914820665",
        "account_type": "WECHAT",
        "trans_type": "41",
        "total_amount": "1",
        "location_info": {
            "request_ip": "127.0.0.1",
            "base_station": "00 6361   58130",
            "location": "+37.123456789,-121.123456789"
        },
        "subject": "自动化测试",
        "notify_url": "http://run.mocky.io/v3/b02c9448-20a2-4ff6-a678-38ecab30161d",
        "remark": "",
        "store_id": "",
        "store_name": "",
        "acc_busi_fields": {
            "sub_appid": "wx9ef39b708f164d",
            "sub_openid": "olpr-0sDrT5GmLUgUenVcDPo",
            "goods_tag": "",
            "attach": "",
            "timeout_express": "",
            "detail": ""
        }
    }
}

复制

响应报文:

{
    "code": "DCP00000",
    "msg": "成功",
    "resp_time": "20220207142828",
    "resp_data": {
        "out_trade_no": "KFPT20220207142827914820665",
        "trade_no": "2022020733210004680036",
        "settle_channel_type": "WECHAT",
        "acc_resp_fields": {
            "code": "weixin://wxpay/bizpayurl?pr=iKq5yFPzz",
            "code_image": null,
            "prepay_id": "wx07142828576915c9ba21d215d93faf0000",
            "app_id": null,
            "pay_sign": null,
            "time_stamp": null,
            "nonce_str": null,
            "sign_type": null
        }
    }
}


The End