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

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

新聞中心

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

    swan.requestPolymerPayment

    基礎(chǔ)庫(kù) 1.8.5 版本開(kāi)始支持。使用工具調(diào)試時(shí)為模擬支付,使用真機(jī)調(diào)試時(shí)可查看真實(shí)支付結(jié)果。在工具和真機(jī)中的實(shí)現(xiàn)有區(qū)別,詳見(jiàn) API 實(shí)現(xiàn)差異。

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

    為了幫助開(kāi)發(fā)者調(diào)用收銀臺(tái)接口,我們提供了 Go 語(yǔ)言版本封裝了簽名 & 驗(yàn)簽、 HTTP 接口請(qǐng)求等基礎(chǔ)功能,詳見(jiàn)下載小程序支付 demo 。

    想要更具體了解關(guān)于百度收銀臺(tái)開(kāi)通、API、后臺(tái)操作的詳細(xì)內(nèi)容,請(qǐng)參考對(duì)應(yīng)的參考文檔:

    • 百度收銀臺(tái)支付簡(jiǎn)介
    • 百度收銀臺(tái)支付開(kāi)通指引
    • 支付功能 API 開(kāi)發(fā)
    • 支付管理后臺(tái)操作指引

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

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

    方法參數(shù)

    Object object

    object 參數(shù)說(shuō)明

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

    orderInfo 參數(shù)說(shuō)明

    參數(shù) 必填 默認(rèn)值 說(shuō)明
    dealId 跳轉(zhuǎn)百度收銀臺(tái)支付必帶參數(shù)之一,是百度收銀臺(tái)的財(cái)務(wù)結(jié)算憑證,與賬號(hào)綁定的結(jié)算協(xié)議一一對(duì)應(yīng),每筆交易將結(jié)算到 dealId 對(duì)應(yīng)的協(xié)議主體。詳見(jiàn)核心參數(shù)獲取與組裝
    appKey 支付能力開(kāi)通后分配的支付 appKey ,用以表示應(yīng)用身份的唯一 ID ,在應(yīng)用審核通過(guò)后進(jìn)行分配,一經(jīng)分配后不會(huì)發(fā)生更改,來(lái)唯一確定一個(gè)應(yīng)用。詳見(jiàn)核心參數(shù)獲取與組裝
    totalAmount 訂單金額(單位:人民幣分)
    tpOrderId 商戶(hù)平臺(tái)自己記錄的訂單 ID ,當(dāng)支付狀態(tài)發(fā)生變化時(shí),會(huì)通過(guò)此訂單 ID 通知商戶(hù)
    dealTitle 訂單的名稱(chēng)
    signFieldsRange 用于區(qū)分驗(yàn)簽字段范圍。0:原驗(yàn)簽字段 appKey+dealId+tpOrderId ;1:包含 totalAmount 的驗(yàn)簽,驗(yàn)簽字段包括 appKey+dealId+tpOrderId+totalAmount ,固定值為 1
    rsaSign 對(duì)appKey+dealId+totalAmount+tpOrderId進(jìn)行 RSA 加密后的簽名,防止訂單被偽造。簽名過(guò)程見(jiàn) 簽名與驗(yàn)簽
    bizInfo 訂單詳細(xì)信息,需要是一個(gè)可解析為 JSON Object 的字符串。字段內(nèi)容見(jiàn):bizInfo 組裝
    payResultUrl 當(dāng)前頁(yè)面 path Web 態(tài)小程序支付成功后跳回的頁(yè)面路徑,例如:’/pages/payResult/payResult’

    示例

    在開(kāi)發(fā)者工具中打開(kāi)

    在開(kāi)發(fā)者工具中打開(kāi)

    在 WEB IDE 中打開(kāi)

    掃碼體驗(yàn)

    代碼示例

    請(qǐng)使用百度APP掃碼

    圖片示例

    代碼示例

    • SWAN
    • JS
     
     
     
     
     
     
    1. Page({
    2. onLoad(query) {
    3. // 首次進(jìn)入頁(yè)面時(shí),檢測(cè)支付狀態(tài)
    4. // web化支付后跳轉(zhuǎn)回本頁(yè)面時(shí),也在此檢測(cè)支付狀態(tài)
    5. this.updatePayStatus(query.tpOrderId);
    6. },
    7. requestPolymerPayment(e) {
    8. swan.request({
    9. // 僅為示例,并非真實(shí)的接口地址,開(kāi)發(fā)者從真實(shí)接口獲取orderInfo的值
    10. url: 'https://mbd.baidu.com/xxx',
    11. success: res => {
    12. let {orderInfo} = res;
    13. // Web 態(tài)中,支付完成后跳轉(zhuǎn)的頁(yè)面路徑(本例中跳轉(zhuǎn)回當(dāng)前頁(yè)面:pages/index/index)
    14. // 攜帶 tpOrderId 參數(shù),方便跳轉(zhuǎn)后從服務(wù)端查詢(xún)訂單信息
    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)中不進(jìn)入 success 回調(diào),而是跳轉(zhuǎn)回本頁(yè)面,因此在onload中也要檢測(cè)支付狀態(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. // 通過(guò)開(kāi)發(fā)者服務(wù)端接口,檢測(cè)支付狀態(tài)
    46. swan.request({
    47. // 僅為示例,并非真實(shí)的接口地址
    48. url: 'https://mbd.baidu.com/xxx/checkPayStatus',
    49. data: {tpOrderId},
    50. success: res => {
    51. // 僅為示例,具體判斷規(guī)則由開(kāi)發(fā)者服務(wù)端接口返回值決定。
    52. if (res.payStatus === 'success') {
    53. swan.showToast({
    54. title: '支付成功',
    55. icon: 'success'
    56. });
    57. }
    58. }
    59. });
    60. }
    61. });

    錯(cuò)誤碼

    Android

    錯(cuò)誤碼 說(shuō)明
    1001 執(zhí)行失敗

    iOS

    錯(cuò)誤碼 說(shuō)明
    202 解析失敗,請(qǐng)檢查參數(shù)是否正確
    10002 網(wǎng)絡(luò)請(qǐng)求失敗
    10005 系統(tǒng)拒絕

    Bug & Tip

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

    網(wǎng)頁(yè)題目:創(chuàng)新互聯(lián)百度小程序教程:swan.requestPolymerPayment
    標(biāo)題路徑:http://www.5511xx.com/article/cdjdhoe.html