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

前置条件

注册开发者

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

店铺授权

  1. 创建可授权店铺: 微商城店铺 或者 有赞微小店 都可以。前者面向商家提供功能完善的线上商城,后者面向个人提供分销商品和自营工具可免费使用;
  2. 应用授权: 创建完店铺后,再登录到有赞云控制台创建自用型应用并授权刚创建的店铺;
  3. 设置推送网址: 在有赞云控制台-推送服务 进行推送网址的设置,有赞云会将支付信息推送到这里设定的网址;
    至此,完成前置条件,下面是开发相关的。

开发

依赖接口

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

  1. 创建收款二维码
  2. 获取单笔交易信息
  3. 交易信息推送

简要流程

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

  1. 开发者在需要向用户展示收款链接或二维码的时候,调用创建收款二维码接口(可创建可多次使用和仅能使用一次等多类型二维码),接口返回二维码信息(唯一id、链接和二维码),开发者需要自行创建用户身份和该二维码之间的关联关系;
  2. 当用户扫码后点击微信支付/支付宝支付,会收到WAIT_BUYER_PAY等待支付事件消息,待用户完成支付会收到TRADE_SUCCESS支付成功事件消息(更多事件消息可点击交易信息推送进行了解);
  3. 开发者收到的交易信息中的id可理解为订单号,接着用此id调用获取单笔交易信息接口,该接口返回的信息TradeDetail 比较多,我们需要关心的是qr_id字段,对应到第一步创建的收款二维码的唯一id,开发者即可关联到用户的支付状态并进行后续处理;
    至此,了解了开发的流程,下面是一个简单的Demo。

Demo

基于上述分析,开发了一个简单的收款Demo。
前端:HTML5 WebSocket + Vue
后端:PHP + WorkerMan
源码整理后会尽快开源: GitHub

点此来体验一把~

欢迎留言交流~