直连被扫请求报文
说明:被扫支付场景,可能存在支付中需要用户输入密码的情况。该情况下一般交易会返回“DCP10000”-支付中状态。在该场景下,建议发起方发起多次查询,查询频率推荐1分钟内按 5s+5s+5s+5s+10S+10S+20S方式联机查询,并保留手工发起查询的能力(在1分钟内客户未完成密码支付的场景下)
调用地址
使用HTTP协议,POST方式提交。
测试环境: https://test.wsmsd.cn/sit/api/v3/dcp/trans/micropay
生产环境: https://s2.lakala.com/api/v3/dcp/trans/micropay
请求报文
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| merchant_no | 商户号 | M | String(32) | 拉卡拉分配的商户号 |
| term_no | 终端号 | M | String(32) | 拉卡拉分配的业务终端号 |
| out_trade_no | 商户交易流水号 | M | String(32) | 商户系统唯一,不可重复 |
| auth_code | 支付授权码 | M | String(32) | 扫码支付授权码,设备读取用户APP中的条码或者二维码信息,用户付款码条形码规则见说明 |
| total_amount | 金额 | M | String(12) | 单位分,整数型字符 |
| location_info | 地址位置信息 | M | Object | 地址位置信息,风控要求必送 |
| subject | 订单标题 | C | String(128) | 标题,用于简单描述订单或商品 (账户端控制该字段长度,间连方式下该字段小于42位) |
| notify_url | 商户通知地址 | C | String(128) | 商户通知地址,如上传,且 pay_order_no 不存在情况下,且支付响应报文是交易中状态的场景下,则按此地址通知商户 |
| store_id | 商户门店编号 | C | String(32) | 商户门店编号 |
| store_name | 商户门店名称 | C | String(64) | 商户门店名称 |
| remark(待上线) | 备注 | C | String(128) | 商户交易备注信息 |
| acc_busi_fields | 账户端业务信息域 | C | Object | 账户端业务信息域 |
location_info字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| request_ip | 请求方IP地址 | C | String(64) | 请求方的IP地址,格式如36.45.36.95 request_ip、base_station、location必须上送一个,建议优先送request_ip |
| base_station | 基站信息 | C | String(128) | 客户端设备的基站信息(主扫时基站信息使用该字段) |
| location | 纬度经度 | C | String(32) | 商户终端的地理位置,存在必填 格式:纬度,经度,+表示北纬、东经,-表示南纬、 西经,精度最长支持小数点后9位。举例:+37.123456789,-121.123456789 |
支付宝支付情况下accBusiFields字段说明
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| timeout_express | 下单有效时间 | C | String(2) | 下单的订单的有效时间,以分钟为单位。如果在有效时间内没有完成付款,则在账户端该订单失效。如果不上送,以账户端订单失效时间为准。 建议不超过15分钟。不传值则默认5分钟。 |
| extend_params | 业务扩展参数 | C | String(1024) | 支付宝业务扩展参数 ,主要用于花呗分期,见extendParams字段 |
| business_params | 商户传入业务信息 | C | String(512) | 商户传入业务信息,应用于安全,营销 等参数直传场景,格式为 json 格式。 |
| goods_detail | 商品详情 | C | String(6000) | 订单包含的商品列表信息,Json格式。 |
| alipay_store_id | 商户门店编号 | C | String(32) | 支付宝收单上送,送到支付宝store_id参数中 |
| query_options | 支付宝查询选项 | C | List<> | 支付宝收单上送 |
支付宝extendParams字段说明(该字段类型为String,非object,值为json字符串,需要加转义)
| 字段名 | 说明 | 必选 | 类型 | 备注 |
|---|---|---|---|---|
| sysServiceProviderId | 服务商的PID | C | String(64) | 系统商编号,该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的 PID |
| hbFqNum | 花呗分期期数 | M | String(5) | 支付宝花呗分期必送字段: 花呗分期数 3:3期 6:6期 12:12期 |
| hbFqSellerPercent | 卖家承担手续费比例 | M | String(3) | 支付宝花呗分期必送字段: 卖家承担收费比例,商家承担手续费传入100,用户承担手续费传入0,仅支持传入100、0两种,其他比例暂不支持 100:代表商家贴息 0:代表用户承担手续费 |
| dynamicTokenOutBizNo | 外部业务号 | C | String(128) | 填写alipay.marketing.facetoface.decode.use接口中上送的sence_no字段,类型为String, 枚举值20170718xxxxxxxx |
| presetPayTool | 支卡通相关参数 | C | String(256) | 业务可根据场景是否需要叠加营销,选择以下两种传参方式。叠加营销场景:forceUse-N(支卡通可叠加营销,使用支卡通金额以异步通知为准)屏蔽营销场景:forceUse-Y(支卡通不可叠加营销,使用支卡通金额为传入的amount) 示例:”{"MERCHANTCARD_ZKT":[{"amount":"10","forceUse":"N"}]}” |
支付宝businessParams字段说明(该字段类型为String,非object,值为json字符串,需要加转义)
| 字段名 | 说明 | 必选 | 类型 | 备注 |
|---|---|---|---|---|
| scenePayLinkInfo | 支卡通相关参数 | C | String(256) | 所有代扣订单都必须传该参数支卡通相关参数,传固定字符串。bizScene和subBizScene由支付宝侧BD提供。 {"bizProduct":"ZCARD","bizScene":"支付宝侧分配","subBizScene":"支付宝侧分配","bizMode":"MERCHANT_ORDER"} |
支付宝goodsDetail字段说明
| 中文名称 | 必选 | 类型 | 备注 |
|---|---|---|---|
| goods_id | M | String(32) | 商品的编号 |
| goods_name | M | String(256) | 商品名称 |
| quantity | M | String(12) | 商品数量 |
| price | M | String(12) | 单位为元 |
| goods_category | C | String(24) | 商品类目 |
| categories_tree | C | String(128) | 商品类目树,从商品类目根节点到叶子节点的类目 id 组成,类目 id 值使用|分 割 |
| body | C | String(512) | 商品描述信息 |
| show_url | C | String(256) | 商品的展示地址 |
示例: “goodsDetail”:”[{"goods_id":"202202250001","goods_name":"零度可乐330ml","quantity":"1","price":"1.01"}]”
**
微信支付情况下accBusiFields字段说明**
| 字段名 | 中文名称 | 是否必填 | 类型 | 说明 |
|---|---|---|---|---|
| timeout_express | 下单有效时间 | C | String(2) | 预下单的订单的有效时间,以分钟为单位。如果在有效时间内没有完成付款,则在账户端该订单失效。如果不上送,以账户端订单失效时间为准。 建议不超过15分钟。不传值则默认5分钟。 |
| sub_appid | 子商户公众账号ID sub_appid | C | String(32) | 微信公众平台基本配置中的AppID(应用ID),传入后支付成功可返回对应公众号下的用户openid,只对微信支付有效 |
| detail | 商品详情 | C | String(1024) | 单品优惠功能字段 |
| goods_tag | 订单优惠标记 | C | String(32) | 订单优惠标记,微信平台配置的商品标记,用于优惠券或者满减使用,accountType为WECHAT时,可选填此字段 |
| scene_info | 场景信息 | C | String(256) | 该字段常用于线下活动时的场景信息上报,支持上报实际门店信息,商户也可以按需求自己上报相关信息 |
微信detail字段说明
| 字段名 | 中文名称 | 必选 | 类型 | 备注 |
|---|---|---|---|---|
| cost_price | C | String(12) | 1.商户侧一张小票订单可能被分多次支付,订单原 价用于记录整张小票的交易金额。 2.当订单原价与支付金额不相等,则不享受优惠。 3.该字段主要用于防止同一张小票分多次支付,以 享受多次优惠的情况,正常支付订单不必上传此参 数。 如:608800 | |
| receipt_id | C | String(12) | 商家小票 ID | |
| goods_detail | M | String(1024) | 单品信息,使用 Json 数组格式提交 |
微信goods_detail字段说明
| 字段名 | 必选 | 类型 | 备注 |
|---|---|---|---|
| goods_id | M | String(32) | 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。如“商品编码” |
| goods_name | C | String(256) | 商品的实际名称 |
| quantity | M | String(12) | 用户购买的数量 |
| price | M | String(12) | 单位为:分。如果商户有优惠,需传输商户优惠后的单价 |
响应报文
| 字段名 | 说明 | 必选 | 类型 | 备注 |
|---|---|---|---|---|
| need_query | 是否需要发起查询 | M | String(32) | 0=不需要 1=需要 当返回1时,代表订单处理中,商户需主动发起查询 |
| out_trade_no | 商户交易流水号 | M | String(32) | 请求报文中的商户交易流水号 |
| settle_channel_type | 结算渠道类型 | M | String(16) | 微信:WECHAT 支付宝:ALIPAY |
| trade_no | 平台交易流水号 | M | String(32) | 平台交易流水号 |
| acc_merchant_trade_no | 账户端商户交易流水号 | C | String(32) | 账户端商户交易流水号 |
| acc_trade_no | 账户端交易流水号 | C | String(32) | 账户端交易流水号 |
| account_type | 钱包类型 | M | String(16) | 微信:WECHAT 支付宝:ALIPAY 银联:UQRCODEPAY 翼支付: BESTPAY 苏宁易付宝: SUNING 数字货币:DCPAY |
| total_amount | 订单金额 | M | String(12) | 单位分,整数数字型字符 |
| payer_amount | 付款人实际发生金额 | M | String(12) | |
| acc_settel_amount | 账户端应结订单金额 | M | String(12) | 应结订单金额,单位分 |
| acc_mdiscount_amount | 商户优惠金额(账户端) | C | String(12) | 账户端返回商户优惠金额,单位分 |
| acc_discount_amount | 账户端优惠金额 | C | String(12) | 账户端返回账户端优惠金额,单位分 |
| trade_time | 交易完成时间 | M | String(14) | 以账户端返回时间为准 |
| acc_resp_fields | 账户端返回信息域 | C | Object | 账户端返回信息域 |
支付宝返回的accRespFields域
| 字段名 | 说明 | 必选 | 类型 | 备注 |
|---|---|---|---|---|
| user_id | 用户id | M | String(64) | buyer_user_id |
| alipay_store_id | 商户门店编号 | C | String(32) | |
| fund_bill_list | 交易支付使用的资金渠道 | C | String(4096) | |
| discount_goods_detail | 单品券优惠的商品优惠信息 | C | String(4096) | |
| voucher_detail_list | 本交易支付时使用的所有优惠券信息 | C | String(4096) | |
| enterprise_pay_info | 企业支付信息 | C | String(1024) |
微信返回的accRespFields域
| 字段名 | 说明 | 必选 | 类型 | 备注 |
|---|---|---|---|---|
| openid | openId | M | String(64) | |
| sub_openid | subOpenId | C | String(64) | |
| promotion_detail | 优惠功能信息 | C | String(4096) |
示例1-支付宝全场优惠券
请求报文:
{
"req_data": {
"out_trade_no": "TEST202202280003",
"auth_code": "288576824003652810",
"total_amount": "101",
"location_info": {
"request_ip": "127.0.0.1",
"location": "+37.123456789,-121.123456789"
},
"subject": "测试",
"merchant_no": "8222903XXXXX",
"term_no": "A000XXXX",
"notify_url": "www.test.com"
},
"req_time": "20220215152401",
"version": "3.0"
}复制响应报文:
{
"code": "DCP00000",
"msg": "成功",
"resp_time": "20220228111212",
"resp_data": {
"need_query": "0",
"out_trade_no": "TEST202202280003",
"settle_channel_type": "ALIPAY",
"trade_no": "2022022833210000270002",
"acc_merchant_trade_no": "2022022833210000270002",
"acc_trade_no": "2022022822001405451403529459",
"account_type": "ALIPAY",
"total_amount": "101",
"payer_amount": "1",
"acc_settle_amount": "1",
"acc_mdiscount_amount": null,
"acc_discount_amount": null,
"trade_time": "20220228111212",
"acc_resp_fields": {
"user_id": "2088622957692417",
"alipay_store_id": null,
"openid": null,
"sub_openid": null,
"up_iss_addn_data": null,
"up_coupon_info": null,
"fund_bill_list": "[{\"amount\":\"1.00\",\"fund_channel\":\"MDISCOUNT\"},{\"amount\":\"0.01\",\"fund_channel\":\"ALIPAYACCOUNT\"}]",
"discount_goods_detail": null,
"voucher_detail_list": "[{\"amount\":\"1.00\",\"id\":\"20220228000730024505098Q2ZLR\",\"merchant_contribute\":\"1.00\",\"name\":\"1.00元代金券\",\"other_contribute\":\"0.00\",\"template_id\":\"20220224000730012699006X2YNH\",\"type\":\"ALIPAY_BIZ_VOUCHER\"}]",
"promotion_detail": null
}
}
}复制示例2-支付宝单品券
请求报文:
{
"req_data": {
"out_trade_no": "TEST202202280009",
"auth_code": "287636643163568892",
"total_amount": "101",
"location_info": {
"request_ip": "127.0.0.1",
"location": "+37.123456789,-121.123456789"
},
"subject": "测试",
"merchant_no": "82229035XXXXXX",
"term_no": "A000XXXX",
"acc_busi_fields": {
"goods_detail": "[{\"goods_id\":\"202202280001\",\"goods_name\":\"珍珠奶茶\",\"quantity\":\"1\",\"price\":\"1.01\"}]"
}
},
"req_time": "20220215152401",
"version": "3.0"
}复制响应报文:
{
"code": "DCP00000",
"msg": "成功",
"resp_time": "20220228173410",
"resp_data": {
"need_query": "0",
"out_trade_no": "TEST202202280009",
"settle_channel_type": "ALIPAY",
"trade_no": "2022022833210000340000",
"acc_merchant_trade_no": "2022022833210000340000",
"acc_trade_no": "2022022822001405451404118032",
"account_type": "ALIPAY",
"total_amount": "101",
"payer_amount": "1",
"acc_settle_amount": "1",
"acc_mdiscount_amount": null,
"acc_discount_amount": null,
"trade_time": "20220228173410",
"acc_resp_fields": {
"user_id": "2088712458105450",
"alipay_store_id": null,
"openid": null,
"sub_openid": null,
"up_iss_addn_data": null,
"up_coupon_info": null,
"fund_bill_list": "[{\"amount\":\"1.00\",\"fund_channel\":\"MDISCOUNT\"},{\"amount\":\"0.01\",\"fund_channel\":\"ALIPAYACCOUNT\"}]",
"discount_goods_detail": "[{\"goods_id\":\"202202280001\",\"goods_name\":\"珍珠奶茶\",\"discount_amount\":\"1.00\",\"voucher_id\":\"20220228000730024505098YV6RZ\",\"goods_num\":\"1.0\"}]",
"voucher_detail_list": "[{\"amount\":\"1.00\",\"id\":\"20220228000730024505098YV6RZ\",\"merchant_contribute\":\"1.00\",\"name\":\"1.00元代金券\",\"other_contribute\":\"0.00\",\"template_id\":\"202202280007300129280079KOUX\",\"type\":\"ALIPAY_COMMON_ITEM_VOUCHER\"}]",
"promotion_detail": null
}
}
}复制示例3-支付宝口碑产品券
场景:实现的效果是:秘制豆浆-4905-单价6元 口碑领券后优惠6元,先用支付宝口碑扫扫领券,5元购买了秘制豆浆券,下单后使用支付宝钱包码支付购买秘制豆浆,订单金额6元,实际支付金额为0(用了秘制豆浆券)
请求报文:
{
"req_data": {
"out_trade_no": "TEST202203030004",
"auth_code": "289827863255999662",
"total_amount": "600",
"location_info": {
"request_ip": "127.0.0.1",
"location": "+37.123456789,-121.123456789"
},
"subject": "测试",
"merchant_no": "822331058XXXXXXX",
"term_no": "B264XXXXX",
"acc_busi_fields": {
"goods_detail": "[{\"goods_id\":\"4905\",\"goods_name\":\"秘制豆浆(热)\",\"quantity\":\"1\",\"price\":\"6.00\"}]",
"alipay_store_id": "2909"
}
},
"req_time": "20220215152401",
"version": "3.0"
}复制响应报文:
{
"code": "DCP00000",
"msg": "成功",
"resp_time": "20220303151733",
"resp_data": {
"need_query": "0",
"out_trade_no": "TEST202203030004",
"settle_channel_type": "ALIPAY",
"trade_no": "2022030333210000360023",
"acc_merchant_trade_no": "2022030333210000360023",
"acc_trade_no": "2022030322001438811448057041",
"account_type": "ALIPAY",
"total_amount": "600",
"payer_amount": "0",
"acc_settle_amount": "500",
"acc_mdiscount_amount": null,
"acc_discount_amount": null,
"trade_time": "20220303151733",
"acc_resp_fields": {
"user_id": "2088xxxxxx4438816",
"alipay_store_id": null,
"openid": null,
"sub_openid": null,
"up_iss_addn_data": null,
"up_coupon_info": null,
"fund_bill_list": "[{\"amount\":\"1.00\",\"fund_channel\":\"MDISCOUNT\"},{\"amount\":\"5.00\",\"fund_channel\":\"ALIPAYACCOUNT\"}]",
"discount_goods_detail": "[{\"goods_id\":\"4905\",\"goods_name\":\"秘制豆浆(热)\",\"discount_amount\":\"6.00\",\"voucher_id\":\"202203030007300281380B7C5COQ\",\"goods_num\":\"1.0\"}]",
"voucher_detail_list": "[{\"amount\":\"6.00\",\"id\":\"202203030007300281380B7C5COQ\",\"memo\":\"测试用,浦东机场店,定向投放,不在店铺页展示\",\"merchant_contribute\":\"6.00\",\"name\":\"【必点】秘制豆浆\",\"other_contribute\":\"0.00\",\"purchase_ant_contribute\":\"0.00\",\"purchase_buyer_contribute\":\"5.00\",\"purchase_merchant_contribute\":\"1.00\",\"template_id\":\"20220302000730017404006Z3HMI\",\"type\":\"ALIPAY_ITEM_VOUCHER\"}]",
"promotion_detail": null
}
}
}复制示例4-支付宝口碑代金券
场景:口碑领券后优惠0.2元,0.1元购买了0.2元代金券,购买1.1元商品,实际支付了0.9元。
请求报文:
{
"req_data": {
"out_trade_no": "TEST202203030006",
"auth_code": "288648118310343152",
"total_amount": "110",
"location_info": {
"request_ip": "127.0.0.1",
"location": "+37.123456789,-121.123456789"
},
"subject": "测试",
"merchant_no": "822331058XXXXXXX",
"term_no": "B264XXXXX",
"acc_busi_fields": {
"goods_detail": "[{\"goods_id\":\"1002\",\"goods_name\":\"葱油拌面\",\"quantity\":\"1\",\"price\":\"1.10\"}]",
"alipay_store_id": "2909"
}
},
"req_time": "20220215152401",
"version": "3.0"
}复制响应报文:
{
"code": "DCP00000",
"msg": "成功",
"resp_time": "20220303152237",
"resp_data": {
"need_query": "0",
"out_trade_no": "TEST202203030006",
"settle_channel_type": "ALIPAY",
"trade_no": "2022030333210000370026",
"acc_merchant_trade_no": "2022030333210000370026",
"acc_trade_no": "2022030322001428471449839391",
"account_type": "ALIPAY",
"total_amount": "110",
"payer_amount": "90",
"acc_settle_amount": "100",
"acc_mdiscount_amount": null,
"acc_discount_amount": null,
"trade_time": "20220303152237",
"acc_resp_fields": {
"user_id": "2088102332328479",
"alipay_store_id": null,
"openid": null,
"sub_openid": null,
"up_iss_addn_data": null,
"up_coupon_info": null,
"fund_bill_list": "[{\"amount\":\"0.90\",\"fund_channel\":\"PCREDIT\"},{\"amount\":\"0.10\",\"fund_channel\":\"MDISCOUNT\"},{\"amount\":\"0.10\",\"fund_channel\":\"ALIPAYACCOUNT\"}]",
"discount_goods_detail": null,
"voucher_detail_list": "[{\"amount\":\"0.20\",\"id\":\"202203030007300247280AJ6XEH7\",\"memo\":\"拉卡拉 测试用,浦东机场店,定向投放,不在店铺页展示\",\"merchant_contribute\":\"0.20\",\"name\":\"商家代金券0.2元\",\"other_contribute\":\"0.00\",\"purchase_ant_contribute\":\"0.00\",\"purchase_buyer_contribute\":\"0.10\",\"purchase_merchant_contribute\":\"0.10\",\"template_id\":\"20220302000730017404006Z3KWE\",\"type\":\"ALIPAY_FIX_VOUCHER\"}]",
"promotion_detail": null
}
}
}复制