調(diào)用地址
使用HTTP協(xié)議,POST方式提交。
URL(測(cè)試環(huán)境):https://test.wsmsd.cn/sit/api/v3/labs/trans/merge/preorder
URL(生產(chǎn)環(huán)境):https://s2.lakala.com/api/v3/labs/trans/merge/preorder
請(qǐng)求報(bào)文
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| 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)唯一,對(duì)應(yīng)數(shù)據(jù)庫(kù)表中外部請(qǐng)求流水號(hào)。 |
| out_split_info | 拆單信息 | M | List<> | 拆單信息,詳細(xì)字段見(jiàn)out_split_info字段說(shuō)明 |
| account_type | 錢(qián)包類型 | M | String(32) | 微信:WECHAT 支付寶:ALIPAY 銀聯(lián):UQRCODEPAY 京東錢(qián)包:JD |
| trans_type | 接入方式 | M | String(2) | 41:NATIVE(掃碼支付)(僅ALIPAY支持) 51:JSAPI(微信公眾號(hào)支付,支付寶服務(wù)窗支付,銀聯(lián)JS支付,翼支付JS支付、拉卡拉錢(qián)包支付) 71:微信小程序支付 |
| total_amount | 金額 | M | String(12) | 單位分,整數(shù)型字符 |
| location_info | 地址位置信息 | M | Object | 地址位置信息,風(fēng)控要求必送 |
| busi_mode | 業(yè)務(wù)模式 | C | String(8) | 業(yè)務(wù)模式: ACQ-收單 PAY-付款 不填,默認(rèn)為“ACQ-收單” |
| subject | 訂單標(biāo)題 | C | String(42) | 標(biāo)題,用于簡(jiǎn)單描述訂單或商品主題,會(huì)傳遞給賬戶端 (賬戶端控制,實(shí)際最多42個(gè)字符) |
| notify_url | 商戶通知地址 | C | String(128) | 商戶通知地址,如果上傳,且 pay_order_no 不存在情況下,則按此地址通知商戶 |
| remark | 備注 | C | String(128) |
|
| identity_info | 身份信息 | C | String(1024) | 實(shí)名支付信息,json字符串,如{“identityNo”:”32000000000000000X”,”name”:”張三”} ,然后國(guó)密sm2加密 |
| acc_busi_fields | 賬戶端業(yè)務(wù)信息域 | C | Object | 參見(jiàn)以下acc_busi_fields字段詳細(xì)說(shuō)明,不同的account_type和trans_type,需要傳入的參數(shù)不一樣 |
| complete_notify_url | 發(fā)貨確認(rèn)通知地址 | C | String(128) | 發(fā)貨類小程序確認(rèn)收獲后通知商戶的地址 |
out_split_info字段說(shuō)明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| out_sub_trade_no | 外部子交易流水號(hào) | M | String(32) | 商戶子交易流水號(hào),商戶號(hào)下唯一 |
| merchant_no | 商戶號(hào) | M | String(32) | 拉卡拉分配的商戶號(hào) |
| term_no | 終端號(hào) | M | String(32) | 拉卡拉分配的業(yè)務(wù)終端號(hào) |
| amount | 金額 | M | String(12) | 單位分,整數(shù)型字符 |
settle_type
| 結(jié)算類型(合單) | C | String(4) | "0"或者空,常規(guī)結(jié)算方式 |
| sub_remark | 子單備注 | C | String(64) | 子單備注信息 |
說(shuō)明:
1)拆單信息域中商戶號(hào)不可重復(fù);
2)交易層訂單金額必須是拆單信息域中各個(gè)子單的金額匯總之和;
3)對(duì)拆單信息域中每個(gè)結(jié)算商戶號(hào)和終端號(hào)的權(quán)限交易都必須通過(guò),其中一個(gè)校驗(yàn)失敗,則交易中止,失敗返回;
4)拆單域中子單條數(shù)最少兩條、最多20條,否則拒絕。
location_info字段說(shuō)明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| 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) | 商戶終端的地理位置,存在必填 格式:緯度,經(jīng)度,+表示北緯、東經(jīng),-表示南緯、 西經(jīng),精度最長(zhǎng)支持小數(shù)點(diǎn)后9位。舉例:+37.123456789,-121.123456789 |
支付寶主掃場(chǎng)景下acc_busi_fields域內(nèi)容
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| user_id | 買(mǎi)家在支付寶的用戶id | M | String(64) | 支付寶的buyer_user_id |
| timeout_express | 預(yù)下單有效時(shí)間 | C | String(2) | 預(yù)下單的訂單的有效時(shí)間,以分鐘為單位。如果在有效時(shí)間內(nèi)沒(méi)有完成付款,則在賬戶端該訂單失效。如果不上送,以賬戶端訂單失效時(shí)間為準(zhǔn)。 建議不超過(guò)15分鐘。不傳值則默認(rèn)5分鐘。 |
| extend_params | 業(yè)務(wù)擴(kuò)展參數(shù) | C | Object | 支付寶業(yè)務(wù)擴(kuò)展參數(shù) ,見(jiàn)說(shuō)明 |
| goods_detail | 商品詳情 | C | String(6000) | 訂單包含的商品列表信息,Json格式。 |
| quit_url | 用戶付款中途退出返回商戶網(wǎng)站的地址 | C | String(256) | transType=81時(shí)(即支付寶H5支付),此參數(shù)必傳 |
| store_id | 商戶門(mén)店編號(hào) | C | String(32) |
|
| alipay_store_id | 支付寶的店鋪編號(hào) | C | String(32) |
|
支付寶extend_params字段說(shuō)明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| sys_service_provider_id | 服務(wù)商的PID | C | String(64) | 系統(tǒng)商編號(hào),該參數(shù)作為系統(tǒng)商返傭數(shù)據(jù)提取的依據(jù),請(qǐng)?zhí)顚?xiě)系統(tǒng)商簽約協(xié)議的 PID |
| hb_fq_num | 花唄分期期數(shù) | M | String(5) | 支付寶花唄分期必送字段: 花唄分期數(shù) 3:3期 6:6期 12:12期 |
| hb_fq_seller_percent | 賣(mài)家承擔(dān)手續(xù)費(fèi)比例 | M | String(3) | 支付寶花唄分期必送字段: 賣(mài)家承擔(dān)收費(fèi)比例,商家承擔(dān)手續(xù)費(fèi)傳入100,用戶承擔(dān)手續(xù)費(fèi)傳入0,僅支持傳入100、0兩種,其他比例暫不支持 100:代表商家貼息 0:代表用戶承擔(dān)手續(xù)費(fèi) |
支付寶goods_detail字段說(shuō)明(暫不支持)
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| goods_id |
| M | String(32) | 商品的編號(hào) |
| alipay_goods_id |
| C | String(32) | 支付寶定義的統(tǒng)一商品編號(hào) |
| goods_name |
| M | String(256) | 商品名稱 |
| quantity |
| M | String(12) | 商品數(shù)量 |
| price |
| M | String(12) | 單位為分 |
| goods_category |
| C | String(24) | 商品類目 |
| categories_tree |
| C | String(128) | 商品類目樹(shù),從商品類目根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的類目 id 組成,類目 id 值使用|分 割 |
| body |
| C | String(512) | 商品描述信息 |
| show_url |
| C | String(256) | 商品的展示地址 |
微信主掃場(chǎng)景下acc_busi_fields域內(nèi)容
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| timeout_express | 預(yù)下單有效時(shí)間 | C | String(2) | 預(yù)下單的訂單的有效時(shí)間,以分鐘為單位。如果在有效時(shí)間內(nèi)沒(méi)有完成付款,則在賬戶端該訂單失效。如果不上送,以賬戶端訂單失效時(shí)間為準(zhǔn)。 建議不超過(guò)15分鐘。不傳值則默認(rèn)5分鐘。 |
| sub_appid | 子商戶公眾賬號(hào)ID | C | String(32) | 微信分配的子商戶公眾賬號(hào)ID,sub_appid(即微信小程序支付-71、公眾號(hào)支付-51、微信app支付-61),此參數(shù)必傳,只對(duì)微信支付有效 工行數(shù)字錢(qián)包情況下,該字段上送工行的openId 拉卡拉錢(qián)包情況下,該字段上送LAKALA的userId |
| user_id | 用戶標(biāo)識(shí) | C | String(64) | 用戶在子商戶sub_appid下的唯一標(biāo)識(shí),sub_openid,(即微信小程序支付-71、眾號(hào)支付-51),此參數(shù)必傳,只對(duì)微信支付有效 |
| detail | 商品詳情 | C | String(1024) | 單品優(yōu)惠功能字段,詳見(jiàn)下文說(shuō)明 |
| goods_tag | 訂單優(yōu)惠標(biāo)記 | C | String(32) | 訂單優(yōu)惠標(biāo)記,微信平臺(tái)配置的商品標(biāo)記,用于優(yōu)惠券或者滿減使用,accountType為WECHAT時(shí),可選填此字段 |
| attach | 附加域 | C | String(128) | 附加數(shù)據(jù),在查詢API和支付通知中原樣返回,該字段主要用于商戶攜帶訂單的自定義數(shù)據(jù)。商戶定制字段,直接送到賬戶端。 |
微信detail字段說(shuō)明(暫不支持)
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| 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(512) | json字符串 |
微信goods_detail字段說(shuō)明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| goods_id |
| M | String(32) | 由半角的大小寫(xiě)字母、數(shù)字、中劃線、下劃線中的一種或幾種組成。如“商品編碼” |
| wxpay_goods_id |
| C | String(32) | 微信支付定義的統(tǒng)一商品編號(hào) |
| goods_name |
| C | String(256) | 商品的實(shí)際名稱 |
| quantity |
| M | String(12) | 用戶購(gòu)買(mǎi)的數(shù)量 |
| price |
| M | String(12) | 單位為:分。如果商戶有優(yōu)惠,需傳輸商戶優(yōu)惠后的單價(jià) |
響應(yīng)報(bào)文
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| merchant_no | 商戶號(hào)(待上線) | M | String(32) | 拉卡拉分配的商戶號(hào)(請(qǐng)求接口中商戶號(hào)) |
| out_trade_no | 商戶請(qǐng)求流水號(hào) | M | String(32) | 請(qǐng)求報(bào)文中的商戶請(qǐng)求流水號(hào) |
| trade_no | 拉卡拉交易流水號(hào) | M | String(32) | 拉卡拉交易流水號(hào) |
| log_no | 拉卡拉對(duì)賬單流水號(hào) | M | String(14) | 拉卡拉對(duì)賬單流水號(hào) |
| split_info | 拆單信息 | M | List<> | 拆單信息見(jiàn)split_info域說(shuō)明 |
| acc_resp_fields | 賬戶端返回信息域 | C | Object | 賬戶端返回信息域 |
split_info域信息
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| sub_trade_no | 子單交易流水號(hào) | M | String(32) | 子單交易流水號(hào) |
| sub_log_no | 子單對(duì)賬單流水號(hào) | M | String(14) | 子單對(duì)賬單流水號(hào) |
| out_sub_trade_no | 外部子交易流水號(hào) | M | String(32) | 商戶子交易流水號(hào),商戶號(hào)下唯一 |
| merchant_no | 商戶號(hào) | M | String(32) | 拉卡拉分配的商戶號(hào) |
| merchant_name | 商戶名稱 | M | String(64) | 商戶名稱 |
| term_no | 終端號(hào) | M | String(32) | 拉卡拉分配的業(yè)務(wù)終端號(hào) |
| amount | 金額 | M | String(12) | 單位分,整數(shù)型字符 |
支付寶(41-NATIVE)場(chǎng)景下返回acc_resp_fields域
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| code | 二維碼信息 | M | String(256) | 商戶可用此參數(shù)自定義去生成二維碼后展示出來(lái)進(jìn)行掃碼支付 |
| code_image | 二維碼圖片內(nèi)容 | M | String(256) | 商戶收款二維碼圖片。Base64編碼,暫無(wú) |
| sub_mch_id | 子商戶號(hào)
| C | String(20) | 賬戶端子商戶號(hào) |
支付寶(51-JSAPI)場(chǎng)景下返回acc_resp_fields域
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| prepay_id | 預(yù)下單Id | M | String(32) | 預(yù)支付交易會(huì)話ID |
| sub_mch_id | 子商戶號(hào)
| C | String(20) | 賬戶端子商戶號(hào) |
微信(71-小程序)微信(51-JSAPI)場(chǎng)景下返回acc_resp_fields域
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| prepay_id | 預(yù)下單Id | M | String(32) | 預(yù)支付交易會(huì)話ID |
| pay_sign | 支付簽名信息 | M | String(256) | 簽名 |
| app_id | 小程序id | M | String(32) | 商戶注冊(cè)具有支付權(quán)限的小程序成功后即可獲得小程序id |
| time_stamp | 時(shí)間戳 | M | String(32) | 當(dāng)前的時(shí)間 |
| nonce_str | 隨機(jī)字符串 | M | String(32) | 隨機(jī)字符串 |
| package | 訂單詳情擴(kuò)展字符串 | M | String(128) |
|
| sign_type | 簽名方式 | M | String(32) | 簽名類型,支持RSA |
| sub_mch_id | 子商戶號(hào)
| C | String(20) | 賬戶端子商戶號(hào) |
微信(61-APP)場(chǎng)景下返回acc_resp_fields域
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說(shuō)明 |
|---|
| prepay_id | 預(yù)下單Id | M | String(32) | 預(yù)支付交易會(huì)話ID |
| pay_sign | 支付簽名信息 | M | String(256) | 簽名 |
| app_id | 移動(dòng)應(yīng)用appid | M | String(32) | 商戶注冊(cè)具有支付權(quán)限的安卓/IOSAPP成功后即可獲得移動(dòng)應(yīng)用appid |
| time_stamp | 時(shí)間戳 | M | String(32) | 當(dāng)前的時(shí)間 |
| nonce_str | 隨機(jī)字符串 | M | String(32) | 隨機(jī)字符串 |
| package | 訂單詳情擴(kuò)展字符串 | M | String(128) |
|
| sign_type | 簽名方式 | M | String(32) | 簽名類型,支持RSA |
| sub_mch_id | 子商戶號(hào)
| C | String(20) | 賬戶端子商戶號(hào) |
| partner_id | 從業(yè)機(jī)構(gòu)號(hào) | M | String(32) |
|
示例
請(qǐng)求報(bào)文:
{
"req_data": {
"merchant_no": "822290070111135",
"term_no": "29034705",
"out_trade_no": "KFPT20211018163339745459405",
"account_type":"UQRCODEPAY",
"trans_type": "51",
"total_amount": "100",
"location_info": {
"request_ip":"12.34.56.78",
"base_station":"00 6361 58130",
"location":"+37.123456789,-121.123456789"
},
"busi_mode":"ACQ",
"subject": "自動(dòng)化測(cè)試",
"pay_order_no":"",
"notify_url": "",
"settle_type":"",
"remark": "",
"identity_info":"",
"promo_info":"",
"acc_busi_fields":{
"user_id":"Wek52a9hYY3zXbQ7JSrvZwiPa9lYJ7HyC+MqdjIbrSL21YT1H/v0WrgncHoRmsmZ",
"timeout_express":"",
"acq_addn_data_order_info":"",
"acq_addn_data_goods_info":"",
"front_url":"",
"front_fail_url":""
}
},
"req_time":"20211018163339",
"version":"3.0",
"out_org_code":"OP00000003"
}
復(fù)制
響應(yīng)報(bào)文:
{
"msg": "成功",
"resp_time": "20211018165606",
"code": "BBS00000",
"resp_data": {
"out_trade_no": "KFPT20211018165606301458020",
"trade_no": "2021101866210004200101",
"log_no": "66210004200101",
"settle_merchant_no": "",
"settle_term_no": "",
"acc_resp_fields": {
"code": "https://qr.test.95516.com/UP02/qrcGtwWeb-web/front/confirmOrder?sessionId=c0b60813735d42838e761e47a84e000a",
"code_image": "",
"prepay_id": "",
"pay_sign": "",
"time_stamp": "",
"nonce_str": "",
"package": "",
"sign_type": "",
"redirect_url": "",
"best_pay_info": ""
}
}
}