A免签+易支付对接过程,适用于独立个人开发者的收款方式

对于需要接入支付功能的app或者博客、资源站来说,申请一个支付通道,过于麻烦,每年还需要申报公司税务等等

如果只是个人搭建的博客站,或者资源站、线下收费等小额场景,可以使用免签服务。

申请账号获取参数

市面上许多的发卡平台,如 zfaka、风铃发卡、独角数卡等,都支持使用易支付。易支付接口绝大多数平台都兼容支持

如果自己搭建发卡平台,或者自建公众号等资源站,只需要前往平台注册账号即可,

免签易支付平台: https://a.zwc365.com

注册完成后,都会提供一个 appId 以及 key , 这两个参数各家平台命名不一样,可能叫 pid 或者 key 但本质都是一个东西。

如果有技术能力,可以自行搭建开源的 V免签

服务器接入

对于拥有博客服务器的来说,接入主要实现两个接口:

  • 一个是创建订单。用于生成订单请求。
  • 二是通知接口,用于支付成功后,后续处理

客户端接入

如果是个人开发者的 app,没有服务器,或者使用的是 autojs 等脚本文件,单独去购买服务器,搭建、运维等,成本高,也不一定有能力完成。有第二个方案,同样需要实现两个接口 :

  • 一个是创建订单。用于生成订单请求。
  • 二是轮询查询订单,看是否完成订单支付

第二种方式相对第一种安全性降低。由于没有自己的服务器参与,可能存在客户端被破解、被篡改等问题。推荐第一种服务器接入

创建订单接口

接口:/createOrder

创建订单需要提供参数,以及签名,防止数据篡改,

参数参数类型参数说明
appId字符串【必传】商户唯一识别号
payId字符串【必传】商户订单号,可以是时间戳,不可重复
type整数【必传】微信支付传入1 支付宝支付传入2
price小数【必传】订单金额
sign字符串【必传】签名,计算方式为 md5(payId+param+type+price+通讯密钥)
param字符串【可选】传输参数,将会原样返回到异步和同步通知接口
notifyUrl字符串【可选】传输参数,支付成功后的同步通知接口
returnUrl字符串【可选】传输参数,支付成功后的同步通知接口
isHtml整数【可选】传入1则自动跳转到支付页面,否则返回创建结果的json数据

如果没有服务器,纯客户端创建订单isHtml 传入 0 ,然后获取 json 数据,再保存其中的 .data 节点下的 orderId ,通过 orderId 轮询,判断订单是否完成

获取完成通知

服务器接入方式:在生成订单的时候,需要填入 notifyUrl , 当订单完成时,会发送通知到这个链接中,通知参数如下:

payId字符串商户订单号
param字符串创建订单的时候传入的参数
type整数支付方式 :微信支付为1 支付宝支付为2
price小数订单金额
reallyPrice小数实际支付金额
sign字符串校验签名,计算方式 = md5(payId + param + type + price + reallyPrice + 通讯密钥)

一般传入了 notifyUrl 链接的,意味着是服务端创建订单并搭建。所以必须校验 sign 签名确保安全。

轮询订单判断是否完成

以前面提到的为例,如果是以 客户端接入 的方式,没有服务器的 notifyUrl 参数。那么可以通过查询接口,查看之前创建的订单是否完成,涉及到的参数只有一个:orderId ,这个 orderId 就是之前创建订单时,返回的一个参数

查询方式:/getOrder

返回参数参数类型参数说明
code整数返回代码(1:成功,-1:调用失败)
msg字符串api调用结果说明
data数组api调用结果(如果code为-1,则data为null)
返回参数参数类型参数说明
payId字符串商户订单号
orderId字符串云端订单号,可用于查询订单是否支付成功
payType整数微信支付为1 支付宝支付为2
price小数订单金额
reallyPrice小数实际需付金额
payUrl字符串支付二维码内容
isAuto整数1需要手动输入金额 0扫码后自动输入金额
state整数订单状态:-1 订单过期 0 等待支付 1 完成 2 支付完成但通知失败
timeOut整数订单有效时间(分钟)
date长整数订单创建时间时间戳(13位)

每个支付平台参数都不一样,仅供参考。通过返回字段的 data 中的 state 可以得知,订单是否已经完成。由于是客户端接入,通知服务必定失败。所以,当订单状态为 1 或者订单状态为 2 时,可以视为订单完成。

通过客户端接入,可以 0 成本的接入收款系统,但也正是由于客户端接入,生成订单的 pid 已经 key 都是需要保存在客户端代码中,所以风险也很高,需要自行评估这种接入方式的 破解、篡改成本。

最近使用了 AutoJs 编写了很多脚本文件,对于 AutoJs 来说,可以使用客户端接入方式,直接生成订单。不需要额外成本。但是脚本文件一定要使用 js 加密工具处理

  • 30
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值