支付宝预授权开发教程

在共享盛行的今天,我们在很多场景下,如果我们要享受某些共享红利,必须支付一定的押金。支付宝作为人们日常生活中不可缺少的一部分,推出来预授权功能,用户在支付宝上的信用分满足一定条件的要求下,信用分可以抵扣全部或者部分的押金,超出的金额,可以从花呗/余额/余额宝扣除,用户享受完共享产品后,金额会进行解冻。

一.准备工作:

1.阅读蚂蚁金服开发文档以及教程:

https://docs.open.alipay.com/20180417160701241302里面包含了参数的说明。

2.预授权流程简介:

预授权流程

2.1.图上1开头的步骤,主要是实现了app到商户后台,请求支付宝预授权签名;
2.2.图上2开头的步骤,将支付宝签名和必要的参数,通过支付宝sdk接口,调起支付宝app;
2.3.图上3开头的步骤,用户在支付宝上进行预授权操作;
2.4.图上4和5开头的步骤,用户从支付宝app返回到商户app,支付宝把支付结果返回给商户的前后台;
2.5.图6,7和8的步骤,是结束预授权,解冻的过程。
注意:在生成签名的时候,可能需要传一些预授权的特殊参数:extra_Param={"category":"xxx","outStoreCode":"code0011","outStoreAlias":"codeName"}扩展参数,category为业务分类,outStoreCode选填参数,outStoreAlias选填参数,outStoreAlias将在用户端信用守护、支付信息、账单详情页展示;enablePayChannels为选填字段,可以指定支付渠道,若需要指定渠道,可以传入具体的某个渠道参数,目前仅支持余额宝(MONEY_FUND)、花呗(PCREDIT_PAY)以及芝麻信用(CREDITZHIMA)

3.客户端开发步骤:

3.1.导入支付宝SDK,具体可以参考https://docs.open.alipay.com/204/105295/;
3.2.支付宝预授权接口

-(void)payOrder:(NSString *)orderStr
     fromScheme:(NSString *)schemeStr
             callback:(CompletionBlock)completionBlock
  • orderStr:商户后台返回的支付宝签名;
  • schemeStr:用于跳转的urlScheme;
  • completionBlock:结果回调。

4.客户端获取支付结果:

4.1.通过urlSchem返回走appDelegate中application(这里要区分iOS9之前和之后的方法);返回9000为成功,8000位在支付中,6001为用户取消。
4.2.用户从后台返回,这里就需要查询商户后台,获取支付结果。

5.架构设计

与云闪付存在异曲同工之处,可以参考https://www.jianshu.com/p/16f609c70a01。

你可能感兴趣的:(支付宝预授权开发教程)