关于微信支付
来源:互联网 发布:起名软件 编辑:程序博客网 时间:2024/05/16 13:55
final String tv_paytype;api = WXAPIFactory.createWXAPI(BuyActivity.this, APP_ID, false);api.registerApp(APP_ID);if (paytype.equals("1")) { //纯微信 paytype = "4"; tv_paytype = "微信支付";} else { //都有 paytype = "5"; tv_paytype = "微信支付+K币";}BigDecimal b = new BigDecimal(payprice);double payprice1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();OkGoUtils.getInstance().getOrderParameterW(MyApplication.CallResult.appkey, couponNumber, youhuijia, bi, MyApplication.CallResult.email, rowsBean.id + "", rowsBean.name, paytype, MyApplication.CallResult.phone, new Double(Double.valueOf(payprice1 + "") * 100).intValue() + "", "", rowsBean.personalprice + "", "", MyApplication.CallResult.id + "", MyApplication.CallResult.username, new OkGoUtils.HttpEngineListener() { @Override public void onSuccess(String s1, HashMap<String, Object> s) { Log.e("aaaaa", s1); WxPayBean wxPayBean = parseJsonToBean(s1, WxPayBean.class); if (wxPayBean.result == 0) { SortedMap<String, Object> params = new TreeMap<String, Object>(); wxdata = wxPayBean.data; api = WXAPIFactory.createWXAPI(BuyActivity.this, null); api.registerApp(APP_ID); // 检测是否有微信软件 if (isWeixinAvilible(BuyActivity.this)) { PayReq request = new PayReq(); request.appId = APP_ID; request.nonceStr = wxdata.nonce_str; request.packageValue = "Sign=WXPay"; request.partnerId = "*******"; request.prepayId = wxdata.prepay_id; Log.e("aaaaa", "wxdata.prepay_id:" + wxdata.prepay_id); request.timeStamp = (System.currentTimeMillis() / 1000) + ""; Log.e("aaaaa", "sj" + request.timeStamp); Log.e("aaaaa", "nonce_str" + wxdata.nonce_str); params.put("appid", request.appId); params.put("partnerid", request.partnerId);//商户号 params.put("prepayid", request.prepayId); params.put("package", request.packageValue); params.put("noncestr", request.nonceStr); params.put("timestamp", request.timeStamp); String sign = createSign(params); request.sign = sign; request.extData = "app data"; Log.e("aaaaa", "wxdata.sign:" + request.sign); SharedPreferences order = getSharedPreferences("order", 0); order.edit().putString("name_product", wxdata.name_product).commit(); order.edit().putString("timestamp1", wxdata.timestamp1).commit(); order.edit().putString("trade_no", wxdata.trade_no).commit(); order.edit().putString("style_pay", tv_paytype).commit(); order.edit().putString("useyouhui", discountid).commit(); String string = Utils.Object2String(rowsBean); order.edit().putString("aa", string); order.edit().commit(); api.sendReq(request); finish(); } else { ToastUtil.show(BuyActivity.this, "亲,您还没有安装微信"); } } } @Override public void onErroe(okhttp3.Call call, Exception e) { }});
获取预支付订单后,还要对参数进行MD5签名(服务端和本地做应该是都可以的),否则返回-1会造成支付失败。其他的参数按照文档来就可以了。
阅读全文
0 0
- 关于微信支付
- 关于微信支付
- 关于微信支付
- 关于微信支付
- 关于微信支付
- 关于微信支付
- 关于微信支付
- 关于微信支付
- 关于支付(支付宝和微信)
- iOS-关于微信支付
- [iOS]关于微信支付
- 关于微信支付 支付宝支付价格精度问题
- Android中关于微信支付和支付宝支付
- 关于ios支付(阿里,微信)
- 关于微信支付报错
- 关于微信支付的error code
- 关于微信PC扫码支付
- 关于微信支付ios的问题
- Spring RestTemplate详解
- XVII Open Cup named after E.V. Pankratiev. Eastern Grand Prix. Problem F. Buddy Numbers 贪心、数论、构造
- 仿掘金项目介绍
- 欢迎使用CSDN-markdown编辑器
- android studio 的Debug调试
- 关于微信支付
- 基于stm32的RT-Thread操作系统+J-link V9虚拟串口调试操作
- 如何给思维导图MindMaster添加自定义图标?
- js-计算器实现
- 【web前端】可筛选[输入搜索]的select(重写)
- 深入讲解Android Property机制
- 编译后ijkplayer使用文档
- 数据蒋堂 | JOIN提速
- 关于Android23以上权限管理神器!RxPermission的简单介绍