支付宝支付流程
来源:互联网 发布:淘宝评论上传不了图片 编辑:程序博客网 时间:2024/06/02 15:56
//点击支付按钮后,先请求协议
new Thread(new Runnable() { @Override public void run() { Message message; String floor = Util.GetsResult(Util.ApiUrl, getAliPayParam()); message = Message.obtain(handler, ACTION_GET_ALIPAY_INFO, floor); message.sendToTarget(); }}).start();
String getAliPayParam() { TreeMap<String, String> apiparamsMap = new TreeMap<String, String>(); apiparamsMap.put("orderid",ordercode); apiparamsMap.put("totalfee",cashNeedPay); String result = Util.ConnectSign("AliAppPay", apiparamsMap); return result; }
Handler handler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case ACTION_GET_ALIPAY_INFO: String alipayInfo = (String) msg.obj; OrderSucsseActivity.this.resolveAliPayInfo(alipayInfo); break;}
}
}
void resolveAliPayInfo(String alipayInfo) { AliPayModel baseResponse = JSON.parseObject(alipayInfo,AliPayModel.class); if (baseResponse.getCode() == 0) { String payInfo = baseResponse.getData(); final String orderInfo = payInfo; // 订单信息 Runnable payRunnable = new Runnable() { @Override public void run() { PayTask alipay = new PayTask(OrderSucsseActivity.this); Map<String, String> result = alipay.payV2(orderInfo, true); Log.i("msp", result.toString()); Message msg = new Message(); msg.what = SDK_PAY_FLAG; msg.obj = result; mHandler.sendMessage(msg); } }; // 必须异步调用 Thread payThread = new Thread(payRunnable); payThread.start(); }}private final Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case SDK_PAY_FLAG: { PayResult payResult = new PayResult((Map<String, String>) msg.obj); Log.w("ss","支付宝支付回调信息 = " + msg.obj); /** 对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。 */ String resultInfo = payResult.getResult();// 同步返回需要验证的信息 String resultStatus = payResult.getResultStatus(); // 判断resultStatus 为9000则代表支付成功 if (TextUtils.equals(resultStatus, "9000")) { // 该笔订单是否真实支付成功,需要依赖服务端的异步通知。 Toast.makeText(OrderSucsseActivity.this, "支付成功", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(OrderSucsseActivity.this, MyAllOrderActivity.class); intent.putExtra("strOrderType", 2); startActivity(intent); hasPay = true; } else { // 该笔订单真实的支付结果,需要依赖服务端的异步通知。 Toast.makeText(OrderSucsseActivity.this, "支付失败", Toast.LENGTH_SHORT).show(); } break; } default: break; } }};
0 0
- 支付宝支付流程
- 支付宝支付流程
- 支付宝支付流程
- 支付宝支付流程
- 支付宝支付流程
- 支付宝 支付流程
- 支付宝支付流程
- 支付宝支付流程
- 支付宝支付流程
- 支付宝支付流程
- 支付宝无线支付流程
- ios 支付宝支付流程
- ios 支付宝支付流程
- android支付宝支付流程
- 支付宝的支付流程
- 支付宝的支付流程
- 支付宝支付的流程
- iOS支付宝支付流程
- ORACLE转义字符的那点事
- 简单的Sping小例子
- MySql读写分离,及数据库高可用负载均衡的实现
- 利用iis虚拟目录实现文件服务器功能(分布式存储)
- Flume入门笔记------架构以及应用介绍
- 支付宝支付流程
- 堆排序
- android 性能方面的东东
- iOS接收远程通知
- Android Orientation Sensor(方向传感器)详解与应用
- Android集成环信3.0的easeui
- 12.09京东金融面试归来
- python sorted list 元组 多列排序
- 区块链基础:散列法 Hashing