支付开发总结

该图片由Susan Cipriano在Pixabay上发布

前言

最近APP中对接了支付宝APP支付,微信APP支付,小程序支付,对此做一些总结

遇到的问题

支付宝

支付宝APP支付相对来说是最简单的了,接口都是SDK里面的,自己只需要调接口,传参数就行,在加自己的业务逻辑就行了;

需要注意的是回调验签的那个,是支付宝公匙,不是应用公匙;应用公匙私匙都是自己生成的;

微信APP支付与小程序支付

微信支付就有点坑了:

  1. 需要自己签名,验证签名比较麻烦
  2. 小程序支付与微信APP支付,两者的第一次签名需要的参数是一样的,但是trade_type的值不一样,还有就是第二次签名所需要的参数及参数名就完全不一样了
  3. 回调处理,注意重复回调
  4. 注意开发时,先让运营或者相关负责人开通支付相关的功能(自己开发小程序支付时发现未开通小程序支付,自己开通的流程也不清楚,浪费了一部分时间去后台开通)
  5. 目前遇到的微信支付的最大的坑就是文档写得稀里糊涂的有些找不到,以及某些签名需要哪些属性以及字符是否满足驼峰式

苹果支付

  1. 注意一

苹果支付跟上面几者完全不一样

  • 分产品种类,虚拟的只能使用苹果支付,其它实体的(例如线下预约)可以调用其它支付
  • 虚拟种类的产品信息需要相应苹果开发者的账号去苹果后台去录入;
  1. 注意二

苹果支付就比较无奈了,因为苹果支付不需要走自己的服务,所有的流程都在苹果系统自己处理了,唯一的一点就是苹果支付完成后会有一个字符串,然后自己的服务器要访问相关的网址去验证该字段;,而且验证相对麻烦,详细验证流程这里就不说了;

  1. 注意三

因为苹果支付需要单独在苹果后台单独录入,且苹果需收手续费,导致苹果端价不一样,开发时注意是否需要将苹果的价格单独设置属性;所以需要保持自己的后台与苹果后台的价格一致;

  1. 注意四

苹果APP审核需要支持游客支付,也就是用户不用登陆也可以购买产品,这个是与手机的机器码绑定的;具体怎么处理还得看自己的业务

  1. 注意五

苹果APP中的产品的上架,苹果的产品得到苹果后台去上架;

总结

  • 支付这个主要还是流程,流程熟悉了,开发不需要多久时间,代码都是现成的,只需要配置相关的配置就行;
  • 还有就是注意重复提交,比如重复回调(通知);
  • 注意业务流程开发
  • 本地开发调试时,注意回调地址是否可以回调,是否需要将本地回调地址映射到公网(使用代理或内网穿透)
  • 针对Android与ios中的产品,可以使用充值模式,就是ios和Android都是以充值的形式购买系统积分(类似虚拟代币),然后在用统一的积分购买产品,这样苹果就只需要充值就行了,其他的购买流程则不参与苹果支付,而且就不用在苹果后台去输入每个产品的信息了;
坚持原创技术分享,您的支持将鼓励我继续创作!