微信小程序-支付(wx.requestPayment)

(学习中,持续更新)
直接调用的接口为wx.requestPayment(小程序前端调用)。

官方文档的请求例子为:

wx.requestPayment(
{
"timeStamp":"",
"nonceStr": "",
"package": "",
"signType": "MD5",
"paySign": "",
"success":function(res){},
"fail":function(res){},
"complete":function(res){}
})

其中paySign官方文档给出了一个例子:

MD5(appId=wxd678efh567hg6787&nonceStr=5K8264ILTKCH16CQ2502SI8ZNMTM67VS&package=prepay_id=wx2017033010242291fcfe0db70013231072&signType=MD5&timeStamp=1490840662&key=qazwsxedcrfvtgbyhnujmikolp111111) = 22D9B4E54AB1950F51E0649E8810ACD6

其余参数以文档形式给出:
在这里插入图片描述

MD5签名可以简单理解为它使用一种算法将任意长度的数据生成一个128位的摘要,具有极高的唯一性。

只剩最后一个参数还不明确,即package。该参数通过调用微信统一支付接口返回(后端调用)。调用该接口需要传入xml类型数据。官方文档的该接口传参介绍很多,但只需传入部分必需参数。如果传参正确,会返回一个xml,其中包含支付所需的prepay_id。

小程序支付的流程图如下:
在这里插入图片描述

用户下单后,首先是小程序前端向商户系统后端发送下单支付请求,这次请求需要提供商户后台之后向微信支付系统发送统一支付请求的相关数据,例如购买商品类型和数量(或者前端直接算出金额),用户openid(JSAPI支付时必传)。经过后台处理后向小程序返回支付参数。此时用户确认支付之后,小程序开始调用支付请求。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
小程序支付主要使用的JS代码是wx.requestPayment()。下面是对其的详细解释: wx.requestPayment()是小程序中用于发起支付的API。通过调用该API,用户可以使用微信支付完成商品购买等操作。该API的参数主要包括以下几个: timeStamp:时间戳,表示生成支付签名的时间。 nonceStr:随机字符串,用于生成支付签名的随机串。 package:统一下单接口返回的 prepay_id 参数值,预支付会话标识,用于后续接口调用中使用,该值需要进行 urlEncode。 signType:签名算法,目前支持 HMAC-SHA256 和 MD5,默认为 MD5。 paySign:支付签名,由商户自行生成,具体生成方法参考微信支付开发文档。 以上参数都需要通过后台接口与微信支付进行协商和生成,然后传递给前端小程序进行使用。 当调用wx.requestPayment()时,小程序会自动调起微信支付界面,展示给用户进行支付。用户完成支付后,微信会返回支付结果给小程序,通过调用该API的success、fail和complete回调函数来处理支付结果。 在使用wx.requestPayment()时,需要注意以下几点: 1. 需要先调用wx.requestPayment()前准备好支付参数,确保支付参数的正确性和有效性。 2. 支付参数的获取需要与后台进行交互,因此需要确保与后台进行数据传输和处理的接口正常运行。 3. 若支付失败,需要根据具体错误码和错误信息进行处理,如若用户取消支付,则可以给出相应的提示等。 总之,wx.requestPayment()是小程序中用于发起支付的重要API,通过合理调用和处理,可以实现小程序中的支付功能。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值