tencent cloud

支付

PDF
聚焦模式
字号
最后更新时间: 2025-12-24 10:04:23

requestPayment

该 API 使用方法为 wx.requestPayment(Object object)
功能说明:调起 superapp 的支付,该 API 首先需要 superapp 具备支付能力并完成支付流程的对接。通常情况下,我们建议开发者参考我们的小程序 支付和商户实践教程 进行 API 实现,最佳实践需要 superapp 开发者和小程序开发者共同参与,最佳实践能够有效地保证数据安全和支付扩展性。
须知:通常来说 timeStamp、nonceStr、package、signType、paySign 这几个参数应该由小程序后台生成。在小程序前端调用小程序后台下单接口的时候返回,然后通过上述返回值调用 wx.requestPayment 发起支付流程。
参数及说明:Object object。
属性
类型
默认值
必填
说明
timeStamp
string
-
时间戳,从 1970 年 1 月 1 日 00:00:00 至今的秒数,即当前的时间
nonceStr
string
-
随机字符串,长度为32个字符以下
package
string
-
统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=***
signType
string
-
签名算法,应与后台下单时的值一致 通常是: RSA
paySign
string
-
签名,具体见 支付和商户实践教程
success
function
-
接口调用成功的回调函数
fail
function
-
接口调用失败的回调函数
complete
function
-
接口调用结束的回调函数(调用成功、失败都会执行)
示例代码:
wx.requestPayment({
timeStamp: '',
nonceStr: '',
package: '',
signType: 'RSA',
paySign: '',
success (res) {
/* res通常由superapp返回给小程序前端,结构由superapp自定义
* 按照标准实现,支付成功后 会在这里收到 res.errMsg = ‘requestPayment:ok’
* 建议小程序在成功回调里,再调用小程序后台接口进行支付状态的确认。确保支付回调信息已经同步到小程序后台
*/
if(res.errMsg === 'resquestPayment:ok'){
// send request to mini program backend to confirm payment state
}
},
fail (err) {
// 该错误内容通常由superapp返回给小程序前端,需要由小程序前端进行报错后的相关用户引导提示
}
})
如果客户的 App 中已经有一套成熟可靠的支付流程,可以结合自定义 API 和该 API 进行支付流程的自定义。

requestVirtualPayment

该 API 使用方法为 wx.requestVirtualPayment(Object object)
功能说明:调起 superapp 的支付,该 API 首先需要 superapp 具备虚拟支付能力并完成支付流程的对接。通常情况下,我们建议开发者参考我们的小程序 支付和商户实践教程 进行 API 实现,最佳实践需要 superapp 开发者和小程序开发者共同参与,最佳实践能够有效地保证数据安全和支付扩展性。
须知:通常来说 signature、paySign 应该由小程序后台生成。在小程序前端调用小程序后台下单接口的时候返回,然后通过上述返回值调用wx.requestVirtualPayment 发起支付流程。
参数及说明:Object object。
属性
类型
默认值
必填
说明
signData
string
-
具体支付参数见 signData, 该参数需以 string 形式传递, 例如 signData: '{"offerId":"123","buyQuantity":1,"currencyType":"USD","productId":"testproductId","goodsPrice":10,"outTradeNo":"xxxxxx","attach":"testdata"}'
mode
string
-
当前仅支持填写 short_series_goods
signature
string
-
用户态签名,具体见 支付和商户实践教程
paySign
string
-
支付签名,具体见 支付和商户实践教程
success
function
-
接口调用成功的回调函数
fail
function
-
接口调用失败的回调函数
complete
function
-
接口调用结束的回调函数(调用成功、失败都会执行)
signData参数:
属性
类型
默认值
必填
说明
offerId
string
-
商户号 ID
buyQuantity
string
-
购买数量
currencyType
string
-
币种,如:USD,具体见控制台中 App 支持的支付币种
productId
string
-

道具 ID,该字段 mode=short_series_goods 时需要必填
goodsPrice
number
-

道具单价(分),该字段 mode=short_series_goods 时需要必填
outTradeNo
string
-
业务订单号, 每个订单号只能使用一次, 重复使用会失败
attach
string
-
透传数据, 发货通知时会透传给开发者
示例代码:
wx.requestVirtualPayment({
signData: JSON.stringify({
offerId: '123',
buyQuantity: 1,
currencyType: 'USD',
productId: 'testproductId',
goodsPrice: 10,
outTradeNo: 'xxxxxx',
attach: 'testdata',
}),
paySig: 'd0b8bbccbe109b11549bcfd6602b08711f46600965253a949cd6a2b895152f9d',
signature: 'd0b8bbccbe109b11549bcfd6602b08711f46600965253a949cd6a2b895152f9d',
mode: 'short_series_goods',
success(res) {
console.log('requestVirtualPayment success', res)
},
fail({ errMsg, errCode }) {
console.error(errMsg, errCode)
},
})

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