拉卡拉聚合掃碼-被掃接口(全報文加密)

lakala 3個月前 ( 11-14 ) 499

接口說明

被掃交易接口,若涉及指定買家姓名身份證號等敏感信息時需要將全報文進行加密處理后再調用此接口完成被掃支付。加密方式見開發指引敏感信息接口加密說明。

場景說明: 如果用戶支付密碼用時比較長,商戶多次查詢完成時,用戶還沒有輸密碼完成,拉卡拉這邊會按照一定的輪詢策略(總時間范圍大概在兩個小時的多次查詢)繼續向賬戶端發起查詢,查詢成功后再按照接口中通知地址通知商戶。如果用戶在拉卡拉的輪詢查詢都完成了還沒有完成輸入密碼,此時交易還處于中間態,只能依賴商戶發起手工查詢,觸發拉卡拉再次向賬戶端發起交易結果查詢。

調用地址

使用HTTP協議,POST方式提交。

測試環境: https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay_encry

生產環境::https://s2.lakala.com/api/v3/labs/trans/micropay_encry

請求報文

字段名中文名稱是否必填類型說明
merchant_no商戶號MString(32)拉卡拉分配的商戶號
term_no終端號MString(32)拉卡拉分配的業務終端號
out_trade_no商戶交易流水號MString(32)商戶系統唯一,不可重復
auth_code支付授權碼MString(32)掃碼支付授權碼,設備讀取用戶APP中的條碼或者二維碼信息,用戶付款碼條形碼規則見說明
total_amount金額MString(12)單位分,整數型字符
location_info地址位置信息MObject地址位置信息,風控要求必送
busi_mode業務模式CString(8)業務模式: ACQ-收單 不填,默認為“ACQ-收單”
subject訂單標題CString(42)標題,用于簡單描述訂單或商品(賬戶端控制,實際最多42個字符),微信支付必送。
pay_order_no拉卡拉支付業務訂單號CString(64)拉卡拉訂單系統訂單號,以拉卡拉支付業務訂單號為驅動的支付行為,需上傳該字段。 訂單交易下單,交易時上送訂單系統訂單號,交易流程中會校驗有效性、判重
notify_url商戶通知地址CString(128)商戶通知地址,如上傳,且 pay_order_no 不存在情況下,且支付響應報文是交易中狀態的場景下,則按此地址通知商戶
settle_type結算類型CString(4)“0”或者空,常規結算方式;
remark備注CString(128)
scan_type掃碼類型CString(1)0或不填:掃碼支付 1:支付寶刷臉支付;2: 微信刷臉支付
identity_info身份信息CString(1024)實名支付信息,json字符串,如{“identityNo”:”32000000000000000X”,”name”:”張三”}
acc_busi_fields賬戶端業務信息域CObject參見以下acc_busi_fields字段詳細說明,不同類型的auth_code對應不同的賬戶端,需要填寫不同的信息

支持的auth_code說明

屬性說明備注
微信WECHAT付款碼10 11 12 13 14 15開頭
支付寶ALIPAY付款碼25 26 27 28 29 30開頭
銀聯UQRCODEPAY付款碼62開頭
數幣人民幣DCPAY付款碼01開頭
翼支付BESTPAY付款碼51開頭
蘇寧SUNING付款碼83開頭

location_info字段說明

字段名中文名稱是否必填類型說明
request_ip請求方IP地址MString(64)請求方的IP地址,存在必填,格式如36.45.36.95
base_station基站信息CString(128)客戶端設備的基站信息(主掃時基站信息使用該字段)
location緯度,經度CString(32)

商戶終端的地理位置,銀聯二維碼交易必填,整體格式:緯度,經度,+表示北緯、東經,-表示南緯、 西經。

經度格式:1位正負號+3位整數+1位小數點+5位小數;

緯度格式:1位正負號+2位整數+1位小數點+6位小數;

舉例:+31.221345,+121.12345

支付寶二維碼被掃場景下acc_busi_fields域內容

字段名中文名稱是否必填類型說明
extend_params業務擴展參數Cobject支付寶業務擴展參數 ,主要用于花唄分期,見extend_params字段說明
business_params商戶傳入業務信息CString(512)商戶傳入業務信息,應用于安全,營銷 等參數直傳場景,格式為 json 格式。
goods_detail商品詳情CString(6000)訂單包含的商品列表信息,Json數組。見“支付寶goods_detail字段說明”
store_id商戶門店編號CString(32)支付寶收單上送
alipay_store_id(不再使用)支付寶店鋪編號CString(32)支付寶已不再使用該字段
timeout_express交易有效時間CString(2)訂單的有效時間,以分鐘為單位。如果在有效時間內沒有完成付款,則在賬戶端該訂單失效。如果不上送,以賬戶端訂單失效時間為準。 建議不超過15分鐘。不傳值則默認5分鐘。
disable_pay_channels支付寶禁用支付渠道CString(32)“credit_group”表示禁用信用卡
business_params商戶傳入業務信息CString(512)商戶傳入業務信息,應用于安全,營銷等參數直傳場景,格式為 json 格式。
示例:{“enable_thirdpar ty_subsidy”:”N”}
min_age允許的最小買家年齡CString(2)買家年齡必須大于等于所傳數值
priority_pay_assets優先使用資產Cobject優先使用資產

