美文网首页IOS理论知识
支付宝支付流程。

支付宝支付流程。

作者: IceWall_Rin | 来源:发表于2017-09-07 09:16 被阅读70次

1.流程:1.app下订单提交给后台服务器生成订单信息,带有签名。2.提交上述返回数据到支付宝,唤起支付。3.支付宝向app返回支付结果。向服务端异步返回支付结果。

2.关于应用私钥和支付宝公钥

关于私钥,官方要求一定不能放到app客户端。

一定要配对。所谓配对就是选择一种算法的私钥,要使用对应的支付宝公钥。

在以前的api中,签名是在app端完成的。最新的api已不建议这样做。目前最新版本是15.3.5。签名放在服务器端完成,由服务器按照规则返回一个字符串。app端拿着这个串去调用支付宝支付。

需要注意的是,支付需要app状态是上线状态,否则只能使用沙箱测试。具体请看相关文档。

3.支付关键代码:

/**    * 支付宝支付    *@paramorderInfo    */privatevoidaliPay(finalString orderInfo){        Runnable payRunnable =newRunnable() {@Overridepublicvoidrun() {                PayTask alipay =newPayTask(getActivity());                Map result = alipay.payV2(orderInfo,true);                Message msg =newMessage();                msg.what =SDK_ALI_PAY_FLAG;                msg.obj = result;                mHandler.sendMessage(msg);            }        };        Thread payThread =newThread(payRunnable);        payThread.start();    }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

privateHandler mHandler =newHandler() {@SuppressWarnings("unused")publicvoidhandleMessage(Message msg) {switch(msg.what) {caseSDK_ALI_PAY_FLAG: {//支付宝支付PayResult payResult =newPayResult((Map) msg.obj);/**对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。*/String resultInfo = payResult.getResult();// 同步返回需要验证的信息String resultStatus = payResult.getResultStatus();// 判断resultStatus 为9000则代表支付成功if(TextUtils.equals(resultStatus,"9000")) {// 该笔订单是否真实支付成功,需要依赖服务端的异步通知。Toast.makeText(mContext,"支付成功", Toast.LENGTH_SHORT).show();                        getActivity().finish();                    }else{// 该笔订单真实的支付结果,需要依赖服务端的异步通知。Toast.makeText(mContext,"支付失败"+payResult.getResultStatus()+payResult.getResult(), Toast.LENGTH_LONG).show();                    }break;                }                ....          }      }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

如果你的项目中使用了混淆,还需做一下配置:

#支付宝支付混淆 sdk15.3.5-keep classcom.alipay.android.app.IAlixPay{*;}-keep classcom.alipay.android.app.IAlixPay$Stub{*;}-keep classcom.alipay.android.app.IRemoteServiceCallback{*;}-keep classcom.alipay.android.app.IRemoteServiceCallback$Stub{*;}-keep classcom.alipay.sdk.app.PayTask{ public *;}-keep classcom.alipay.sdk.app.AuthTask{ public *;}-dontwarncom.alipay.**

1

2

3

4

5

6

7

8

9

很简单。有空完善整个流程说明及详细的流程说明。

相关文章

  • Android支付宝支付集成

    Android支付宝支付 标签: android Android支付宝支付使用的流程介绍 支付宝流程介绍 支付宝流...

  • android 支付宝 接入流程总结

    支付宝接入流程 支付宝开发文档android集成流程新版支付宝接入流程 导入开发资源 将alipaySdk-xxx...

  • iOS支付

    支付宝支付 支付宝支付支付宝补充 微信支付 微信支付 内购 iOS开发 内购流程

  • Django开发教程(七)

    二十一、支付宝规则及支付流程 21.1网站与支付宝平台交互的原理: 21.2用户、网站、支付宝平台交互实现支付流程...

  • ## [iOS 支付宝支付]

    [iOS开发系列-支付宝支付] 概述 开发中支付通常都会集成支付宝支付,下面讲解支付宝的整体流程。 集成支付宝支付...

  • iOS 支付宝支付

    支付宝支付流程 支付宝的集成按着官方文档来 ios支付宝集成流程 签名呀注册AppKey 我们是由后台完成的App...

  • 支付宝获取userid(通过代理ip:port)

    支付宝获取userid的流程 支付宝授权流程图全过程支付宝用户授权流程图需要开发的关键点是:获取auth_code...

  • 三方支付流程总结

    支付宝支付和微信支付 支付宝支付流程图: 支付宝支付: 当我们选择点击了支付宝支付按钮开始 1.app选择商品进行...

  • 收录 : iOS支付开发

    iOS 银联支付开发流程iOS 微信支付开发流程iOS 支付宝支付开发流程iOS Apple Pay开发流程App...

  • iOS支付宝功能集成

    iOS快速集成支付宝详解/支付宝集成获取私钥与公钥 在集成支付宝功能前,我们必须了解下什么支付宝流程,下图是支付宝...

网友评论

本文标题:支付宝支付流程。

本文链接:https://www.haomeiwen.com/subject/zribjxtx.html