①、支付宝接入

  1、开发前准备:申请一个通过实名认证的企业支付宝账号、下载SDK开发包、提供APP apk以备审核,审核通过后即可进行代码集成。

  2、流程

    流程图:

流程解释:

  1. app携带支付信息调用支付接口请求支付宝客户端调起支付界面;
  2. 用户操作,输入密码支付,支付成功;直接返回取消支付;出现错误,支付失败;进入支付界面,但输入密码支付,支付待确认;
  3. 支付宝客户端将支付结果告诉app客户端,商户服务器通知app服务器支付结果;
  4. app客户端处理支付结果;
  5. app服务器处理支付结果。

②、微信支付接入

  1、开发前准备:在微信开放平台上申请开发者帐户,申请移动应用,并且申请开通微信支付。经过一系列流程,开通会有邮件,得到对应的(1)开放平台APPID(2)商户号MCHID(3)商户密钥key、下载微信SDK开发包。

  2、流程:

流程解释:

      1. 客户端请求订单

      2.认证商户,获取access_token

      3、组装生成预定单所需参数并签名

      4、调用微信统一下单接口并传递参数,得到预订单号

      5、对得到的预定单参数再次签名

      6、调起微信支付并验证参数有效性

      7、验证通过,提示用户输入支付密码

      8、提交支付,异步返回支付结果和订单详情

      9、客户端同步跳转页面。

③、银联支付接入:

  1、开发前准备:商户与银联签约并支付费用,审核通过之后获取商户ID和秘钥、下载银联接入Demo、下载集成到APP中的SDK开发包                  (https://open.unionpay.com/ajweb/help/file)。

  2、流程图:

流程图解释:

  1. 用户在客户端中点击购买商品,客户端发起订单生成请求到商户后台;
  2. 商户后台收到订单生成请求后,按照《手机控件支付产品接口规范》组织并推送订单信息至银联后台;
  3. 银联后台接收订单信息并检查通过后,生成对应交易流水号(即TN),并回复至商户后台(应答要素:交易流水号等);
  4. 商户后台接收到交易流水号(TN),将交易流水号返回至客户端;
  5. 客户端通过交易流水号(TN)调用支付控件;
  6. 用户在支付控件中输入相关支付信息后,由支付控件向银联后台发起支付请求;
  7. 支付成功后,银联后台将支付结果通知给商户后台;
  8. 银联后台同时也将支付结果通知支付控件;
  9. 支付控件显示支付结果并将支付结果返回至客户端;

此处备注:我们是通过后台获取订单,我们可以根据商品id等信息通过后台接口获取订单信息,对订单支付流程的签名加密过程后台完成。