接口說明:
1、商戶掃描消費(fèi)者錢包付款碼完成支付,支持支付寶,微信,云閃付,數(shù)字人民幣等錢包;
2、正常情況下被掃接口同步返回支付結(jié)果,若遇到需要消費(fèi)者輸入密碼的情況,交易會(huì)返回“BBS10000-支付中”狀態(tài)。在該場(chǎng)景下,建議發(fā)起方發(fā)起多次查詢,查詢頻率推薦1分鐘內(nèi)按 5s+5s+5s+5s+10S+10S+20S方式聯(lián)機(jī)查詢,并保留手工發(fā)起查詢的能力。
被掃交易輸密碼場(chǎng)景說明:如果用戶支付密碼用時(shí)比較長(zhǎng),商戶多次查詢完成時(shí),用戶還沒有輸密碼完成,拉卡拉這邊會(huì)按照一定的輪詢策略(總時(shí)間范圍大概在兩個(gè)小時(shí)的多次查詢)繼續(xù)向賬戶端發(fā)起查詢,查詢成功后再按照接口中通知地址通知商戶。如果用戶在拉卡拉的輪詢查詢都完成了還沒有完成輸入密碼,此時(shí)交易還處于中間態(tài),只能依賴商戶發(fā)起手工查詢,觸發(fā)拉卡拉再次向賬戶端發(fā)起交易結(jié)果查詢。
調(diào)用地址
使用HTTP協(xié)議,POST方式提交。
測(cè)試環(huán)境: https://test.wsmsd.cn/sit/api/v3/labs/trans/micropay
生產(chǎn)環(huán)境::https://s2.lakala.com/api/v3/labs/trans/micropay
請(qǐng)求報(bào)文
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| merchant_no | 商戶號(hào) | M | String(32) | 拉卡拉分配的商戶號(hào) |
| term_no | 終端號(hào) | M | String(32) | 拉卡拉分配的業(yè)務(wù)終端號(hào) |
| out_trade_no | 商戶交易流水號(hào) | M | String(32) | 商戶系統(tǒng)唯一,不可重復(fù) |
| auth_code | 支付授權(quán)碼 | M | String(32) | 掃碼支付授權(quán)碼,設(shè)備讀取用戶APP中的條碼或者二維碼信息,用戶付款碼條形碼規(guī)則見說明 |
| total_amount | 金額 | M | String(12) | 單位分,整數(shù)型字符 |
| location_info | 地址位置信息 | M | Object | 地址位置信息,風(fēng)控要求必送 |
| busi_mode | 業(yè)務(wù)模式 | C | String(8) | 業(yè)務(wù)模式: ACQ-收單 不填,默認(rèn)為“ACQ-收單” |
| subject | 訂單標(biāo)題 | C | String(42) | 標(biāo)題,用于簡(jiǎn)單描述訂單或商品(賬戶端控制,實(shí)際最多42個(gè)字符),微信支付必送。 |
| pay_order_no | 拉卡拉支付業(yè)務(wù)訂單號(hào) | C | String(64) | 拉卡拉訂單系統(tǒng)訂單號(hào),以拉卡拉支付業(yè)務(wù)訂單號(hào)為驅(qū)動(dòng)的支付行為,需上傳該字段。 訂單交易下單,交易時(shí)上送訂單系統(tǒng)訂單號(hào),交易流程中會(huì)校驗(yàn)有效性、判重 |
| notify_url | 商戶通知地址 | C | String(128) | 商戶通知地址,如上傳,且 pay_order_no 不存在情況下,且支付響應(yīng)報(bào)文是交易中狀態(tài)的場(chǎng)景下,則按此地址通知商戶 |
| settle_type | 結(jié)算類型 | C | String(4) | “0”或者空,常規(guī)結(jié)算方式;如需接拉卡拉分賬通需傳“1”,商戶未開通分賬之前切記不用上送此參數(shù)。 |
| remark | 備注 | C | String(128) |
|
| scan_type | 掃碼類型 | C | String(1) | 0或不填:掃碼支付 1:支付寶刷臉支付;2: 微信刷臉支付 |
| acc_busi_fields | 賬戶端業(yè)務(wù)信息域 | C | Object | 參見以下acc_busi_fields字段詳細(xì)說明,不同類型的auth_code對(duì)應(yīng)不同的賬戶端,需要填寫不同的信息 |
支持的auth_code說明
| 屬性 | 說明 | 備注 |
|---|
| 微信 | WECHAT | 付款碼10 11 12 13 14 15開頭 |
| 支付寶 | ALIPAY | 付款碼25 26 27 28 29 30開頭 |
| 銀聯(lián) | UQRCODEPAY | 付款碼62開頭 |
| 數(shù)幣人民幣 | DCPAY | 付款碼01開頭 |
| 翼支付 | BESTPAY | 付款碼51開頭 |
location_info字段說明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| request_ip | 請(qǐng)求方IP地址 | M | String(64) | 請(qǐng)求方的IP地址,存在必填,格式如36.45.36.95 |
| base_station | 基站信息 | C | String(128) | 客戶端設(shè)備的基站信息(主掃時(shí)基站信息使用該字段) |
| location | 緯度,經(jīng)度 | C | String(32) | 商戶終端的地理位置,銀聯(lián)二維碼交易必填,整體格式:緯度,經(jīng)度,+表示北緯、東經(jīng),-表示南緯、 西經(jīng)。 經(jīng)度格式:1位正負(fù)號(hào)+3位整數(shù)+1位小數(shù)點(diǎn)+5位小數(shù); 緯度格式:1位正負(fù)號(hào)+2位整數(shù)+1位小數(shù)點(diǎn)+6位小數(shù); 舉例:+31.221345,+121.12345 |
支付寶二維碼被掃場(chǎng)景下acc_busi_fields域內(nèi)容
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| extend_params | 業(yè)務(wù)擴(kuò)展參數(shù) | C | object | 支付寶業(yè)務(wù)擴(kuò)展參數(shù) ,主要用于花唄分期,見extend_params字段說明 |
| goods_detail | 商品詳情 | C | String(6000) | 訂單包含的商品列表信息,Json數(shù)組。見“支付寶goods_detail字段說明” |
| store_id | 商戶門店編號(hào) | C | String(32) | 支付寶收單上送 |
| alipay_store_id(不再使用) | 支付寶店鋪編號(hào) | C | String(32) | 支付寶已不再使用該字段 |
| timeout_express | 交易有效時(shí)間 | C | String(2) | 訂單的有效時(shí)間,以分鐘為單位。如果在有效時(shí)間內(nèi)沒有完成付款,則在賬戶端該訂單失效。如果不上送,以賬戶端訂單失效時(shí)間為準(zhǔn)。 建議不超過15分鐘。不傳值則默認(rèn)5分鐘。 |
| disable_pay_channels | 支付寶禁用支付渠道 | C | String(32) | “credit_group”表示禁用信用卡 |
| business_params | 商戶傳入業(yè)務(wù)信息 | C | String(512) | 商戶傳入業(yè)務(wù)信息,應(yīng)用于安全,營(yíng)銷等參數(shù)直傳場(chǎng)景,格式為 json 格式。 示例:{“enable_thirdpar ty_subsidy”:”N”} |
| min_age | 允許的最小買家年齡 | C | String(2) | 買家年齡必須大于等于所傳數(shù)值 |
| promo_params | 優(yōu)惠明細(xì) | C | object | 優(yōu)惠明細(xì)參數(shù),通過此屬性補(bǔ)充營(yíng)銷參數(shù) |
| priority_pay_assets | 優(yōu)先使用資產(chǎn)
| C | object | 優(yōu)先使用資產(chǎn) |
| enable_pay_channels | 支付通道 | C
| String(128) | 支付通道:如「因公付」+「招商銀行借記卡」:enterprisePay,debit_group#CMB 如「因公付」+「招商銀行貸記卡」:enterprisePay.credit_group#CMB |
支付寶extend_params字段說明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| sys_service_pr ovider_id | 服務(wù)商的PID | C | String(64) | 系統(tǒng)商編號(hào),該參數(shù)作為系統(tǒng)商返傭數(shù)據(jù)提取的依據(jù),請(qǐng)?zhí)顚懴到y(tǒng)商簽約協(xié)議的 PID |
| hb_fq_num | 花唄分期期數(shù) | M | String(5) | 支付寶花唄分期必送字段: 花唄分期數(shù) 3:3期 6:6期 12:12期 |
| hb_fq_seller_percent | 賣家承擔(dān)手續(xù)費(fèi)比例 | M | String(3) | 支付寶花唄分期必送字段: 賣家承擔(dān)手續(xù)費(fèi)比例,間連模式下只支持傳0。 |
| fq_num | 信用卡分期期數(shù) | C | String(2) | 根據(jù)實(shí)際選擇期數(shù)上送,僅支持傳入 3、6、12 |
| fq_seller_percent | 信用卡分期手續(xù)費(fèi)比例 | C | String(12) | 支付寶信用卡分期必送字段: 賣家承擔(dān)收費(fèi)比例,間連模式下只支持傳0。 |
| fq_channels | 信用卡分期優(yōu)先使用資產(chǎn)類型 | C | String(20) | 信用卡分期必送該字段,暫時(shí)僅?持傳?alipayfq_cc |
| pd_sub_biz_scene | 支付默認(rèn)場(chǎng)景 | C | String(128)
| 固定資產(chǎn):enterprisePay |
支付寶goods_detail字段說明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| goods_id |
| M | String(32) | 商品的編號(hào) |
| alipay_goods_id |
| C | String(32) | 支付寶定義的統(tǒng)一商品編號(hào) |
| goods_name |
| M | String(256) | 商品名稱 |
| quantity |
| M | Number | 商品數(shù)量 |
| price |
| M | Price | 商品價(jià)格 單位元 |
| goods_category |
| C | String(24) | 商品類目 |
| categories_tree |
| C | String(128) | 商品類目樹,從商品類目根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的類目 id 組成,類目 id 值使用|分 割 |
| body |
| C | String(512) | 商品描述信息 |
| show_url |
| C | String(256) | 商品的展示地址 |
示例
“goods_detail”: “[{"goods_id":"1002","goods_name":"蔥油拌面","quantity":"1","price":"1.10"}]”,
支付寶promo_params字段說明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| electrical_equipment_category | 國(guó)補(bǔ)優(yōu)惠碼 | C | String(128) | 國(guó)補(bǔ)優(yōu)惠碼 |
支付寶priority_pay_assets字段說明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| assets_list | 資產(chǎn)列表 | C | list | 資產(chǎn)列表 |
| –asset_name | 資產(chǎn)名稱 | C | String | 花唄資產(chǎn),如:pcredit 固定資產(chǎn):enterprisePay |
支付寶business_params字段說明(JSON格式)
{"assignJointAccountld":"15567","enterprisePayAmount":"15567","identityPayBizlnfo":"15567","enterprise_pay_info":"15567"}
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| assignJointAccountld | 指定的因公付賬戶 | C | String | 如果存在指定,僅會(huì)使用對(duì)應(yīng)的資產(chǎn)進(jìn)行支付(此賬號(hào)為指定的付款賬號(hào),需要設(shè)置可用的支付資產(chǎn) |
| enterprisePayAmount | 指定因公付出資金額 | C | String |
|
| identityPayBizlnfo | 因公付業(yè)務(wù)字段 | C | String |
|
| enterprise_pay_info | 加簽字段 | C | String | 方案加簽字段,如對(duì)接刷卡極付方案,本字段必選,如對(duì)接劇臉極付方案,本字段可忽略 |
微信二維碼被掃場(chǎng)景下acc_busi_fields域內(nèi)容
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| sub_appid | 子商戶公眾賬號(hào)ID sub_appid | C | String(32) | 微信公眾平臺(tái)基本配置中的AppID(應(yīng)用ID),傳入后支付成功可返回對(duì)應(yīng)公眾號(hào)下的用戶openid,只對(duì)微信支付有效 |
| detail | 商品詳情 | C | String(1024) | 單品優(yōu)惠功能字段,json字符串格式,內(nèi)容見以下“微信detail字段說明” |
| goods_tag | 訂單優(yōu)惠標(biāo)記 | C | String(32) | 訂單優(yōu)惠標(biāo)記,微信平臺(tái)配置的商品標(biāo)記,用于優(yōu)惠券或者滿減使用,accountType為WECHAT時(shí),可選填此字段 |
| device_info | 設(shè)備號(hào) | C | String(32) | 終端設(shè)備號(hào)(商戶自定義,如門店編號(hào)) |
| limit_pay | 指定支付方式 | C | String(20) | no_credit–指定不能使用信用卡支付 |
| scene_info | 場(chǎng)景信息 | C | String(256) | 該字段用于上報(bào)場(chǎng)景信息,目前支持上報(bào)實(shí)際門店信息。 |
微信detail字段說明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| cost_price |
| C | String(12) | 1.商戶側(cè)一張小票訂單可能被分多次支付,訂單原 價(jià)用于記錄整張小票的交易金額。 2.當(dāng)訂單原價(jià)與支付金額不相等,則不享受優(yōu)惠。 3.該字段主要用于防止同一張小票分多次支付,以 享受多次優(yōu)惠的情況,正常支付訂單不必上傳此參 數(shù)。 如:608800 |
| receipt_id |
| C | String(12) | 商家小票 ID |
| goods_detail |
| M | String | 單品信息,使用Json數(shù)組格式提交,內(nèi)容見以下“微信goods_detail字段說明” |
微信goods_detail字段說明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| goods_id |
| M | String(32) | 由半角的大小寫字母、數(shù)字、中劃線、下劃線中的一種或幾種組成。如“商品編碼” |
| wxpay_goods_id |
| C | String(32) | 微信支付定義的統(tǒng)一商品編號(hào) |
| goods_name |
| C | String(256) | 商品的實(shí)際名稱 |
| quantity |
| M | int | 用戶購(gòu)買的數(shù)量 |
| price |
| M | int | 單位為:分。如果商戶有優(yōu)惠,需傳輸商戶優(yōu)惠后的單價(jià) |
銀聯(lián)二維碼被掃場(chǎng)景下acc_busi_fields域內(nèi)容
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| acq_addn_data_order_info | 銀聯(lián)訂單信息 | C | String(600) | 銀聯(lián)二維碼單品營(yíng)銷時(shí)上送 |
| acq_addn_data_goods_info | 銀聯(lián)商品信息 | C | String(6000) | 銀聯(lián)單品營(yíng)銷商品信息 |
| discount_code | 優(yōu)惠碼 | C | String(64) | 銀聯(lián)二維碼優(yōu)惠碼 |
示例
“acq_addn_data_order_info”: “{"title": "日用品","dctAmount": "2","addnInfo": "屈臣氏(人民廣場(chǎng))店"}”,
“acq_addn_data_goods_info”: “[{"id": "202230001","name": "test測(cè)試單品","price": "1","quantity": "1"}]”
響應(yīng)報(bào)文
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| need_query | 是否需要發(fā)起查詢 | M | String(32) | 0=不需要 1=需要 當(dāng)返回1時(shí),代表訂單處理中,商戶需主動(dòng)發(fā)起查詢 |
| merchant_no | 商戶號(hào) | M | String(32) | 拉卡拉分配的商戶號(hào)(請(qǐng)求接口中商戶號(hào)) |
| out_trade_no | 商戶交易流水號(hào) | M | String(32) | 請(qǐng)求報(bào)文中的商戶交易流水號(hào) |
| trade_no | 拉卡拉交易流水號(hào) | M | String(32) | 拉卡拉交易流水號(hào) |
| log_no | 拉卡拉對(duì)賬單流水號(hào) | M | String(14) | 拉卡拉對(duì)賬單流水號(hào) |
| acc_trade_no | 賬戶端交易訂單號(hào) | C | String(32) | 賬戶端交易流水號(hào) |
| account_type | 錢包類型 | M | String(16) | 微信:WECHAT 支付寶:ALIPAY 銀聯(lián):UQRCODEPAY 翼支付: BESTPAY 數(shù)字貨幣:DCPAY |
| total_amount | 訂單金額 | M | String(12) | 單位分,整數(shù)數(shù)字型字符 訂單金額=付款人實(shí)際發(fā)生金額+商戶優(yōu)惠金額+賬戶端優(yōu)惠金額 |
| payer_amount | 付款人實(shí)際發(fā)生金額 | M | String(12) |
|
| acc_settle_amount | 賬戶端應(yīng)結(jié)訂單金額 | M | String(12) | 應(yīng)結(jié)訂單金額,單位分 ,賬戶端應(yīng)結(jié)訂單金額=付款人實(shí)際發(fā)生金額+賬戶端優(yōu)惠金額 |
| acc_mdiscount_amount | 商戶優(yōu)惠金額(賬戶端) | C | String(12) | 賬戶端返回商戶優(yōu)惠金額,單位分 |
| acc_discount_amount | 賬戶端優(yōu)惠金額 | C | String(12) | 賬戶端返回賬戶端優(yōu)惠金額,單位分 |
| acc_other_discount_amount | 賬戶端其它優(yōu)惠金額 | C | String(12) | 賬戶端返回賬戶端其它優(yōu)惠金額,單位分 |
| trade_time | 交易完成時(shí)間 | M | String(14) | 以賬戶端返回時(shí)間為準(zhǔn) |
| bank_type | 付款銀行 | C | String(128) | 付款銀行 |
| card_type | 銀行卡類型 | C | String(16) | 00:借記 01:貸記 02:微信零錢 03:支付寶花唄 04:支付寶其他 05:數(shù)字貨幣 06:拉卡拉支付賬戶 99:未知 |
| remark | 備注 | C | String(128) |
|
| acc_resp_fields | 賬戶端返回信息域 | C | Object | 賬戶端返回信息域 |
支付寶二維碼被掃場(chǎng)景下返回acc_resp_fields域內(nèi)容
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| user_id | 買家在支付寶的用戶id | M | String(64) | buyer_user_id |
| store_id | 商戶門店編號(hào) | C | String(32) | 支付寶收單上送 |
| alipay_store_id(不再使用) | 支付寶店鋪編號(hào) | C | String(32) | 支付寶已不再使用該字段 |
| fund_bill_list | 交易支付使用的資金渠道(未上線) | C | String(512) |
|
| voucher_detail_list | 所有優(yōu)惠券信息(未上線) | C | String(4096) |
|
sub_mch_id
| 子商戶號(hào) | C | String(20) | 賬戶端子商戶號(hào) |
示例
“fund_bill_list”: “[{"amount":"1.00","fund_channel":"MDISCOUNT"},{"amount":"5.00","fund_channel":"ALIPAYACCOUNT"}]”,
“voucher_detail_list”: “[{"amount":"6.00","id":"202203030007300281380B7C5COQ","memo":"拉卡拉 測(cè)試用,浦東機(jī)場(chǎng)店,定向投放,不在店鋪頁展示","merchant_contribute":"6.00","name":"【必點(diǎn)】秘制豆?jié){","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"}]”,
微信二維碼被掃場(chǎng)景下返回acc_resp_fields域內(nèi)容
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| open_id | 用戶標(biāo)識(shí) | M | String(64) | 用戶在商戶appid下的唯一標(biāo)識(shí) |
| user_id | 用戶子標(biāo)識(shí) | C | String(64) | sub_open_id |
| acc_activity_id | 活動(dòng) ID | C | String(32) | 在賬戶端商戶后臺(tái)配置的批次 ID |
| promotion_detail | 優(yōu)惠功能信息 | C | String(4096) |
|
| sub_mch_id | 子商戶號(hào) | C | String(20) | 賬戶端子商戶號(hào) |
銀聯(lián)二維碼被掃場(chǎng)景下返回acc_resp_fields域內(nèi)容
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| user_id | 用戶id | M | String(64) | 云閃付APP支付時(shí)返回 |
| up_iss_addn_data | 銀聯(lián)單品營(yíng)銷 附加數(shù)據(jù) | C | String(8000) | 參與單品營(yíng)銷優(yōu)惠時(shí)返回 |
| up_coupon_info | 銀聯(lián)優(yōu)惠信息/出資方信息 | C | String(500) | 參與單品營(yíng)銷優(yōu)惠時(shí)返回 |
示例
“up_iss_addn_data”: “{"dctDetail":[{"id":"202230001","dctQuantity":"1","dctPrice":"1","dctId":"2112022022345425"}]}”,
“up_coupon_info”: “[{"id":"2112022022345425","desc":"lkl單品測(cè)試","type":"CP01","spnsrId":"8223310581202EY","offstAmt":"1"}]”,
數(shù)幣被掃場(chǎng)景下返回acc_resp_fields域內(nèi)容
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| trade_info | 出資方信息 | C | String(512) | 數(shù)字貨幣中行返回示例說明:[{“fundchannel”:”BOC”,”amount”:”18”}] |
| acc_amount | 外幣金額 | C | String(12) |
|
| currency_type | 貨幣類型 | C | String(10) | CNY–人民幣USD–美元EUR–歐元HKD–港幣GBP–英鎊JPY–日元KRW–韓元CAD–加元AUD–澳元 |
示例
請(qǐng)求報(bào)文:
{
"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"
}
}
}復(fù)制響應(yīng)報(bào)文:
{
"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": ""
}
}