【微信小程序支付计算签名值-前端】

这篇具有很好参考价值的文章主要介绍了【微信小程序支付计算签名值-前端】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序调用wx.requestPayment(OBJECT)发起微信支付

1、后端通过JSAPI下单接口获取到发起支付的必要参数prepay_id,前端取到prepay_id就可以调用wx.requestPayment发起支付。调起支付的参数需要按照签名规则进行签名计算。微信支付文档
2、前端得到prepay_id后就可以按照规则计算签名了。
2.1 构造签名串,签名串一共有四行,每一行为一个参数。行尾以\n(换行符,ASCII编码值为0x0A)结束,包括最后一行。
如果参数本身以\n结束,也需要附加一个\n。
参与签名字段及格式:
小程序appId
时间戳
随机字符串
订单详情扩展字符串
数据举例:
wx8888888888888888
1414561699
5K8264ILTKCH16CQ2502SI8ZNMTM67VS
prepay_id=wx201410272009395522657a690389285100

3、计算签名
绝大多数编程语言提供的签名函数支持对签名数据 进行签名。强烈建议商户调用该类函数,使用商户私钥对待签名串进行SHA256 with RSA签名,并对签名结果进行Base64编码得到签名值。
3.1 首先引入rsa插件 ,构造参数文章来源地址https://www.toymoban.com/news/detail-559748.html

var RSA = require('../../../utils/wxapp_rsa.js')
let appid = app.globalData.appid
    let nonceStr = utils.getRandomString(27)
    let prepay_id = 'wx171603304325421d26220b6300a0690000'
    let timeStamp =  parseInt(new Date().getTime()/1000)
    //构造好的签名串
     let paySign = `${appid}\n${timeStamp}\n${nonceStr}\nprepay_id=${prepay_id}\n`
     // 私钥、商户API证书下载后,私钥 apiclient_key.pem 的内容
     let sikey = `-----BEGIN PRIVATE KEY-----私钥内容-----END PRIVATE KEY-----`
	// 加签
   var sign_rsa = new RSA.RSAKey(); 
   sign_rsa = RSA.KEYUTIL.getKey(sikey); 
   console.log('签名RSA:')
   console.log(sign_rsa)
   var hashAlg = 'sha256';
   var hSig = sign_rsa.signString(paySign, hashAlg); 
   hSig = RSA.hex2b64(hSig); // hex 转 b64
   console.log("签名结果:" + hSig)
   // 得到签名即可调用支付
     wx.requestPayment
    (
      {
        "timeStamp":timeStamp+'',
        "nonceStr": nonceStr,
        "package": "prepay_id="+prepay_id,
        "signType": "RSA",
        "paySign": hSig,
        "success":function(res){
          console.log('调用支付接口成功', res)
        },
        "fail":function(res){
          console.log('调用支付接口fail', res)
        },
        "complete":function(res){
          console.log('调用支付接口完成', res)
        }
      }
    )

到了这里,关于【微信小程序支付计算签名值-前端】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端实现微信支付(H5,微信小程序)

    通常一些电商项目使用到微信支付操作,所以简单地介绍一下微信支付的具体流程。 微信支付是微信内置微信浏览器(其他浏览器不支持)或者微信小程序的支付接口,主要负责用户对商家执行支付操作的流程。 例如常见的电商在下单环节,就需要通过使用微信支付接口,

    2024年02月08日
    浏览(46)
  • 【微信小程序系列:三】前端实现微信支付与代扣签约

    微信支付 算是比较常见的功能了,这里主要说下整个流程中 前端负责 实现的一些方面,其实官方文档说得也很详细了,可以直接看官方文档。觉得文档比较复杂的话,可以直接看我写的~ 跳到官方文档。 微信支付: 理清流程最重要,以购买一件A商品为例子。主要说明前端

    2024年02月11日
    浏览(48)
  • 全网最详细实现微信小程序支付功能【前端部分】

    用户点击立即购买后进入确认订单页面,在此页面可选择商品数量,是否使用优惠券,以及一些简单的个人信息填写,点击支付输入密码则支付成功,如果点击支付后没有付款关闭了页面会跳转到待支付页面并开始倒计时(待支付页面显示该商品适用的店铺信息及个人信息订

    2024年02月11日
    浏览(38)
  • 微信支付签名值paySign计算方法(SDK0.4.0)(java)

    最近在做小程序支付时,小程序调起支付API需要的一个参数paySign,是使用字段appId、timeStamp、nonceStr、package计算得出的签名值。但是网上并没有找到合适的计算方法。 通过查阅资料,最后在官方文档中找到了相应方案:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_0.shtml 修

    2024年02月13日
    浏览(26)
  • 微信小程序开发实战10_2 小程序支付请求签名

    为了保证支付接口使用的安全,微信支付平台在支付API中使用了一些用于接口安全调用的技术。在调用时接口需要使用商户私钥进行接口调用的签名,获取到微信支付平台的应答之后也需要对应答进行签名验证。微信的应答签名使用平台证书来进行签名验证,因此在调用支付

    2024年02月11日
    浏览(27)
  • 支付宝支付时提示:RSA签名遭遇异常,请检查私钥格式是否正确。不正确的长度。【解决方案】

    我的c# .net框架,直接说解决方案吧! 小程序文档 - 支付宝文档中心 支付宝开放平台密钥工具可以生成应用公钥、应用私钥、CSR 文件,并提供密钥匹配、格式转换、签名、同步验签、异步验签等功能。  2.2.1、找到之前生成时的文件位置  2.2.2、从项目的代码中找 感谢阿杰,

    2024年02月11日
    浏览(53)
  • 微信小程序rsa加密

    没有使用npm下载依赖的方式,直接引入了rsa.js文件,rsa.js文件在后面,目录结构如下: 在index.js文件引用 在登录方法中使用JSEncrypt就好了  setData是双向绑定,页面显示,这边只处理传给后端的数据,所以直接赋值就好了 rsa.js文件:  我上级改了这里,不知道原因,暂且记录

    2024年02月02日
    浏览(28)
  • 【微信小程序支付功能】uniapp实现微信小程序支付功能

    场景 :要实现公司微信小程序的电商模块微信支付功能 一.实现步骤和思路 在登录状态,登录的时候获取到code,利用code获取到 openid: https://blog.csdn.net/weixin_45308405/article/details/128868377?spm=1001.2014.3001.5501 在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“微信支付

    2024年02月11日
    浏览(36)
  • 微信小程序签名

            最近项目中,甲方要求实现小程序签名功能,功能已经实现,趁着空闲把代码记录一下。其实签名的实现就是使用canvas,把手指经过的路径画出来,然后保存成图片 先来看一下效果图  我只实现了横屏,毕竟竖屏签字也不怎么方便(\\\"pageOrientation\\\":\\\"landscape\\\") 1、先来

    2024年02月16日
    浏览(25)
  • 微信小程序手写签名

    wxml js wxss 开启横屏 json

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包