拉卡拉掃碼預授權下單API請求參數
說明
1:用戶使用微信、支付寶錢包主動掃描商家聚合碼,將訂單信息通過本接口上送發起資金凍結。
2:發起預授權后若30天內未發起預授權完成,系統會自動發起預授權撤銷將凍結資金回退用戶
請求URL
測試環境:https://test.wsmsd.cn/sit/api/v2/labs/txn/preAuth/preAuthPreOrder
生產環境:https://s2.lakala.com/api/v2/labs/txn/preAuth/preAuthPreOrder
請求參數
| 屬性 | 說明 | 必選 | 類型 | 備注 |
|---|---|---|---|---|
| merId | 商戶號 | M | String(32) | 拉卡拉分配的商戶號 |
| termId | 終端號 | M | String(32) | 拉卡拉分配的商戶號 |
| accountType | 錢包類型 | M | String(32) | 微信:WECHAT 支付寶:ALIPAY 銀聯:UQRCODEPAY 翼支付: BESTPAY 蘇寧易付寶: SUNING 數字貨幣:DCPAY |
| amount | 金額 | M | String(12) | 單位分,整數型字符 |
| appId | 子商戶公眾賬號ID | C | String(32) | 微信分配的子商戶公眾賬號ID,sub_appid(即微信小程序支付-71、公眾號支付-51),此參數必傳,只對微信支付有效 工行數字錢包情況下,該字段上送工行的openId |
| openId | 用戶標識 | C | String(128) | 用戶在子商戶appid下的唯一標識,sub_openid,(即微信小程序支付-71、眾號支付-51),此參數必傳,只對微信支付有效 注:建議使用靜默授權 微信公眾號為用戶的 openid 支付寶服務窗為用戶的 buyer_id 銀聯JS支付為用戶的 userId,獲取用戶授權返回00時必傳 翼支付不需要上送 工行數字錢包情況下,該字段上送工行的subOpenId |
| transType | 接入方式 | C | String(2) | 61:微信APP支付(銀聯不支持,微信支持,需直連微信) 71:微信小程序支付 41:NATIVE(掃碼支付)(WECHAT暫不支持) 51:JSAPI(微信公眾號支付,支付寶服務窗支付,銀聯JS支付,翼支付JS支付、數字貨幣錢包支付) |
| merReqSno | 商戶請求流水號 | M | String(64) | 商戶系統唯一,對應數據庫表中外部請求流水號。 |
| exterMerOrderNo | 外部商戶訂單號 | C | String(32) | 商品訂單號,如動態碼關聯的某個商品訂單號,每個外部訂單來源下的外部商戶訂單號不可重復。 |
| exterOrderSource | 外部訂單來源 | C | String(16) | |
| settleType | 結算類型 | C | String(4) | “0”或者空,常規結算方式;“1”-暫緩結算方式 |
| goodsDetail | 商品詳情 | C | String(6000) | 訂單包含的商品列表信息,Json格式。 |
| subject | 訂單標題 | M | String(128) | 標題,用于簡單描述訂單或商品主題 (賬戶端控制,實際最多42個字符) |
| goodsDesp | 商品優惠描述 | C | String(128) | 優惠場景使用,送往賬戶端 |
| remark | 備注 | C | String(128) | |
| goodsTag | 訂單優惠標記 | C | String(32) | 訂單優惠標記,微信平臺配置的商品標記,用于優惠券或者滿減使用,accountType為WECHAT時,可選填此字段 |
| attach | 附加域 | C | String(128) | 附加數據,在查詢API和支付通知中原樣返回,該字段主要用于商戶攜帶訂單的自定義數據。商戶定制字段,直接送到賬戶端。 |
| extendParams | 業務擴展參數 | C | object | 支付寶業務擴展參數 ,見說明 |
| promoInfo | 優惠信息 | C | String(2048) | 優惠相關信息,JSON格式 |
| upOrderInfo | 銀聯訂單信息 | C | String(600) | 銀聯單品營銷訂單信息 |
| upGoodsInfo | 銀聯商品信息 | C | String(6000) | 銀聯單品營銷商品信息 |
| frontUrl | 銀聯前臺通知地址 | C | String(256) | 收款方向銀聯推送訂單時上送的前臺通知地址(僅允許為外網地址),用戶完成支付點擊,“返回”后,銀聯通過瀏覽器POST請求到該地址。 當transType為JSAPI,payMode為UQRCODEPAY時,可選填此字段 |
| frontFailUrl | 銀聯失敗交易前臺通知地址 | C | String(256) | 收款方向銀聯推送訂單時上送的失敗交易前臺通知地址(僅允許為外網地址),用戶支付過程中交易失敗,點擊“返回”后,銀聯通過瀏覽器GET請求到該地址。 當transType為JSAPI,payMode為UQRCODEPAY時,可選填此字段,需與frontUrl同時出現,未上送默認為frontUrl的值 |
| expiredStrategy | 擔保過期策略 | C | String(8) | CANCEL-撤銷 COMPLETE-完成(默認) |
| preOrderValidTime | 預下單有效時間 | C | String(2) | 預下單的訂單的有效時間,以分鐘為單位。如果在有效時間內沒有完成付款,則在賬戶端該訂單失效。如果不上送,以賬戶端訂單失效時間為準。建議不超過15分鐘。不傳值則默認5分鐘。 |
響應參數
| 屬性 | 說明 | 必選 | 類型 | 備注 |
|---|---|---|---|---|
| tradeTime | 交易時間 | M | String(14) | 平臺交易時間yyyyMMddHHmmss |
| merReqSno | 商戶請求流水號 | M | String(64) | 如果請求中攜帶,則返回 |
| lklOrderNo | 拉卡拉訂單號 | M | String(32) | saas系統返回時,則返回 |
| logNo | 拉卡拉對賬單流水號(計劃中) | M | String(14) | lklOrderNo的后14位 |
transType=51(JSAPI) 時返回
payMode=WECHAT 時返回
屬性 說明 必選 類型 備注 paySign 支付簽名信息 C String(256) 簽名 appId 公眾號id C String(32) 商戶注冊具有支付權限的公眾號成功后即可獲得公眾號id timeStamp 時間戳 C String(32) 當前的時間 nonceStr 隨機字符串 C String(32) 隨機字符串 package 訂單詳情擴展字符串 C String(128) 統一下單接口返回的prepay_id參數值 signType 簽名方式 C String(32) 簽名類型,支持RSA
payMode=ALIPAY 時返回
屬性 說明 必選 類型 備注 prepayId 預下單Id C String(32) 預支付交易會話ID
payMode=UQRCODEPAY 時返回
屬性 說明 必選 類型 備注 redirectUrl 銀聯JS支付重定向地址 C String(256) 銀聯JS支付返回重定向地址
payMode=LKLACC 時返回
屬性 說明 必選 類型 備注 prepayId 預下單Id C String(32) 預支付交易會話ID
transType=41(NATIVE) 時返回
| 屬性 | 說明 | 必選 | 類型 | 備注 |
|---|---|---|---|---|
| code | 二維碼信息 | C | String(256) | 商戶可用此參數自定義去生成二維碼后展示出來進行掃碼支付 |
| codeImage | 二維碼圖片內容 | C | String(256) | 商戶收款二維碼圖片。Base64編碼,暫無 |
transType=71(微信小程序支付) 時返回
| 屬性 | 說明 | 必選 | 類型 | 備注 |
|---|---|---|---|---|
| prepayId | 預下單Id | C | String(32) | 預支付交易會話ID |
| paySign | 支付簽名信息 | C | String(256) | 簽名 |
| appId | 小程序id | C | String(32) | 商戶注冊具有支付權限的小程序成功后即可獲得小程序id |
| timeStamp | 時間戳 | C | String(32) | 當前的時間 |
| nonceStr | 隨機字符串 | C | String(32) | 隨機字符串 |
| package | 訂單詳情擴展字符串 | C | String(128) | 統一下單接口返回的prepay_id參數值 |
| signType | 簽名方式 | C | String(32) | 簽名類型,支持RSA |
transType=61(微信APP支付) 時返回
| 屬性 | 說明 | 必選 | 類型 | 備注 |
|---|---|---|---|---|
| prepayId | 預下單Id | C | String(32) | 預支付交易會話ID |
| paySign | 支付簽名信息 | C | String(256) | 簽名 |
| appId | 應用id | C | String(32) | 開放平臺審核通過的應用APPID,為特約商戶申請的應用APPID |
| timeStamp | 時間戳 | C | String(32) | 當前的時間 |
| nonceStr | 隨機字符串 | C | String(32) | 隨機字符串 |
| package | 訂單詳情擴展字符串 | C | String(128) | 固定值 Sign=WXPay |
| partnerId | 從業機構號 | C | String(32) | 支付分配的從業機構號 |
transType=81(支付寶H5支付) 時返回
| 屬性 | 說明 | 必選 | 類型 | 備注 |
|---|---|---|---|---|
| formData | 為開發者生成前臺頁面請求需要的完整form 表單的 html(不包含自動提交腳本),商戶可決定是否直接提交 form 表單,如需要直接提交的,可將這個表單的 String 加自動提交腳本輸出到 http response 中,如不需要直接提交的,可以自行決定中間處理過程,但提交至支付寶側的 form 表達內容不可修改,否則會引起支付寶側報錯。 | C | String(128) | 為銀聯支付寶H5支付時,為開發者生成前臺頁面請求需要的完整form 表單的 html |
NATIVE示例報文
NATIVE請求報文
{
"reqData": {
"mercId": "822100050210643",
"termNo": "47846848",
"payMode": "ALIPAY",
"amount": "000000000001",
"openId": "",
"spbillCreateIp": "127.1.10",
"transType": "41",
"orderId": "20200728165211",
"appId": "",
"subject": "測試專用"
},
"ver": "1.0.0",
"timestamp": "1541589957000",
"reqId": "baff59de4694438ca9089862253517a5",
"termExtInfo": {
"termLoc": "+155621.316,-125622.12"
}
}復制NATIVE成功響應報文
{
"respData": {
"tradeTime": "20200729150043",
"code": "https://qr.alipay.com/bax01969llc2hqjjifvm50ff",
"orderId": "20200728165211",
"lklOrderId": "20200729110113200266211202870109"
},
"timestamp": 1596006044804,
"rnd": null,
"ver": "1.0.0",
"reqId": "baff59de4694438ca9089862253517a5",
"respId": null,
"retCode": "000000",
"retMsg": "交易成功",
"cmdRetCode": "GLOBAL_SUCCESS"
}復制NATIVE失敗響應報文
{
"retCode": "PT10FF",
"retMsg": "生成訂單失敗",
"sign": "",
"timestamp": 1553823081169,
"ver": "1.0.0"
}復制JSAPI示例報文
JSAPI請求報文
{
"reqData": {
"mercId": "822162070120015",
"termNo": "47827142",
"payMode": "WECHAT",
"amount": "000000000001",
"openId": "olpr-0pHIp1AjaAr29LENlHi0cJ0",
"spbillCreateIp": "127.0.0.1",
"transType": "51",
"orderId": "2020072915yhl1422",
"appId": "wx9ef39b708f16694d",
"subject": "測試專用"
},
"ver": "1.0.0",
"timestamp": "1541589957000",
"reqId": "baff59de4694438ca9089862253517a5",
"termExtInfo": {
"termLoc": "+155621.316/-125622.12"
}
}復制JSAPI成功響應報文
{
"respData": {
"timeStamp": "1596008125",
"tradeTime": "20200729153540",
"package": "prepay_id=wx29153525159581b728038c9c1125323300",
"paySign": "wWYfaNyyMuqAHVppUfQHXLGLUVcDeCyMsbiMbT9NSEiO2+Y/1uYSFS27LYINaF9f5OoI6MJFvpZfwFGCTVByoNWUH+vfyeK96ITTsy0w44ng2paqdWRHN0D9qtUyVUcbNcf2C5jQ05H65SHNI8oUnUbwlHgGe5AA4JFqKdqiODXQ4g47F11B5/a3masTmHtE7VyIU8nIXz9iPRJh28NiY2DRSX7KMU8OGZb6Y+sAi2fLqfkB9sVHnWD3BzuXDI5xIAVj3BvF3LR38/JWeR9mEqCuQLo7VdC5WnmnqZyVo6KFExNL5Gsin85AILz8S8ibOn4ADmU7sXs0LiJ2bc7K3Q==",
"orderId": "2020072915yhl1422",
"lklOrderId": "20200729110113100266211202870161",
"appId": "wx2421b1c4370ec43b",
"signType": "RSA",
"nonceStr": "20ee06fc255a4606942470808e015112"
},
"timestamp": 1596008140382,
"rnd": null,
"ver": "1.0.0",
"reqId": "baff59de4694438ca9089862253517a5",
"respId": null,
"retCode": "000000",
"retMsg": "交易成功",
"cmdRetCode": "GLOBAL_SUCCESS"
}復制JSAPI失敗響應報文
{
"respData": null,
"timestamp": 1596006460198,
"rnd": null,
"ver": "1.0.0",
"reqId": "baff59de4694438ca9089862253517a5",
"respId": null,
"retCode": "BPS10028",
"retMsg": "主掃支付失敗(參數錯誤)",
"cmdRetCode": "PREPAY_ORDER_ERROR"
}復制錯誤碼
| 錯誤碼 | 描述 | 備注 |
|---|---|---|
| 000000 | 交易成功 | - |
The End
