調用地址
使用HTTP協(xié)議,POST方式提交。
測試環(huán)境:https://test.wsmsd.cn/sit/api/v3/dcp/trans/preorder
生產環(huán)境:https://s2.lakala.com/api/v3/dcp/trans/preorder
請求報文
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| merchant_no | 商戶號 | M | String(32) | 拉卡拉分配的商戶號 |
| term_no | 終端號 | M | String(32) | 拉卡拉分配的業(yè)務終端號 |
| out_trade_no | 商戶交易流水號 | M | String(32) | 商戶系統(tǒng)唯一,同一個商戶號下不要重復。 |
| account_type | 錢包類型 | M | String(32) | 微信:WECHAT 支付寶:ALIPAY 微企付:ENTPAY |
| trans_type | 接入方式 | M | String(2) | 41:NATIVE(微信Native,支付寶Native) 51:JSAPI(微信公眾號支付,支付寶服務窗支付) 61:APP支付(微企付APP支付) 71:小程序支付(微信小程序支付、支付寶小程序支付、微企付小程序支付) 81:H5支付(微企付H5支付) |
| total_amount | 金額 | M | String(12) | 單位分,整數(shù)型字符 |
| location_info | 地址位置信息 | M | Object | 地址位置信息,風控要求必送 |
| subject | 訂單標題 | C | String(128) | 標題,用于簡單描述訂單或商品主題 (賬戶端控制該字段長度,間連方式下該字段小于42位) |
| notify_url | 商戶通知地址 | C | String(128) | 商戶通知地址,如上傳,則按此地址通知商戶 |
| remark | 備注 | C | String(128) | 商戶交易備注信息 |
| store_id | 商戶門店編號(商戶自定義) | C | String(32) | 商戶門店編號 |
| store_name | 商戶門店名稱 | C | String(64) | 商戶門店名稱 |
| acc_busi_fields | 賬戶端業(yè)務信息域 | C | Object | 賬戶端業(yè)務信息域 |
location_info字段說明
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| request_ip | 請求方IP地址 | C | String(64) | 請求方的IP地址,格式如36.45.36.95 request_ip、base_station、location必須上送一個,建議優(yōu)先送request_ip |
| base_station | 基站信息 | C | String(128) | 客戶端設備的基站信息(主掃時基站信息使用該字段) |
| location | 緯度經度 | C | String(32) | 商戶終端的地理位置,存在必填 格式:緯度,經度,+表示北緯、東經,-表示南緯、 西經,精度最長支持小數(shù)點后9位。舉例:+37.123456789,-121.123456789 |
支付寶支付情況下accBusiFields字段說明
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| user_id | 買家在支付寶的用戶id | M | String(64) | 支付寶的buyer_user_id |
| timeout_express | 預下單有效時間 | C | String(2) | 預下單的訂單的有效時間,以分鐘為單位。如果在有效時間內沒有完成付款,則在賬戶端該訂單失效。如果不上送,以賬戶端訂單失效時間為準。 建議不超過15分鐘。不傳值則默認5分鐘。 |
| extend_params | 業(yè)務擴展參數(shù) | C | String(1024) | 支付寶花唄業(yè)務擴展參數(shù) ,見說明 |
| goods_detail | 商品詳情 | C | String(6000) | 訂單包含的商品列表信息,Json格式。 |
| alipay_store_id | 商戶門店編號 | C | String(32) | 支付寶收單上送,送到支付寶store_id參數(shù)中 |
| query_options | 支付寶查詢選項 | C | List<> | 支付寶收單上送 |
支付寶extendParams字段說明(該字段類型為String,非object,值為json字符串,需要加轉義)
| 字段名 | 說明 | 必選 |
| 備注 |
|---|
| sysServiceProviderId | 服務商的PID | C | String(64) | 系統(tǒng)商編號,該參數(shù)作為系統(tǒng)商返傭數(shù)據(jù)提取的依據(jù),請?zhí)顚懴到y(tǒng)商簽約協(xié)議的 PID |
| hbFqNum | 花唄分期期數(shù) | M | String(5) | 支付寶花唄分期必送字段: 花唄分期數(shù) 3:3期 6:6期 12:12期 |
| hbFqSellerPercent | 賣家承擔手續(xù)費比例 | M | String(3) | 支付寶花唄分期必送字段: 賣家承擔收費比例,商家承擔手續(xù)費傳入100,用戶承擔手續(xù)費傳入0,僅支持傳入100、0兩種,其他比例暫不支持 100:代表商家貼息 0:代表用戶承擔手續(xù)費 |
| dynamicTokenOutBizNo | 外部業(yè)務號 | C | String(128) | 填寫alipay.marketing.facetoface.decode.use接口中上送的sence_no字段,類型為String, 枚舉值20170718xxxxxxxx |
| foodOrderType | 點餐場景類型 | C | String | 點餐場景類型:QR_FOOD_ORDER(點餐先付), P_QR_FOOD_ORDER(點餐后付), TAKE_OUT(餐飲外賣), SELF_PICK(門店自提) |
| presetPayTool | 支卡通相關參數(shù) | C | String(256) | 業(yè)務可根據(jù)場景是否需要疊加營銷,選擇以下兩種傳參方式。疊加營銷場景:forceUse-N(支卡通可疊加營銷,使用支卡通金額以異步通知為準)屏蔽營銷場景:forceUse-Y(支卡通不可疊加營銷,使用支卡通金額為傳入的amount,單位元) 示例:”{"MERCHANTCARD_ZKT":[{"amount":"0.01","forceUse":"N"}]}” |
支付寶businessParams字段說明(該字段類型為String,非object,值為json字符串,需要加轉義)
| 字段名 | 說明 | 必選 |
| 備注 |
|---|
| scenePayLinkInfo | 支卡通相關參數(shù) | C | String(256) | 所有代扣訂單都必須傳該參數(shù)支卡通相關參數(shù),傳固定字符串。bizScene和subBizScene由支付寶側BD提供。 {"bizProduct":"ZCARD","bizScene":"支付寶側分配","subBizScene":"支付寶側分配","bizMode":"MERCHANT_ORDER"} |
支付寶goodsDetail字段說明
| 中文名稱 | 說明 | 必選 |
| 備注 |
|---|
| goods_id |
| M | String(32) | 商品的編號 |
| alipay_goods_id |
| C | String(32) | 支付寶定義的統(tǒng)一商品編號 |
| goods_name |
| M | String(256) | 商品名稱 |
| quantity |
| M | String(12) | 商品數(shù)量 |
| price |
| M | String(12) | 單位為元 |
| goods_category |
| C | String(24) | 商品類目 |
| categories_tree |
| C | String(128) | 商品類目樹,從商品類目根節(jié)點到葉子節(jié)點的類目 id 組成,類目 id 值使用|分 割 |
| body |
| C | String(512) | 商品描述信息 |
| show_url |
| C | String(256) | 商品的展示地址 |
微信支付情況下accBusiFields字段說明
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| sub_appid | 子商戶公眾賬號ID | C | String(32) | 微信分配的子商戶公眾賬號ID,sub_appid(即微信小程序支付-71、公眾號支付-51),此參數(shù)必傳,只對微信支付有效 工行數(shù)字錢包情況下,該字段上送工行的openId 拉卡拉錢包情況下,該字段上送LAKALA的userId |
| sub_openid | 用戶標識 | C | String(64) | 用戶在子商戶sub_appid下的唯一標識,sub_openid,(即微信小程序支付-71、眾號支付-51),此參數(shù)必傳,只對微信支付有效 |
| timeout_express | 預下單有效時間 | C | String(2) | 預下單的訂單的有效時間,以分鐘為單位。如果在有效時間內沒有完成付款,則在賬戶端該訂單失效。如果不上送,以賬戶端訂單失效時間為準。 建議不超過15分鐘。不傳值則默認5分鐘。 |
| detail | 商品詳情 | C | String(1024) | 單品優(yōu)惠功能字段,詳見下文說明 |
| goods_tag | 訂單優(yōu)惠標記 | C | String(32) | 訂單優(yōu)惠標記,微信平臺配置的商品標記,用于優(yōu)惠券或者滿減使用,accountType為WECHAT時,可選填此字段 |
| attach | 附加域 | C | String(128) | 附加數(shù)據(jù),在查詢API和支付通知中原樣返回,該字段主要用于商戶攜帶訂單的自定義數(shù)據(jù)。商戶定制字段,直接送到賬戶端。 |
| scene_info | 場景信息 | C | String(256) | 該字段常用于線下活動時的場景信息上報,支持上報實際門店信息,商戶也可以按需求自己上報相關信息。 |
微信detail字段說明
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| cost_price |
| C | String(12) | 1.商戶側一張小票訂單可能被分多次支付,訂單原 價用于記錄整張小票的交易金額。 2.當訂單原價與支付金額不相等,則不享受優(yōu)惠。 3.該字段主要用于防止同一張小票分多次支付,以 享受多次優(yōu)惠的情況,正常支付訂單不必上傳此參 數(shù)。 如:608800 |
| receipt_id |
| C | String(12) | 商家小票 ID |
| goods_detail |
| M | String(1024) | 單品信息,使用 Json 數(shù)組格式提交 |
微信goods_detail字段說明
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| goods_id |
| M | String(32) | 由半角的大小寫字母、數(shù)字、中劃線、下劃線中的一種或幾種組成。如“商品編碼” |
| wxpay_goods_id |
| C | String(32) | 微信支付定義的統(tǒng)一商品編號 |
| goods_name |
| C | String(256) | 商品的實際名稱 |
| quantity |
| M | String(12) | 用戶購買的數(shù)量 |
| price |
| M | String(12) | 單位為:分。如果商戶有優(yōu)惠,需傳輸商戶優(yōu)惠后的單價 |
銀聯(lián)支付情況下accBusiFields字段說明
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| user_id | 用戶id | M | String(64) |
|
| timeout_express | 預下單有效時間 | C | String(2) | 預下單的訂單的有效時間,以分鐘為單位。如果在有效時間內沒有完成付款,則在賬戶端該訂單失效。如果不上送,以賬戶端訂單失效時間為準。 建議不超過15分鐘。不傳值則默認5分鐘。 |
| acq_addn_data_order_info | 銀聯(lián)訂單信息 | C | String(600) | 銀聯(lián)單品營銷訂單信息 |
| acq_addn_data_goods_info | 銀聯(lián)商品信息 | C | String(6000) | 銀聯(lián)單品營銷商品信息 |
| front_url | 銀聯(lián)前臺通知地址 | C | String(256) | 收款方向銀聯(lián)推送訂單時上送的前臺通知地址(僅允許為外網地址),用戶完成支付點擊,“返回”后,銀聯(lián)通過瀏覽器POST請求到該地址。 當transType為JSAPI,payMode為UQRCODEPAY時,可選填此字段 |
| front_fail_url | 銀聯(lián)失敗交易前臺通知地址 | C | String(256) | 收款方向銀聯(lián)推送訂單時上送的失敗交易前臺通知地址(僅允許為外網地址),用戶支付過程中交易失敗,點擊“返回”后,銀聯(lián)通過瀏覽器GET請求到該地址。 當transType為JSAPI,payMode為UQRCODEPAY時,可選填此字段,需與frontUrl同時出現(xiàn),未上送默認為frontUrl的值 |
微企付情況下accBusiFields字段說明
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| purchaser_type | 指定付款類型 | C |
| 指定付款類型(個人付款卡號:INDIVIDUAL_CARD 個人付款人姓名:INDIVIDUAL_NAME企業(yè)名稱:ENTERPRISE) |
| channel_options |
|
| String | 渠道選項,指定收銀臺支持的付款渠道 |
| payer | 付款方信息 | C | String | 付款方信息 |
| memo |
| C | string(1, 128) | 附言,只支持空格、中文、數(shù)字、英文大小寫、下劃線、全角半角的連字符、逗號和句號 |
| detail | 商品信息 | M | array[object] (1,5) | 商品信息,建議上送不多于5種商品信息 |
| attach | 訂單附加信息 | C | string(1, 255) | 訂單附加信息,附加數(shù)據(jù),在查詢API中原樣返回,可作為自定義參數(shù)使用 |
| risk_control | 風控信息 | C | String |
|
| front_callback_url | 前端回跳地址 | M | String | 前端回跳地址,支付結果通知,包含所有前端類型的通知地址 |
| area_code | 地區(qū)編號 | C |
| 地區(qū)編號,詳細地區(qū)編號信息可參照:微企付官方文檔 |
| 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 | 指定銀行簡稱列表 | C | array[String] | 銀行簡稱,指定收銀臺不支持的銀行列表,例如平安銀行為:PAB |
| exclude_ban_snames | 指定排除銀行簡稱列表 | C | array[String] | 銀行簡稱,指定收銀臺不支持的銀行列表,例如平安銀行為:PAB |
| include_pay_channels | 指定支付渠道 | C | array[String] | 指定支付渠道(個人銀行卡:INDIVIDUAL企業(yè)網銀:ENTERPRISE微信零錢:WX_BALANCE) |
| exclude_pay_channels | 指定排除支付渠道 | C | array[String] | 指定排除支付渠道(個人銀行卡:INDIVIDUAL企業(yè)網銀:ENTERPRISE微信零錢:WX_BALANCE) |
微企付payer字段說明(該字段類型為String,非object,值為json字符串,需要加轉義)
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| payer_name |
| C | string(1, 256) | 當purchaser_type為ENTERPRISE時,該字段必須設置為付款企業(yè)名稱,當purchaser_type為INDIVIDUAL_NAME時,該字段必須設置為指定個人付款人姓名 |
微企付detail字段說明(該字段類型為String,非object,值為json字符串,需要加轉義)
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| good_name |
| M | string(1, 255) | 商品名稱 |
| good_number |
| M | integer(int32) | 商品數(shù)量 |
| good_amount |
| M | integer(int32) | 單位為:分。商品金額 |
微企付riskControl字段說明(該字段類型為String,非object,值為json字符串,需要加轉義)
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| device_id |
| C | string(1, 32) | 設備號,終端設備號(門店號或收銀設備ID) |
| payer_client_ip |
| M | string(1, 45) | 用戶終端IP,用戶端實際ip,示例值:14.17.22.32 |
| payer_ua |
| M | string(1, 1000) | 用戶UA,瀏覽器User-Agent |
| pick_type |
| C | String | 提貨方式(自提:SELF_PICK 物流:LOGISTICS 改歸屬:CHANGE_OWNER) |
| pick_description |
| C | string(1, 256) | 提貨描述 |
微企付frontCallbackUrl字段說明(該字段類型為String,非object,值為json字符串,需要加轉義)
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| android_url |
| M | string(1,256) | APP-Android 支付完成前端回跳url(app下單填寫) |
| ios_url |
| M | string(1,1024) | App-IOS 支付完成前端回跳url(app下單填寫) |
| mp_path |
| M | string(1, 1024) | Mp 支付完成前端回跳小程序路徑,路徑和參數(shù)內容由開發(fā)者設置,受環(huán)境限制目前騰訊微企付在 iOS 里使用 wx.navigateBackMiniProgram ,在 Android 里使用wx.navigateToMiniProgram 回跳到你的小程序,建議路徑為訂單詳情或結果頁,onShow 時查詢最新的訂單狀態(tài)按需展示(小程序下單填寫) |
| mp_appid |
| M | string(1, 64) | Mp 支付完成前端回跳小程序appid(小程序下單填寫) |
| mp_username |
| C | string(1, 64) | Mp 支付完成前端回跳小程序原始id(小程序下單填寫) |
| mp_urlscheme |
| C | string(1, 64) | Mp 支付完成前端回跳小程序urlscheme(小程序下單填寫) |
| h5_url |
| C | string(1,1024) | 微信h5頁面回跳地址,支付成功后回跳到指定的頁面(H5下單填寫) |
響應報文
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| out_trade_no | 商戶請求流水號 | M | String(64) | 請求報文中的商戶請求流水號 |
| settle_channel_type | 結算渠道類型 | M | String(16) | 微信:WECHAT 支付寶:ALIPAY 拉卡拉:LAKALA |
| trade_no | 平臺交易流水號 | M | String(32) | 平臺交易流水號 |
| acc_resp_fields | 賬戶端返回信息域 | C | Object | 賬戶端返回信息域 |
微信(71-小程序)微信(51-JSAPI)場景下accRespFields域
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| prepay_id | 預下單Id | M | String(32) | 預支付交易會話ID |
| pay_sign | 支付簽名信息 | M | String(256) | 簽名 |
| app_id | 小程序id | M | String(32) | 商戶注冊具有支付權限的小程序成功后即可獲得小程序id |
| time_stamp | 時間戳 | M | String(32) | 當前的時間 |
| nonce_str | 隨機字符串 | M | String(32) | 隨機字符串 |
| package | 訂單詳情擴展字符串 | M | String(128) |
|
| sign_type | 簽名方式 | M | String(32) | 簽名類型,支持RSA |
支付寶(41-NATIVE)場景下返回accRespFields域
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| code | 二維碼信息 | M | String(256) | 商戶可用此參數(shù)自定義去生成二維碼后展示出來進行掃碼支付 |
| code_image | 二維碼圖片內容 | M | String(256) | 商戶收款二維碼圖片。Base64編碼,暫無 |
支付寶(51-JSAPI)場景下返回accRespFields域
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| prepay_id | 預下單Id | M | String(32) | 預支付交易會話ID |
銀聯(lián)二維碼(51-JSAPI)場景下返回acc_resp_fields域
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| redirect_url | 銀聯(lián)JS支付重定向地址 | M | String(256) | 銀聯(lián)JS支付返回重定向地址 |
微企付(71-小程序 61-app 81-H5)場景下返回accRespFields域
| 字段名 | 中文名稱 | 是否必填 | 類型 | 說明 |
|---|
| code | 跳轉鏈接 | M | String(64) |
|
| payer | 微企付付款方信息 | C | string | (app支付返回) |
| prepayId | 預下單Id | M | String(32) | 預支付交易會話ID |
| miniProgram | 小程序信息 | C | String | (小程序支付返回) |
微企付payer字段說明(該字段類型為String,非object,值為json字符串,需要加轉義)
| 字段名 | 中文名稱 | 必選 |
| 備注 |
|---|
| payer_name |
| C | string(1, 256) | 當purchaser_type為ENTERPRISE時,該字段必須設置為付款企業(yè)名稱,當purchaser_type為INDIVIDUAL_NAME時,該字段必須設置為指定個人付款人姓名 |
| out_payer_id |
| C | string(1, 128) | 平臺付款方Id,即合作平臺的用戶id,付款方在平臺的唯一id,只支持英文大小寫以及數(shù)字 |
| payer_acct_last4 |
| C | string(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
}
}
}