经过了千辛万苦,,终于集成了支付宝支付业务,,,
和后台商量,,获取到订单号
然后:
这个呢是支付宝的
public void payV2(View v) {
OkHttpClient client = new OkHttpClient();
FormBody formBody = new FormBody
.Builder()
.add("orderCode", orderCode)
.build();
final Request request = new Request
.Builder()
.addHeader("Cookie", "JSESSIONID=" + sessionid)
.url(Api.ALLURL + "Alipay/Alipayment.action")
.post(formBody).build();
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
final String responseStr = response.body().string();
runOnUiThread(new Runnable() {
@Override
public void run() {
Gson gson = new Gson();
ZhifubaoBean zhifubaoBean = gson.fromJson(responseStr, ZhifubaoBean.class);
String msg = zhifubaoBean.getMsg();
orderInfo = msg;
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(JishiyiActivity.this);
Map<String, String> stringStringMap = alipay.payV2(orderInfo, true);
Message msg = new Message();
msg.what = 1;
msg.obj = stringStringMap;
mHandler.sendMessage(msg);
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();
}
});
}
});
}
这个和支付宝配套使用
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
@SuppressWarnings("unused")
public void handleMessage(Message msg) {
switch (msg.what) {
case 1: {
@SuppressWarnings("unchecked")
PayResult payResult = new PayResult((Map<String, String>) msg.obj);
String resultInfo = payResult.getResult();
String resultStatus = payResult.getResultStatus();
if (TextUtils.equals(resultStatus, "9000")) {
Toast.makeText(JishiyiActivity.this, "支付成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(JishiyiActivity.this, "支付失败", Toast.LENGTH_SHORT).show();
}
dialog.dissmiss();
break;
}
default:
break;
}
}
;
};
这个呢是微信的
public void getFaBuOrder() {
ApiServer server = RetrofitUtils.newInstance().create(ApiServer.class, Api.ALLURL);
Observable<WeixinBean> getdata = server.getWeiXinReq(Api.WXCHATPAY, "JSESSIONID=" + sessionid, orderCode);
getdata.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableObserver<WeixinBean>() {
@Override
public void onNext(WeixinBean weixinBean) {
PayReq req = new PayReq();
Toast.makeText(JishiyiActivity.this, weixinBean.getMsg().getSign() + "--" + weixinBean.getMsg().getPartnerid(), Toast.LENGTH_SHORT).show();
req.appId = weixinBean.getMsg().getAppid();
req.partnerId = weixinBean.getMsg().getPartnerid();
req.prepayId = weixinBean.getMsg().getPrepayid();
req.nonceStr = weixinBean.getMsg().getNoncestr();
req.timeStamp = weixinBean.getMsg().getTimestamp() + "";
req.packageValue = weixinBean.getMsg().getPackageX();
req.sign = weixinBean.getMsg().getSign();
msgApi.sendReq(req);
}
@Override
public void onError(Throwable e) {
Toast.makeText(JishiyiActivity.this, "dddcdc" + e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete() {
}
});
}