第三方集成---支付宝集成与使用

 

先为大家上官方的链接:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId=4#ps-tabinfo-hash 

1.先导入jar包。

https://docs.open.alipay.com/54/104509/

2.第二步:修改AndroidManifest.xml清单
1) 声明必要Activity
<!--支付相关-->
 <activity
     android:name="com.alipay.sdk.app.H5PayActivity" android:configChanges="orientation|keyboardHidden|navigation"
     android:exported="false" android:screenOrientation="behind" />
 <activity
     android:name="com.alipay.sdk.auth.AuthActivity" android:configChanges="orientation|keyboardHidden|navigation"
     android:exported="false" android:screenOrientation="behind" />

2) 添加必要权限

<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />

3.使用代码

//必须异步调用 
Runnable payRunnable = new Runnable() {
    @Override
    public void run() {
        PayTask alipay = new PayTask(context);
     // String result = payTask.pay(signInfo, true);
        Map<String, String> result = alipay.payV2(signInfo, true);  //sign 加密支付信息
        Message msg = new Message();
        msg.what = 0;
        msg.obj = result;
        mHandler.sendMessage(msg);
    }
};
Thread payThread = new Thread(payRunnable);
payThread.start();

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

4.设置回传

Handler mHandler =new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        switch (msg.what){
            case SDK_PAY_FLAG:
                PayResult payResult = null;
                        try{
                            payResult = new PayResult((Map<String, String>) msg.obj);
                        }catch (Exception e){
                            e.printStackTrace();
                        }


                /**
                 对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。
                 */
                String resultInfo = payResult.getResult();// 同步返回需要验证的信息
                String resultStatus = payResult.getResultStatus();
                // 判断resultStatus 为9000则代表支付成功
                if (TextUtils.equals(resultStatus, PAY_OK)) {//----------------------------------->支付成功
                    // 该笔订单是否真实支付成功,需要依赖服务端的异步通知。
                    toast.( "购买服务成功");
                } else if (TextUtils.equals(resultStatus, PAY_FAILED)) {//------------------------->支付失败
                    // 该笔订单真实的支付结果,需要依赖服务端的异步通知。
                   toast.(""+payResult.getMemo());
                } else if (TextUtils.equals(resultStatus, PAY_CANCLE)) {//-------------------------->交易取消
                  toast.(""+payResult.getMemo());
                } else if (TextUtils.equals(resultStatus, PAY_NET_ERR)) {//------------------------->网络出现错误
                 toast.(""+payResult.getMemo());
                } else if (TextUtils.equals(resultStatus, PAY_WAIT_CONFIRM)) {//--------------------->交替等待
                }
                break;
        }
    }

 

文章到这里就结束了!

写这篇博客是为了以后好复制粘贴快速集成。

看我博客的小伙伴们直接cv,你就会发现很神奇,支付宝集成支付如此简单,关注我的博客后续我会继续发神奇的cv文章(鲜花在哪里,掌声在哪里)!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值