日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)百度小程序教程:swan.requestPolymerPayment
  • swan.requestPolymerPayment
    • 方法參數(shù)
      • object 參數(shù)說明
      • orderInfo 參數(shù)說明
    • 示例
      • 圖片示例
      • 代碼示例
    • 錯誤碼
      • Android
      • iOS
    • Bug & Tip

    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
     
     
     
     
     
     
    1. Page({
    2. onLoad(query) {
    3. // 首次進入頁面時,檢測支付狀態(tài)
    4. // web化支付后跳轉(zhuǎn)回本頁面時,也在此檢測支付狀態(tài)
    5. this.updatePayStatus(query.tpOrderId);
    6. },
    7. requestPolymerPayment(e) {
    8. swan.request({
    9. // 僅為示例,并非真實的接口地址,開發(fā)者從真實接口獲取orderInfo的值
    10. url: 'https://mbd.baidu.com/xxx',
    11. success: res => {
    12. let {orderInfo} = res;
    13. // Web 態(tài)中,支付完成后跳轉(zhuǎn)的頁面路徑(本例中跳轉(zhuǎn)回當前頁面:pages/index/index)
    14. // 攜帶 tpOrderId 參數(shù),方便跳轉(zhuǎn)后從服務(wù)端查詢訂單信息
    15. orderInfo.payResultUrl = '/pages/index/index?tpOrderId=' + orderInfo.tpOrderId;
    16. swan.requestPolymerPayment({
    17. orderInfo: orderInfo,
    18. bannedChannels: this.getData('bannedChannels'),
    19. success: res => {
    20. // 更新支付狀態(tài)顯示。
    21. // Web 態(tài)中不進入 success 回調(diào),而是跳轉(zhuǎn)回本頁面,因此在onload中也要檢測支付狀態(tài)
    22. this.updatePayStatus(orderInfo.tpOrderId);
    23. },
    24. fail: err => {
    25. swan.showModal({
    26. title: err.errCode,
    27. content: err.errMsg
    28. });
    29. console.log('pay fail', err);
    30. }
    31. });
    32. },
    33. fail: err => {
    34. swan.showToast({
    35. title: '支付失敗',
    36. icon: 'none'
    37. });
    38. }
    39. });
    40. },
    41. updatePayStatus(tpOrderId) {
    42. if (!tpOrderId) {
    43. return;
    44. }
    45. // 通過開發(fā)者服務(wù)端接口,檢測支付狀態(tài)
    46. swan.request({
    47. // 僅為示例,并非真實的接口地址
    48. url: 'https://mbd.baidu.com/xxx/checkPayStatus',
    49. data: {tpOrderId},
    50. success: res => {
    51. // 僅為示例,具體判斷規(guī)則由開發(fā)者服務(wù)端接口返回值決定。
    52. if (res.payStatus === 'success') {
    53. swan.showToast({
    54. title: '支付成功',
    55. icon: 'success'
    56. });
    57. }
    58. }
    59. });
    60. }
    61. });

    錯誤碼

    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