个人网站即时到账收款解决方案

时间:2024-04-17 09:34:44

原文发表于我的博客:https://blog.xu42.cn/2017/11/26/person-website-instant-payment-solution/

开源(有帮到你 就点下Star呗~):https://github.com/xu42/pay

演示:https://pay.xu42.cn

个人开发者要想给自己的产品(网站、APP等)接入支付宝、微信的即时到账接口,是有一定的门槛的,一般是需要公司资质,这也就阻碍了不少个人开发者的兴趣。市面上也有一些第三方聚合支付,但往往费率较高或是信赖度低。本文要介绍的就是一种个人可以接入的基于有赞云的解决方案。

前置条件

注册开发者

只需在有赞云进行个人开发者身份注册就可以了。

店铺授权

1.创建可授权店铺:微商城店铺(https://www.youzan.com/v2/account/team#/create)或者有赞微小店(https://h5.youzan.com/v2/index/wxdpc)都可以。前者面向商家提供功能完善的线上商城,后者面向个人提供分销商品和自营工具可免费使用;

2.应用授权:创建完店铺后,再登录到有赞云控制台创建自用型应用并授权刚创建的店铺;

3.设置推送网址:在有赞云控制台-推送服务(https://console.youzanyun.com/application/setting/developer)进行推送网址的设置,有赞云会将支付信息推送到这里设定的网址;

至此,完成前置条件,下面是开发相关的。

开发

依赖接口

依赖有赞云的两个接口和消息推送。

1.创建收款二维码:https://www.youzanyun.com/apilist/detail/grouptrade/payqrcode/youzan.pay.qrcode.create

2.获取单笔交易信息:https://www.youzanyun.com/apilist/detail/group_trade/trade/youzan.trade.get

3.交易信息推送:https://www.youzanyun.com/docs/guide/3401/3455

简要流程

简单介绍下开发流程/思路。

1.开发者在需要向用户展示收款链接或二维码的时候,调用 创建收款二维码接口(可创建可多次使用和仅能使用一次等多类型二维码),接口返回二维码信息(唯一id、链接和二维码),开发者需要自行创建用户身份和该二维码之间的关联关系;

2.当用户扫码后点击微信支付/支付宝支付,会收到 WAIT_BUYER_PAY等待支付事件消息,待用户完成支付会收到 TRADE_SUCCESS支付成功事件消息(更多事件消息可点击交易信息推送进行了解);

3.开发者收到的交易信息中的 id可理解为订单号,接着用此 id调用 获取单笔交易信息接口,该接口返回的信息TradeDetail 比较多,我们需要关心的是 qr_id字段,对应到第一步创建的收款二维码的唯一id,开发者即可关联到用户的支付状态并进行后续处理。

至此,了解了开发的流程,下面是一个简单的Demo。

Demo

基于上述分析,开发了一个简单的收款Demo。

前端:HTML5 WebSocket + Vue

后端:PHP + WorkerMan

开源:https://github.com/xu42/pay

点此来体验一把~:https://pay.xu42.cn/

欢迎留言交流~


相关文章推荐

 

PHP与微信支付那些事(公众号支付、扫描支付、企业付款、发红包)

 

通过生成支付二维码来实现微信支付的解决方案 - EasyWechat版

 

【译】程序员最应该上的网站