拉起支付"/>
支付宝拉起支付
引入支付包SDK:
到官网地址选择下载Demo文件
在Demo文件里找到aar文件
把aar文件引入到项目里
拉起支付:
final Runnable payRunnable = new Runnable() {@Overridepublic void run() {PayTask alipay = new PayTask(LoginActivity.this);Map<String, String> result = alipay.payV2("后台返回的订单信息,里面除了订单ID等,还有签名等安全信息", true);Log.i("msp", result.toString());Message msg = new Message();msg.what = 1;msg.obj = result;mHandler.sendMessage(msg);}};// 必须异步调用Thread payThread = new Thread(payRunnable);payThread.start();
回调:
private Handler mHandler = new Handler() {@SuppressWarnings("unused")public void handleMessage(Message msg) {switch (((HashMap) msg.obj).get("resultStatus").toString()) {//这里接收支付宝的回调信息//需要注意的是,支付结果一定要调用自己的服务端来确定,不能通过支付宝的回调结果来判断case "9000"://订单支付成功,通知后台用户支付成功,然后后台去查询是否真的成功,如果真的成功,他去给用户充钱或者开权限,然后返回给你成功的标示,你再展示成功相应的页面break;case "8000"://正在处理中break;case "4000"://订单支付失败break;case "6001"://用户中途取消break;case "6002"://网络连接出错break;}ToastUtils.showLongToast(LoginActivity.this, ((HashMap) msg.obj).get("memo").toString());}};返回状态
((HashMap) msg.obj).get("resultStatus")
9000 订单支付成功
8000 正在处理中
4000 订单支付失败
6001 用户中途取消
6002 网络连接出错((HashMap) msg.obj).get("memo")
状态明文描述:类似“操作已经取消”等提示语
更多推荐
支付宝拉起支付
发布评论