alipay支付总结

                                                            转自:        https://doc.open.alipay.com/

申请流程

准备:

1.营业执照,APP说明文档,如开发者与签约者不一致需要提供开发合作协议;

2.提交签约信息(t填写商户经营信息,APP说明文档,商户联系人信息)

3.产品集成

集成

1.创建应用并获取APPID

2.配置密钥

3.继承并配置SDK

4.调用接口


集成详解

1.将alipay-sdk-common/alipaySdk-xxxxxxxx.jar包放入商户应用工程的libs目录下

2.

修改Manifest



在商户应用工程的AndroidManifest.xml文件里面添加声明:

1
2
3
4
5
6
7
8
9
10
11
12
<activity
             android:name= "com.alipay.sdk.app.H5PayActivity"
             android:configChanges= "orientation|keyboardHidden|navigation"
             android:exported= "false"
             android:screenOrientation= "behind" >
</activity>
<activity
             android:name= "com.alipay.sdk.auth.AuthActivity"
             android:configChanges= "orientation|keyboardHidden|navigation"
             android:exported= "false"
             android:screenOrientation= "behind" >
  </activity>

和权限声明:

1
2
3
4
5
<uses-permission android:name= "android.permission.INTERNET" />
<uses-permission android:name= "android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name= "android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name= "android.permission.READ_PHONE_STATE" />
<uses-permission android:n

添加混淆规则

在商户应用工程的proguard-project.txt里添加以下相关规则:

1
2
3
4
5
6
7
8
-libraryjars libs/alipaySDK- 20150602 .jar
 
-keep class com.alipay.android.app.IAlixPay{*;}
-keep class com.alipay.android.app.IAlixPay$Stub{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
-keep class com.alipay.sdk.app.PayTask{ public *;}
-keep class com.alipay.sdk.app.AuthTask{ public *;}

支付接口调用

需要在新线程中调用支付接口。(可参考alipay_demo实现)

获取PayTask支付对象调用支付(支付行为需要在独立的非ui线程中执行),代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
final String orderInfo = info;   // 订单信息
 
         Runnable payRunnable = new Runnable() {
 
             @Override
             public void run() {
                 PayTask alipay = new PayTask(DemoActivity. this );
                 String result = alipay.payV2(orderInfo, true );
 
                 Message msg = new Message();
                 msg.what = SDK_PAY_FLAG;
                 msg.obj = result;
                 mHandler.sendMessage(msg);
             }
         };
          // 必须异步调用
         Thread payThread = new Thread(payRunnable);
         payThread.start();

支付结果获取和处理

调用pay方法支付后,将通过2种途径获得支付结果:

同步返回
商户应用客户端通过当前调用支付的Activity的Handler对象,通过它的回调函数获取支付结果。(可参考alipay_demo实现)
代码示例:

1
2
3
4
5
6
7
private Handler mHandler = new Handler() {
         public void handleMessage(Message msg) {
             Result result = new Result((String) msg.obj);
             Toast.makeText(DemoActivity. this , result.getResult(),
                         Toast.LENGTH_LONG).show();
         };
     };

异步通知
商户需要提供一个http协议的接口,包含在请求支付的入参中,其key对应notify_url。支付宝服务器在支付完成后,会以POST方式调用notify_url传输数据。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值