国际支付 Superpay、Paypal、Braintree、Stripe

2019年做了个海外的商城项目,年底接触到国际支付,分别接触到的是 Superpay、Paypal、Braintree、Stripe,说下我的认识、与后台交互的大致流程:

  • Superpay 是将微信、支付宝支付 国际化,将人民币转换成外币。支付流程和微信支付宝差不多的:
    1、前端向后台下单拿到 orderid;
    2、前端选择Superpay支付渠道(微信或支付宝) 将 orderid 和支付渠道传给后台,由后台去superpay 下单;
    3、后台生成订单后,将订单相关信息传给前端,这里拿到的是一串 string,再将string 传到 superpay sdk 中,唤起对应的渠道进行支付。支付成功后,前端会走回调方法, superpay 也会通知后台进行更新订单。
    4、前端做个轮询查询订单状态,更新界面。

  • Paypal :相当于我们国内的支付宝,支持平台支付和卡支付,但是卡支付只能是美国账号才有。并且SDK 已经废弃了,在iOS 13支付界面也错乱了,官方Git 已说明,并推荐使用 Braintree 支付。支付流程:
    1、前端向后台下单拿到 orderid,选择paypal 支付
    2、前端将价格、描述和货币类型(不支持RMB) 传给 Paypal SDK 并生成订单,这中间需要登录 paypal账号
    3、paypal 生成订单后,点击支付,paypal 走代理方法通知支付结果
    4、支付成功后将拿到 payid , 前端将 payid 和 业务逻辑的 orderid 一并传给后台,进行更新业务订单状态。
    注意: 前端去创建paypal 订单并支付成功后,再通知后台更新业务订单状态。

  • Braintree:Paypal旗下的服务 支持卡支付。国外使用比较多的支付方式。(但是公司一直没申请下来~,用了测试环境调试了一下。)支付流程和 paypal 是差不多的:
    1、前端向后台下单拿到 orderid;
    2、选择braintree 支付,前端将价格和货币类型(不支持RMB) 传给braintree SDK 并生成订单;braintree 集合了多种支付方式,根据需求去选择api,我这里用到的是免登陆的一次性卡支付。调起braintree 支付页面后,填写卡信息,并支付
    3、braintree 支付成功后 走代理方法通知前端支付结果;
    4、支付成功后将拿到 nonce, 前端将 nonce 、支付金额 和 业务的 orderid 一并传给后台,进行更新业务订单状态。
    注意: 前端去创建paypal 订单并支付成功后,再通知后台更新业务订单状态。

  • Stripe: Stripe是由20多岁的两兄弟Patrick Collison和John Collison创办的Stripe为公司提供网上支付的解决方案。Stripe向服务的公司收取每笔交易的2.9%加上30美分的手续费。【百度百科】的,大致流程:
    1、前端向后台下单拿到 orderid;
    2、前端选择stripe 支付, 请求后台接口获取 client_secret (带上参数 orderid);
    3、拿到 client_secret 后带上客户输入的卡号信息 一并提交给 stripe SDK进行支付 ;
    4、支付成功后,前端会走回调方法, superpay 也会通知后台进行更新订单。
    5、前端做个轮询查询订单状态,更新界面。

大概流程,仅供参考,不一定是正确。


接入笔记:
Stripe 大致接入流程

你可能感兴趣的:(iOS)