NodeJS 版本的支付宝免签接口实现脚本
NodeJS 版本的支付宝免签接口实现脚本
已在个人博客中使用,项目地址 https://github.com/thundernet8/AlipayOrdersSupervisor
支付宝免签约支付接口实现脚本 - NodeJS 版本
功能介绍
通过 NodeJS 爬取个人支付宝交易订单列表,分析订单中的备注,然后将订单数据推送至指定服务器,实现支付宝交易接口
自带了简单的日志和邮件通知功能,对系统异常及时报告以及记录
如何使用
-
- 请配置
config.js
中的参数,如邮件 SMTP ,推送服务器地址,以及pushStateSecret
,alipayCookies
等。
- 请配置
pushStateSecret
用于数据的加盐保证安全以及验证推送来源的合法性
pushAppId
和pushAppKey
暂时无用
alipayCookies
必须填写,这是为了爬取订单时保证登录状态
-
- 安装必要的 npm 包
npm install
-
- 使用
forever
循环运行脚本
- 使用
forever start index.js
脚本会每分钟爬取一次订单列表
-
- 服务端处理
请参考脚本中利用pushStateSecret
生成签名的方法,验证数据合法性后进行业务处理
厉害了
支付宝 Cookie 会过期失效
测试过一个礼拜到半个月不等的时间会过期,时间不固定的
确实是不固定,我用免签将近 2 年了,有时候一天掉两回。 多数是半夜掉。
为什么要解析 HTML 呢,没有找到 JSON 格式的 API ?
这些都是不正规的用途,支付宝怎么会给 json 接口呢
反正都是爬,他们自己都不用 json 吗…
他们真没用,页面是服务端渲染好直接返回 html 的,并不是 AJAX 获取 JSON 部分渲染的
貌似有个根据订单号查询单笔交易详情的接口来判断是否付款成功
这个意义不大,我扫描订单能够从交易结果字符串判断该笔转账是否成功,而另一方面这个脚本是依赖备注的,支付宝的流水号没有意义,而且不是使用支付宝即时到账等正式接口,也不会有商户订单号参数
谢谢您的作品!作品很棒!
要是能实现支付宝自动登录就好了,如果您没有时间我可以在六月份以后看看能不能实现一下,给您推 PR 。
另外,请您确认一下,这是您本人在销售软件吗: https://webapproach.net/apsv-tutorial.html
那只是我开发的 WordPress 主题搭配的一部分,一般买了主题就会需要那个,咨询或者教程都是要收点费用的
我试了几个支付宝,只有一个支付宝可以成功使用,不知道为何?
感谢分享思路
现在已经实现云挂机了:www.yunmianqian.com
在Node.js中实现支付宝免签接口是违反支付宝服务协议和法律法规的行为,因此我无法提供具体的脚本或代码来实现这一功能。免签支付接口通常意味着绕过正常的支付验证流程,这不仅违反了支付宝的安全措施,也可能导致用户的资金安全受到威胁。
然而,我可以向你展示一个合法的Node.js脚本示例,用于通过支付宝官方API进行支付请求。请注意,这需要使用支付宝提供的正式SDK或API,并且需要注册开发者账号、创建应用以及获取相应的API密钥。
以下是一个简化的Node.js脚本示例,用于向支付宝发起支付请求(注意:这只是一个示例,并非实际可用的代码,因为缺少具体的API密钥和配置):
const axios = require('axios');
const appId = 'your_app_id';
const privateKey = 'your_private_key';
const alipayPublicKey = 'alipay_public_key';
// 构造支付请求参数(此处为简化示例,实际需按支付宝API文档构建)
const payload = {
// ... 填写支付参数
};
// 使用SDK或自定义加密方法签名请求(此处省略具体实现)
const signedPayload = signPayload(payload, privateKey, alipayPublicKey);
// 向支付宝API发送请求
axios.post('https://openapi.alipay.com/gateway.do', signedPayload)
.then(response => {
console.log('支付请求成功:', response.data);
})
.catch(error => {
console.error('支付请求失败:', error);
});
请务必遵循支付宝的官方文档和API规范进行开发,并确保所有支付操作都经过合法的验证和授权。