位置: 编程技术 - 正文

详解NodeJs支付宝移动支付签名及验签(nodejsapi)

编辑:rootadmin

推荐整理分享详解NodeJs支付宝移动支付签名及验签(nodejsapi),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs 支付宝支付,nodejs接入微信支付,nodejs 知乎,nodejs 支付宝支付,nodejsapi,node.js微信支付,node.js微信支付,nodejs 支付宝支付,内容如对您有帮助,希望把文章链接给更多的朋友!

非常感谢 : 的文章,如果不是找到这篇文章我可能还要继续坑几天,代码也基本都是照着他的搬过来的,不过支付宝移动支付文档写的非常糟糕而且没有node的SDK和demo,写起来异常痛苦..好在找到了这篇文章顺便折腾了一下午支付宝的技术人员总算把移动支付整个流程给做完了,所以就顺便记录一下自己遇到的坑,和对移动支付整个流程的梳理。

支付宝给的流程图还是很清晰的,其实基本流程就是

用户向服务器请求一个付款 服务器生成一个带签名的订单发送给客户端 客户端通过这个订单向app sdk请求付款 sdk把用户引入支付宝付款界面进行支付 支付成功后支付宝向前端返回支付成功结果,并且向服务器发送一个支付通知 服务器接收通知并且验证是否是支付宝发送的成功结果

app客户端需要做的很简单:

向自己的服务器请求一个订单, 接收到订单后,向支付宝sdk发情一个支付请求 交易结束后返回一个成功或者失败

服务器做的事情稍微多一点(注意:服务端需要存放应用的私钥进行签名,还有支付宝的公钥进行验签):

1.接收到客户端请求时候,生成一个带签名订单返回给客户端,中间的步奏有

1) 把相应的配置数据生成一个数组,再把数组的数据生成一个有序的字符串

2) 将这组支付串进行RSA-SHA1算法,得到的结果再与存在服务端的私钥进行签名

详解NodeJs支付宝移动支付签名及验签(nodejsapi)

3) 有序的字符串+得到的签名+签名方法就是生成的订单,将这组订单返回给客户端

2.前半段的工作就做完了,接下来如果前端支付成功,支付宝会向我们预留好的回调接口发送一个POST请求,让我们验证用户是否支付成功

1) 将支付宝发送过来的数据生成一个有序的字符串

2) 将获取的数据进行hash然后根据公钥进行对签名的有效应验证,返回true和false

3) 如果验签成功再生成支付宝通知url,来验证是否是支付宝发来的通知(支付宝的验证一大堆,脑壳都痛了),如果有数据则说明确实是支付宝发来的通知,这次交易有效

这样整个流程就跑完了,代码原博客都有,这里最多只是有些改成了sails的写法,主要写一下这次遇到的几个坑和值得注意的几个地方

1. 由于移动支付的文档描述不清楚,私钥其实上上传到账户信息的mapi网管产品密钥里:

而不是上传到应用的密钥里

2. 移动支付只支持RSA(SHA1)

3. ./是在sails里获取的到根目录下的密钥(有点搞不懂sails的这个路径)

4. 生成订单时候的有序字符串格式是body="测试" ,有双引号,但是验签生成的有序字符串里不能有双引号

标签: nodejsapi

本文链接地址:https://www.jiuchutong.com/biancheng/374142.html 转载请保留说明!

上一篇:nodejs和php实现图片访问实时处理(node js php)

下一篇:node.js发送邮件email的方法详解(node 发邮件)

  • 什么是库存现金的盘亏
  • 居民和企业
  • 电子税务局税种认定在哪里看
  • 拓展费税收分类编码
  • 计提坏账又收回
  • 企业所得税税前扣除凭证管理办法
  • 一般纳税人的税率是多少个点
  • 民间非营利组织会计制度最新版
  • 消费取得普通发票怎么开
  • 红字发票是否需要写进出仓单里
  • 事业单位收到借款分录
  • 材料成本会计的主要内容
  • 其他应收款包括的内容
  • 租赁公司怎么开展业务
  • 投资理财产品的优势和劣势
  • 房产税和土地使用税计入什么科目
  • 企业所得税税率2023年最新税率表
  • 现金支付和个人自费
  • 零申报的印花税怎么打印
  • 宿舍管理制度规定心得体会范文
  • 存出资本保证金属于什么科目
  • 如何删除win11的入门
  • 怎么清除更新记录
  • 怎么补去年的税
  • w7com端口设置
  • 支付挂靠方的管理费用有进项吗?
  • php现在
  • php chm
  • php二维数组求和
  • php功能实现
  • php echo js
  • php利用switch语句判断学生成绩处于哪个区间
  • php获取api内容
  • 退税发票在总局怎么开
  • .gp4
  • 使用uni-app开发网站
  • php中字符串的连接运算符是( )
  • 有形动产的租赁增值税税率是多少
  • dos命令怎么转到d盘
  • wordpress如何批量导入商品
  • 外币账户如何设立
  • 汽车上牌照的费用计入什么会计科目
  • 小规模资产负债表怎么填写
  • 合并范围外关联方是什么
  • 织梦官方
  • 交通费中的高速费指什么
  • 银行进账单票据张数
  • 待抵扣进项税的限额是什么
  • 广告制作费怎么入账
  • 递延收益的摊销时点
  • 冲回多提的坏账准备会计分录
  • 城建税的征收范围不包括农村
  • 内部审计主要目的
  • 固定资产报废时,后续未折旧额计入哪里
  • 认证过的发票红冲了还要退回吗
  • 企业所得税汇算表
  • 银行利息为什么用红字
  • 合资公司政策
  • 机械租赁带司机和不带司机的税率
  • 销售预算的重要性
  • sql server内存怎么设置合理
  • mysql类型varchar长度
  • win7 bug
  • win10 电池报告
  • mac系统操作的小技巧
  • win8开机启动项怎么关闭
  • u启动开机启动快捷键
  • 怎么设置pe系统
  • wind10怎么打开摄像头
  • win8安全和维护在哪
  • 万能win8pe工具箱怎么用
  • cocos2dx场景切换
  • android 布局
  • 批处理应用实例
  • angular 嵌入html
  • Unity3d MonoDevelop格式化代码
  • javascript数据结构与算法
  • 广东国税局发票查询平台
  • 期间费用如何分摊到成本中
  • 国家税务局的单位性质是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设