新聞中心
- swan.requestPolymerPayment
- 方法參數(shù)
- object 參數(shù)說明
- orderInfo 參數(shù)說明
- 示例
- 圖片示例
- 代碼示例
- 錯誤碼
- Android
- iOS
- Bug & Tip
- 方法參數(shù)
swan.requestPolymerPayment
基礎(chǔ)庫 1.8.5 版本開始支持。使用工具調(diào)試時為模擬支付,使用真機調(diào)試時可查看真實支付結(jié)果。在工具和真機中的實現(xiàn)有區(qū)別,詳見 API 實現(xiàn)差異。
解釋:百度收銀臺,聚合了主流的百度錢包、微信、支付寶、網(wǎng)銀等多種支付方式,方便開發(fā)者一站式快速接入多種支付渠道,讓百度用戶能在智能小程序場景下,直接完成支付、交易閉環(huán),提升用戶支付體驗的同時,提高智能小程序的訂單轉(zhuǎn)化率。
為了幫助開發(fā)者調(diào)用收銀臺接口,我們提供了 Go 語言版本封裝了簽名 & 驗簽、 HTTP 接口請求等基礎(chǔ)功能,詳見下載小程序支付 demo 。
想要更具體了解關(guān)于百度收銀臺開通、API、后臺操作的詳細內(nèi)容,請參考對應(yīng)的參考文檔:
- 百度收銀臺支付簡介
- 百度收銀臺支付開通指引
- 支付功能 API 開發(fā)
- 支付管理后臺操作指引
Web 態(tài)說明:
Web 態(tài)登錄需要跳轉(zhuǎn)至收銀臺頁面,支付成功后再跳轉(zhuǎn)回小程序頁面,具體支付流程如下:
如圖,由于在 Web 態(tài)存在頁面跳轉(zhuǎn)的過程,原調(diào)用 API 的頁面的 JS 上下文狀態(tài)會丟失,支付完成不會觸發(fā)該 API 的 success 或者 fail 回調(diào)函數(shù)(僅在參數(shù)校驗失敗時會觸發(fā) fail 回調(diào)),因此開發(fā)者需要在結(jié)果頁( orderInfo.payResultUrl 所指定的頁面)做好支付狀態(tài)檢測。
方法參數(shù)
Object object
object 參數(shù)說明
| 屬性名 | 類型 | 必填 | 默認值 | 說明 | Web 態(tài)說明 |
|---|---|---|---|---|---|
| orderInfo | Object | 是 | 訂單信息 | ||
| success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) | Web 態(tài)內(nèi),接口調(diào)用成功不會觸發(fā) success | |
| fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) | Web 態(tài)內(nèi),僅參數(shù)校驗失敗會觸發(fā) fail | |
| complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
orderInfo 參數(shù)說明
| 參數(shù) | 必填 | 默認值 | 說明 |
|---|---|---|---|
| dealId | 是 | 跳轉(zhuǎn)百度收銀臺支付必帶參數(shù)之一,是百度收銀臺的財務(wù)結(jié)算憑證,與賬號綁定的結(jié)算協(xié)議一一對應(yīng),每筆交易將結(jié)算到 dealId 對應(yīng)的協(xié)議主體。詳見核心參數(shù)獲取與組裝 | |
| appKey | 是 | 支付能力開通后分配的支付 appKey ,用以表示應(yīng)用身份的唯一 ID ,在應(yīng)用審核通過后進行分配,一經(jīng)分配后不會發(fā)生更改,來唯一確定一個應(yīng)用。詳見核心參數(shù)獲取與組裝 | |
| totalAmount | 是 | 訂單金額(單位:人民幣分) | |
| tpOrderId | 是 | 商戶平臺自己記錄的訂單 ID ,當支付狀態(tài)發(fā)生變化時,會通過此訂單 ID 通知商戶 | |
| dealTitle | 是 | 訂單的名稱 | |
| signFieldsRange | 是 | 用于區(qū)分驗簽字段范圍。0:原驗簽字段 appKey+dealId+tpOrderId ;1:包含 totalAmount 的驗簽,驗簽字段包括 appKey+dealId+tpOrderId+totalAmount ,固定值為 1 | |
| rsaSign | 是 | 對appKey+dealId+totalAmount+tpOrderId進行 RSA 加密后的簽名,防止訂單被偽造。簽名過程見 簽名與驗簽 | |
| bizInfo | 是 | 訂單詳細信息,需要是一個可解析為 JSON Object 的字符串。字段內(nèi)容見:bizInfo 組裝 | |
| payResultUrl | 否 | 當前頁面 path | Web 態(tài)小程序支付成功后跳回的頁面路徑,例如:’/pages/payResult/payResult’ |
示例
在開發(fā)者工具中打開
在開發(fā)者工具中打開
在 WEB IDE 中打開
掃碼體驗
代碼示例
請使用百度APP掃碼
圖片示例
代碼示例
- SWAN
- JS
Page({onLoad(query) {// 首次進入頁面時,檢測支付狀態(tài)// web化支付后跳轉(zhuǎn)回本頁面時,也在此檢測支付狀態(tài)this.updatePayStatus(query.tpOrderId);},requestPolymerPayment(e) {swan.request({// 僅為示例,并非真實的接口地址,開發(fā)者從真實接口獲取orderInfo的值url: 'https://mbd.baidu.com/xxx',success: res => {let {orderInfo} = res;// Web 態(tài)中,支付完成后跳轉(zhuǎn)的頁面路徑(本例中跳轉(zhuǎn)回當前頁面:pages/index/index)// 攜帶 tpOrderId 參數(shù),方便跳轉(zhuǎn)后從服務(wù)端查詢訂單信息orderInfo.payResultUrl = '/pages/index/index?tpOrderId=' + orderInfo.tpOrderId;swan.requestPolymerPayment({orderInfo: orderInfo,bannedChannels: this.getData('bannedChannels'),success: res => {// 更新支付狀態(tài)顯示。// Web 態(tài)中不進入 success 回調(diào),而是跳轉(zhuǎn)回本頁面,因此在onload中也要檢測支付狀態(tài)this.updatePayStatus(orderInfo.tpOrderId);},fail: err => {swan.showModal({title: err.errCode,content: err.errMsg});console.log('pay fail', err);}});},fail: err => {swan.showToast({title: '支付失敗',icon: 'none'});}});},updatePayStatus(tpOrderId) {if (!tpOrderId) {return;}// 通過開發(fā)者服務(wù)端接口,檢測支付狀態(tài)swan.request({// 僅為示例,并非真實的接口地址url: 'https://mbd.baidu.com/xxx/checkPayStatus',data: {tpOrderId},success: res => {// 僅為示例,具體判斷規(guī)則由開發(fā)者服務(wù)端接口返回值決定。if (res.payStatus === 'success') {swan.showToast({title: '支付成功',icon: 'success'});}}});}});
錯誤碼
Android
| 錯誤碼 | 說明 |
|---|---|
| 1001 | 執(zhí)行失敗 |
iOS
| 錯誤碼 | 說明 |
|---|---|
| 202 | 解析失敗,請檢查參數(shù)是否正確 |
| 10002 | 網(wǎng)絡(luò)請求失敗 |
| 10005 | 系統(tǒng)拒絕 |
Bug & Tip
- Tip:服務(wù)審核未通過會導(dǎo)致調(diào)起失敗“商品不存在”等錯誤,需要移步“開發(fā)者平臺-支付管理”查看服務(wù)審核狀態(tài);
- Tip:整個 orderInfo 是個 JSON 對象;
- Tip:bizInfo 這個鍵值是一個以字符串形式存放的 JSON 對象;
- Tip:在調(diào)起收銀臺過程中,如開發(fā)者在任何一個環(huán)節(jié)沒有嚴格按照文檔要求操作均會導(dǎo)致此“簽名錯誤”,請認真閱讀文檔。
新聞標題:創(chuàng)新互聯(lián)百度小程序教程:swan.requestPolymerPayment
網(wǎng)頁URL:http://www.dlmjj.cn/article/cdjdhoe.html


咨詢
建站咨詢

