说出来你们可能不信,查阅了大量资料,借鉴了各路大神,后来发现……
1 copy jar包, 这个很简单吧
2 比如充话费: 冲多少 谁冲的 给谁冲 发给服务器,服务器返回一个加签过的字符串!
对,你没有看错,这个字符串里包含了商户的Appid ,支付宝账号,商品的描述 价钱 金钱数量 回调的网址…………你只需要发起支付请求!
服务器返回的字符串: orderstr
Runnable payRunnable = new Runnable() {
@Override
public void run() {
// 构造PayTask 对象
PayTask alipay = new PayTask(getActivity());
// 调用支付接口,获取支付结果
String result = alipay.pay(orderstr, true);
Message msg = new Message();
msg.what = SDK_PAY_FLAG;
msg.obj = result;
System.out.println("result" + result);
handler.sendMessage(msg);
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();
如果还有什么要问的,就是对返回结果的判断:
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1231:
String res = (String) msg.obj;
Log.i("log", "建涛: 充值话费" + res);
if ("9000".equals(res)) {
ToastUtil.showToast("支付成功");
} else if (("8000").equals(res)) {
ToastUtil.showToast("正在支付");
} else if ("6001".equals(res)) {
ToastUtil.showToast("取消成功");
}
break;
}
}
};
从没见过这么简单的,不用怀疑,就是这样的。