支付寶extend_params字段說明

字段名中文名稱是否必填類型說明
sys_service_pr ovider_id服務商的PIDCString(64)系統商編號,該參數作為系統商返傭數據提取的依據,請填寫系統商簽約協議的 PID
hb_fq_num花唄分期期數MString(5)支付寶花唄分期必送字段: 花唄分期數 3:3期 6:6期 12:12期
hb_fq_seller_percent賣家承擔手續費比例MString(3)支付寶花唄分期必送字段: 賣家承擔手續費比例,間連模式下只支持傳0。

支付寶goods_detail字段說明

字段名中文名稱是否必填類型說明
goods_id
MString(32)商品的編號
alipay_goods_id
CString(32)支付寶定義的統一商品編號
goods_name
MString(256)商品名稱
quantity
MNumber商品數量
price
MPrice商品價格 單位元
goods_category
CString(24)商品類目
categories_tree
CString(128)商品類目樹,從商品類目根節點到葉子節點的類目 id 組成,類目 id 值使用|分 割
body
CString(512)商品描述信息
show_url
CString(256)商品的展示地址

示例

“goods_detail”: “[{"goods_id":"1002","goods_name":"蔥油拌面","quantity":"1","price":"1.10"}]”,

支付寶priority_pay_assets字段說明

字段名中文名稱是否必填類型說明
assets_list資產列表Clist資產列表
–asset_name資產名稱CString花唄資產,如:pcredit

微信二維碼被掃場景下acc_busi_fields域內容

字段名中文名稱是否必填類型說明
sub_appid子商戶公眾賬號ID sub_appidCString(32)微信公眾平臺基本配置中的AppID(應用ID),傳入后支付成功可返回對應公眾號下的用戶openid,只對微信支付有效
detail商品詳情CString(1024)單品優惠功能字段,json字符串格式,內容見以下“微信detail字段說明”
goods_tag訂單優惠標記CString(32)訂單優惠標記,微信平臺配置的商品標記,用于優惠券或者滿減使用,accountType為WECHAT時,可選填此字段
device_info設備號CString(32)終端設備號(商戶自定義,如門店編號)
limit_pay指定支付方式CString(20)no_credit–指定不能使用信用卡支付
scene_info場景信息CString(256)該字段用于上報場景信息,目前支持上報實際門店信息。

微信detail字段說明

字段名中文名稱是否必填類型說明
cost_price
CString(12)1.商戶側一張小票訂單可能被分多次支付,訂單原 價用于記錄整張小票的交易金額。 2.當訂單原價與支付金額不相等,則不享受優惠。 3.該字段主要用于防止同一張小票分多次支付,以 享受多次優惠的情況,正常支付訂單不必上傳此參 數。 如:608800
receipt_id
CString(12)商家小票 ID
goods_detail
MString單品信息,使用Json數組格式提交,內容見以下“微信goods_detail字段說明”
微信goods_detail字段說明
字段名中文名稱是否必填類型說明
goods_id
MString(32)由半角的大小寫字母、數字、中劃線、下劃線中的一種或幾種組成。如“商品編碼”
wxpay_goods_id
CString(32)微信支付定義的統一商品編號
goods_name
CString(256)商品的實際名稱
quantity
Mint用戶購買的數量
price
Mint單位為:分。如果商戶有優惠,需傳輸商戶優惠后的單價

銀聯二維碼被掃場景下acc_busi_fields域內容

字段名中文名稱是否必填類型說明
acq_addn_data_order_info銀聯訂單信息CString(600)銀聯二維碼單品營銷時上送
acq_addn_data_goods_info銀聯商品信息CString(6000)銀聯單品營銷商品信息

示例

“acq_addn_data_order_info”: “{"title": "日用品","dctAmount": "2","addnInfo": "屈臣氏(人民廣場)店"}”,
“acq_addn_data_goods_info”: “[{"id": "202230001","name": "test測試單品","price": "1","quantity": "1"}]”

響應報文

