我是李君子 发表于 2025-3-29 12:12:43

关于支付宝二维码的一个小研究

本帖最后由 我是李君子 于 2025-3-29 12:14 编辑

事情是这样的,前阵子想注册一个Linkvertise来着,但是我没有国外的收付款方式
然后国内也没有类似的,找到一个,结果一看copyright,byd 2011-2012,群也没了,我给站长发了封邮件,也没回,估计是被遗弃了已经
然后我就打算自己整一个,然后发现支付api注册太麻烦,Alipay和wxpay都需要营业执照,第三方的开户费又高得离谱,而且还麻烦
然后我就想到了二维码转链接这种方式,我先试了wechat的,然后发现wc用的wxp协议,虽然wxp也基于http,但是是由微信解析支付数据的,并且在前端访问wxp://也不会跳转到微信
然后我就又试了Alipay,这个可以倒是,alipay的二维码解析出来是https地址,而且试了一下也可以正常使用,比如我(准确来说是我父皇的)的是
tip: 这个链接我把其中三个字符改成***是我觉得klpbbs不太安全()
https://qr.alipay.com/fkx19598mkmott8q***wmca
这个是自定义金额,访问页面会申请打开支付宝,然后就是转账页,edge和google都会再后退到上一个页面,小米浏览器则会停留在那页
这个url的Pathname部分是支付的信息(编码的),虽然每次获取alipay二维码都会变,但是这个并不是一次性的,然后我以测试的理由骗了我朋友两分钱
每次更改金额解析出来的地址也是能用的
所以到这里了,我们是不是可以把这个链接插入到我们的项目里,答案是可以的,但是,目前没有办法判断支付是否成功,因此只能用在小型个人收款项目上
有大的盈利项目还是去办一个api更好

为了使用方便我简单做了个Js库,功能不多,感兴趣的可以看一眼
https://github.com/Love-Kogasa/qlipay
二维码需要自行解析,我比较懒没写qrc解析的功能
可以去这里解析
https://cli.im/deqr/other
一段实例代码(放前端跑)
(注释版本的看Gh仓库的README,搬过来显得太啰嗦了)
var pay = new Alipay()
pay.bindId( "fkx19598mkmott8qy3lwmca" )
pay.on( "ok", function( e, type ){
if( type === "*" ){
    console.log( e.id )
    window.alert( "支付成功 " )
}
})
pay.on( "pay", ( e ) => {
return window.confirm( "pay " + e.type + " ?" )
})
pay.pay()
Demo: https://love-kogasa.github.io/qlipay/test/
可以简单尝试一下,我也可以再骗和几分(bushi
用demo前建议先通读readme
大概就是这样子,emmm,有什么我想到再补充吧
感谢阅读!
不配张图感觉不好看

DPTest 发表于 2025-3-31 09:27:09

大佬厉害了!自己动手搞定支付接口还开源工具,感谢分享!个人收款用挺方便的,希望后续能加个支付回调提醒~
页: [1]
查看完整版本: 关于支付宝二维码的一个小研究