开启小程序支付功能是小程序开发中非常重要的一步,它能够使开发者获得更好的盈利和用户体验,本文将详细介绍小程序支付功能的开启方式,包括设置支付参数、调用支付接口等。
1. 设置支付参数
在微信公众平台开发者中心中,需要进行小程序支付的开通申请,支付功能开通需要满足以下条件:
1. 开通微信支付(包含公众号支付、小程序支付、APP支付);
2. 实名认证(个体工商户需提供营业执照、结算银行账号和身份证信息);
3. 已有小程序。
开通完成后,进入支付配置菜单可以设置小程序支付相关参数,包括商户号、支付应用密钥、支付通知地址等。
其中,商户号是申请微信支付后获得的唯一标识符,用于标识商户的身份。支付应用密钥是由商户生成的用于保证支付数据安全的一个字符串。支付通知地址是微信支付完成后,通知商户服务器的接口地址。
const paymentParams = {
mch_id: '1234567890', // 商户号
appid: 'wx1234567890', // 小程序AppId
key: 'abcdefghijklmnopqrstuvwxyz012345', // 支付密钥
notify_url: 'https://example.com/weixinpay/callback' // 支付通知地址
};
商户号
商户号是微信支付的重要标识,它可以让微信支付识别商户身份,同时也是商户在微信支付中的唯一标识符。商户号一般通过微信支付申请时获得。
支付应用密钥
支付应用密钥是帮助保护微信支付信息的关键。在签名支付请求中,用商户的应用密钥进行加密来验证请求的合法性。
设置支付密钥需要注意保密,避免泄露。
支付通知地址
支付通知地址是微信支付完成后通知商户后台的接口地址,用于接收微信支付平台发来的支付信息。该地址需要能够被外网访问。在商户平台上,需要设置对应的接口地址。
设置支付通知地址需要注意调试通信是否正确,避免支付异常。
2. 调用支付接口
在支付参数设置完成后,就可以调用支付接口进行支付了。支付接口分为调起支付和支付结果查询两个部分。
调起支付
调起支付需要用到wx.requestPayment()接口。
微信提供了wx.requestPayment()接口用于调用微信支付功能。这个接口会直接调起微信支付,让用户在微信中完成支付。
wx.requestPayment({
timeStamp: '1593790714',
nonceStr: '0a90e417b0a8e9cf32e4804062535abd',
package: 'prepay_id=wx1234567890',
signType: 'MD5',
paySign: '2cbab5c77ff2a0cf40f319909eb2faac',
success: function(res) {
console.log("支付成功");
},
fail: function(res) {
console.log("支付失败");
},
complete: function(res) {
console.log(res);
}
})
在调用wx.requestPayment()时,需要传递支付相关的参数,包括时间戳、随机字符串、预支付ID、签名类型和签名等参数,同时还需要传递支付成功和失败后的回调函数。
支付结果查询
支付成功后,需要查询支付结果,以保证支付的可靠性。通过调用微信提供的“查询订单API”,可以获得支付结果。
这是一个异步接口,需要通过其他方法(比如轮询)来查询支付状态。
wx.request({
url: "https://api.mch.weixin.qq.com/pay/orderquery",
data: {
out_trade_no: '20150806125345'
},
method: 'POST',
header: {
'Content-Type': 'application/x-www-form-urlencoded',
},
success: function (res) {
console.log(res.data);
},
fail: function (res) {
console.log(res.errMsg);
}
});
在调用微信支付成功后,需要传递订单号以便进行支付结果查询。微信支付会返回一些支付结果信息,包括支付状态、商户订单号、微信支付订单号等。
总结
小程序支付是小程序开发中非常重要的一环,它不仅可以提高用户的支付体验,还可以为开发者创造更好的盈利环境。因此,在小程序开发中要注意支付功能的设置和使用。
本文从设置支付参数和调用支付接口两个方面介绍了小程序支付,同时还对应用中的一些注意点进行了说明。开发者可以根据本文内容,更好地使用小程序支付功能。