wx.requestPayment(OBJECT)
發起微信支付。
Object參數說明:
參數 | 類型 | 必填 | 說明 |
---|---|---|---|
timeStamp | String | 是 | 時間戳從1970年1月1日00:00:00至今的秒數,即當前的時間 |
nonceStr | String | 是 | 隨機字符串,長度爲32個字符以下。 |
package | String | 是 | 統一下單接口返回的 prepay_id 參數值,提交格式如:prepay_id=* |
signType | String | 是 | 簽名算法,暫支持 MD5 |
paySign | String | 是 | 簽名 |
success | Function | 否 | 接口調用成功的回調函數 |
fail | Function | 否 | 接口調用失敗的回調函數 |
complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
回調結果:
回調類型 | errMsg | 說明 |
---|---|---|
success | requestPayment:ok | 調用支付成功 |
fail | requestPayment:fail cancel | 用戶取消支付 |
fail | requestPayment:fail (detail message) | 調用支付失敗,其中 detail message 爲後臺返回的詳細失敗原因 |
示例代碼:
wx.requestPayment({
"timeStamp": "",
"nonceStr": "",
"package": "",
"signType": "MD5",
"paySign": "",
"success":function(res){
},
"fail":function(res){
}
})
Bug & Tip
bug
: 6.5.2 及之前版本中,用戶取消支付不會觸發 fail 回調,只會觸發 complete 回調,回調 errMsg 爲 'requestPayment:cancel'
如果開發者已做過JSAPI或JSSDK調起微信支付,接入小程序支付非常相似,以下是三種接入方式的對比:
對比欄目 | JSAPI | JSSDK | 小程序 |
統一下單 | 都需要先獲取到Openid,調用相同的API | ||
調起數據簽名 | 五個字段參與簽名(區分大小寫):appId,nonceStr,package,signType,timeStamp | ||
調起支付頁面協議 | HTTP或HTTPS | HTTP或HTTPS | HTTPS |
支付目錄 | 有 | 有 | 無 |
授權域名 | 有 | 有 | 無 |
回調函數 | 有 | success回調 | complete、fail、success回調函數 |
程序訪問商戶服務都是通過HTTPS,開發部署的時候需要安裝HTTPS服務器