参考支付宝生活号:无锡外国语学院
- 学校支付宝开户
- 学校授权平台代学校调用支付宝接口(手机网站支付快速接入)
- 授权链接
- 用户选择学校
- 获取身份信息 (支付宝会员授权信息查询接口)
- 用户填写一卡通账号,姓名
- 验证一卡通账号是否正确(接口名:
GetPersonInfo)
- 学生或者家长访问生活号
- 平台通过匹配用户的身份信息确定学校 (支付宝会员授权信息查询接口)
- 用户点卡充值,完成支付宝付款(手机网站支付快速接入)
- 平台接收支付宝付款异步通知
- 平台处理订单状态,回调一卡通上账接口(接口名:
Recharge)
支付宝方案:https://doc.open.alipay.com/docs/doc.htm?docType=1&articleId=108978#
- 获取用户信息-免授权模式(https://docs.open.alipay.com/284/106001/)
- 支付宝小额免密签约(商户代扣2.0接口,参考demo生成授权链接)
- 学校或者一卡通提供学生数据:姓名、身份证、学校、是否为学生
- 通过支付宝接口获取用户身份证、手机号码信息
- 判断信息是否存在,如果存在,调用一卡通绑卡接口
- 如果不存在,提供使用绑定学生信息,填写学生姓名、身份证
- 用户选择学校(已经签约后,通过支付宝userid获取学校)
- 获取用户信息-需授权模式(https://docs.open.alipay.com/284/106001/)
- 用户填写一卡通账号、姓名、手机号码、身份证号码(手机号码和身份证号码从支付宝特殊接口获取,目前还没有此接口)
- 验证一卡通账号是否正确(接口名:
GetPersonInfo,返回姓名,identity,status,验证姓名是否正确,状态是否为正常) - 调用一卡通绑定支付宝授权信息(接口名:
ZFB_BindDoc,password 随机生成,一卡通厂商接口设计得不好)
https://docs.open.alipay.com/289/105656
scope填写auth_base,这样不需要用户授权,只获得user_id(支付宝用户唯一标识符)
-
用户在学校pos机上刷卡
-
通过物联网网关访问平台代扣接口
-
平台收到请求,判断用户是否有代扣失败的订单,有则返回失败,没有返回成功。
-
平台异步访问支付宝代扣,代扣失败则按照时间间隔发起代扣请求。
-
一卡通物联网网关访问平台接口异常处理:
- 网络读取超时,需要使用原交易号发起新的请求,由平台做幂等性控制。
- 网络连接超时,由一卡通平台决定是否要向平台发起请求(使用原交易号)或者直接调用一卡通余额付款。
- 通过调用一卡通GetPersonDetails接口获取用户消费记录
Loss接口
ZFB_UnBindDoc接口,其中密码使用绑卡密码
-
判断用户是否支付宝签约,没有签约走原来的逻辑
-
访问代扣接口
-
返回成功,则代扣成功
-
返回失败,则代扣失败,走原来逻辑扣款
-
接口异常处理:
- 网络读取超时,需要使用原交易号发起新的请求,由平台做幂等性控制。
- 网络连接超时,由一卡通平台决定是否要向平台发起请求(使用原交易号)或者直接调用一卡通余额付款。