日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

    swan.requestPolymerPayment

    基礎庫 1.8.5 版本開始支持。使用工具調試時為模擬支付,使用真機調試時可查看真實支付結果。在工具和真機中的實現(xiàn)有區(qū)別,詳見 API 實現(xiàn)差異。

    解釋:百度收銀臺,聚合了主流的百度錢包、微信、支付寶、網(wǎng)銀等多種支付方式,方便開發(fā)者一站式快速接入多種支付渠道,讓百度用戶能在智能小程序場景下,直接完成支付、交易閉環(huán),提升用戶支付體驗的同時,提高智能小程序的訂單轉化率。

    為了幫助開發(fā)者調用收銀臺接口,我們提供了 Go 語言版本封裝了簽名 & 驗簽、 HTTP 接口請求等基礎功能,詳見下載小程序支付 demo 。

    想要更具體了解關于百度收銀臺開通、API、后臺操作的詳細內(nèi)容,請參考對應的參考文檔:

    • 百度收銀臺支付簡介
    • 百度收銀臺支付開通指引
    • 支付功能 API 開發(fā)
    • 支付管理后臺操作指引

    Web 態(tài)說明
    Web 態(tài)登錄需要跳轉至收銀臺頁面,支付成功后再跳轉回小程序頁面,具體支付流程如下:

    如圖,由于在 Web 態(tài)存在頁面跳轉的過程,原調用 API 的頁面的 JS 上下文狀態(tài)會丟失,支付完成不會觸發(fā)該 API 的 success 或者 fail 回調函數(shù)(僅在參數(shù)校驗失敗時會觸發(fā) fail 回調),因此開發(fā)者需要在結果頁( orderInfo.payResultUrl 所指定的頁面)做好支付狀態(tài)檢測。

    方法參數(shù)

    Object object

    object 參數(shù)說明

    屬性名 類型 必填 默認值 說明 Web 態(tài)說明
    orderInfo Object 訂單信息
    success Function 接口調用成功的回調函數(shù) Web 態(tài)內(nèi),接口調用成功不會觸發(fā) success
    fail Function 接口調用失敗的回調函數(shù) Web 態(tài)內(nèi),僅參數(shù)校驗失敗會觸發(fā) fail
    complete Function 接口調用結束的回調函數(shù)(調用成功、失敗都會執(zhí)行)

    orderInfo 參數(shù)說明

    參數(shù) 必填 默認值 說明
    dealId 跳轉百度收銀臺支付必帶參數(shù)之一,是百度收銀臺的財務結算憑證,與賬號綁定的結算協(xié)議一一對應,每筆交易將結算到 dealId 對應的協(xié)議主體。詳見核心參數(shù)獲取與組裝
    appKey 支付能力開通后分配的支付 appKey ,用以表示應用身份的唯一 ID ,在應用審核通過后進行分配,一經(jīng)分配后不會發(fā)生更改,來唯一確定一個應用。詳見核心參數(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化支付后跳轉回本頁面時,也在此檢測支付狀態(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)中,支付完成后跳轉的頁面路徑(本例中跳轉回當前頁面:pages/index/index)
    14. // 攜帶 tpOrderId 參數(shù),方便跳轉后從服務端查詢訂單信息
    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 回調,而是跳轉回本頁面,因此在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ā)者服務端接口,檢測支付狀態(tài)
    46. swan.request({
    47. // 僅為示例,并非真實的接口地址
    48. url: 'https://mbd.baidu.com/xxx/checkPayStatus',
    49. data: {tpOrderId},
    50. success: res => {
    51. // 僅為示例,具體判斷規(guī)則由開發(fā)者服務端接口返回值決定。
    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)絡請求失敗
    10005 系統(tǒng)拒絕

    Bug & Tip

    • Tip:服務審核未通過會導致調起失敗“商品不存在”等錯誤,需要移步“開發(fā)者平臺-支付管理”查看服務審核狀態(tài);
    • Tip:整個 orderInfo 是個 JSON 對象;
    • Tip:bizInfo 這個鍵值是一個以字符串形式存放的 JSON 對象;
    • Tip:在調起收銀臺過程中,如開發(fā)者在任何一個環(huán)節(jié)沒有嚴格按照文檔要求操作均會導致此“簽名錯誤”,請認真閱讀文檔。

    網(wǎng)頁題目:創(chuàng)新互聯(lián)百度小程序教程:swan.requestPolymerPayment
    分享路徑:http://m.5511xx.com/article/cdjdhoe.html