小程序發起微信支付wx.requestPayment
wx.requestPayment(Object object)
發起微信支付。調用前需在小程序微信公眾平臺 -功能-微信支付入口申請接入微信支付。了解更多信息,可以參考 微信支付開發文檔:
以 Promise 風格 調用:支持
小程序插件:不支持
微信 Windows 版:支持
微信 Mac 版:支持
開發指引
下單接口
支付接口
如果使用云開發,則 wx.requestPayment 所需參數可以通過云開發微信支付統一下單接口免鑒權獲取、并可免證書、免簽名的安全調用微信支付服務端接口、及接收異步支付結果回調,詳見云開發微信支付。
參數
Object object
屬性 類型 默認值 必填 說明
timeStamp string 是 時間戳,從 1970 年 1 月 1 日 00:00:00 至今的秒數,即當前的時間
nonceStr string 是 隨機字符串,長度為32個字符以下
package string 是 統一下單接口返回的 prepay_id 參數值,提交格式如:prepay_id=***
signType string MD5 否 簽名算法,應與后臺下單時的值一致
合法值 說明
MD5 僅在 v2 版本接口適用
HMAC-SHA256 僅在 v2 版本接口適用
RSA 僅在 v3 版本接口適用
paySign string 是 簽名,具體見微信支付文檔
success function 否 接口調用成功的回調函數
fail function 否 接口調用失敗的回調函數
complete function 否 接口調用結束的回調函數(調用成功、失敗都會執行)
wx.requestPayment({
timeStamp: '',
nonceStr: '',
package: '',
signType: 'MD5',
paySign: '',
success (res) { },
fail (res) { }
})
注:如果服務端有使用云開發,可以通過云開發微信支付統一下單接口免鑒權獲取以上所需所有參數,示例:
// 云函數代碼
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
const res = await cloud.cloudPay.unifiedOrder({
"body" : "小秋TIT店-超市",
"outTradeNo" : "1217752501201407033233368018",
"spbillCreateIp" : "127.0.0.1",
"subMchId" : "1900009231",
"totalFee" : 1,
"envId": "test-f0b102",
"functionName": "pay_cb"
})
return res
}
// 小程序代碼
wx.cloud.callFunction({
name: '函數名',
data: {
// ...
},
success: res => {
const payment = res.result.payment
wx.requestPayment({
...payment,
success (res) {
console.log('pay success', res)
},
fail (err) {
console.error('pay fail', err)
}
})
},
fail: console.error,
})
- 小程序文件上傳wx.uploadFile
- 將本地資源上傳到服務器。客戶端發起一個 HTTPS POST 請求,其中 content-type 為 multipart/form-data。使用前請注意閱讀相關說明。
- 04-08 關注:1