字段名中文名稱是否必填類型說明
need_query是否需要發起查詢MString(32)0=不需要 1=需要 當返回1時,代表訂單處理中,商戶需主動發起查詢
merchant_no商戶號MString(32)拉卡拉分配的商戶號(請求接口中商戶號)
out_trade_no商戶交易流水號MString(32)請求報文中的商戶交易流水號
trade_no拉卡拉交易流水號MString(32)拉卡拉交易流水號
log_no拉卡拉對賬單流水號MString(14)拉卡拉對賬單流水號
acc_trade_no賬戶端交易訂單號CString(32)賬戶端交易流水號
account_type錢包類型MString(16)微信:WECHAT 支付寶:ALIPAY 銀聯:UQRCODEPAY 翼支付: BESTPAY 蘇寧易付寶: SUNING 數字貨幣:DCPAY
total_amount訂單金額MString(12)單位分,整數數字型字符 訂單金額=付款人實際發生金額+商戶優惠金額+賬戶端優惠金額
payer_amount付款人實際發生金額MString(12)
acc_settle_amount賬戶端應結訂單金額MString(12)應結訂單金額,單位分 ,賬戶端應結訂單金額=付款人實際發生金額+賬戶端優惠金額
acc_mdiscount_amount商戶優惠金額(賬戶端)CString(12)賬戶端返回商戶優惠金額,單位分
acc_discount_amount賬戶端優惠金額CString(12)賬戶端返回賬戶端優惠金額,單位分
acc_other_discount_amount賬戶端其它優惠金額CString(12)賬戶端返回賬戶端其它優惠金額,單位分
trade_time交易完成時間MString(14)以賬戶端返回時間為準
bank_type付款銀行CString(128)付款銀行
card_type銀行卡類型CString(16)00:借記 01:貸記 02:微信零錢 03:支付寶花唄 04:支付寶其他 05:數字貨幣 06:拉卡拉支付賬戶 99:未知
remark備注CString(128)
acc_resp_fields賬戶端返回信息域CObject賬戶端返回信息域

支付寶二維碼被掃場景下返回acc_resp_fields域內容

字段名中文名稱是否必填類型說明
user_id買家在支付寶的用戶idMString(64)buyer_user_id
store_id商戶門店編號CString(32)支付寶收單上送
alipay_store_id(不再使用)支付寶店鋪編號CString(32)支付寶已不再使用該字段
fund_bill_list交易支付使用的資金渠道(未上線)CString(512)
voucher_detail_list所有優惠券信息(未上線)CString(4096)
sub_mch_id子商戶號C
String(20)賬戶端子商戶號

示例

“fund_bill_list”: “[{"amount":"1.00","fund_channel":"MDISCOUNT"},{"amount":"5.00","fund_channel":"ALIPAYACCOUNT"}]”,
“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"}]”,

微信二維碼被掃場景下返回acc_resp_fields域內容

字段名中文名稱是否必填類型說明
open_id用戶標識MString(64)用戶在商戶appid下的唯一標識
user_id用戶子標識CString(64)sub_open_id
acc_activity_id活動 IDCString(32)在賬戶端商戶后臺配置的批次 ID
promotion_detail優惠功能信息CString(4096)
sub_mch_id子商戶號C
String(20)賬戶端子商戶號

銀聯二維碼被掃場景下返回acc_resp_fields域內容

字段名中文名稱是否必填類型說明
user_id用戶idMString(64)云閃付APP支付時返回
up_iss_addn_data銀聯單品營銷 附加數據CString(8000)參與單品營銷優惠時返回
up_coupon_info銀聯優惠信息/出資方信息CString(500)參與單品營銷優惠時返回

示例

“up_iss_addn_data”: “{"dctDetail":[{"id":"202230001","dctQuantity":"1","dctPrice":"1","dctId":"2112022022345425"}]}”,
“up_coupon_info”: “[{"id":"2112022022345425","desc":"lkl單品測試","type":"CP01","spnsrId":"8223310581202EY","offstAmt":"1"}]”,

數幣被掃場景下返回acc_resp_fields域內容

字段名中文名稱是否必填類型說明
trade_info出資方信息CString(512)數字貨幣中行返回示例說明:[{“fundchannel”:”BOC”,”amount”:”18”}]

示例

請求報文

{
    "req_time": "20210907150256",
    "version": "3.0",
    "out_org_code": "OP00000003",
    "req_data": {
        "merchant_no": "822290070111135",
        "term_no": "29034705",
        "out_trade_no": "FD660E1FAA3A4470933CDEDAE1EC1D8E",
        "auth_code": "135178236713755038",
        "total_amount": "123",
        "location_info": {
            "request_ip": "10.176.1.192",
            "location": "+37.123456789,-121.123456789"
        }
    }
}復制

響應報文

{
    "msg": "用戶支付中",
    "resp_time": "20210907150258",
    "code": "BBS10000",
    "resp_data": {
        "need_query": "1",
        "out_trade_no": "FD660E1FAA3A4470933CDEDAE1EC1D8E",
        "trade_no": "2021090766210003630077",
        "log_no": "66210003630077",
        "acc_trade_no": "",
        "account_type": "WECHAT",
        "total_amount": "123",
        "payer_amount": "",
        "acc_settle_amount": "",
        "acc_mdiscount_amount": "",
        "acc_discount_amount": "",
        "trade_time": "20210907150258",
        "bank_type": "",
        "card_type": ""
    }
}


The End