微信V3支付(避免重复进入这个坑)

微信支付遇到了无数的坑,总算是一个个解决了,官方文档真是让人郁闷到死,不多说,直接上代码。

一.生成预支付订单

private StringBuffer strbuffer;
private Map<String,String> resultunifiedorder;
private final IWXAPI msgApi = WXAPIFactory.createWXAPI(this, null);

1.1准备工作

strbuffer=new StringBuffer();
msgApi.registerApp(Constants.APP_ID);
GetPrepayIdTask getPrepayId = new GetPrepayIdTask();
getPrepayId.execute();
 

1.2GetPrepayIdTask 

//1.获取预支付订单编号
 private class GetPrepayIdTask extends AsyncTask<Void, Void, Map<String,String>> {

     private ProgressDialog dialog;


     @Override
     protected void onPreExecute() {
         dialog = ProgressDialog.show(EShopWEIXIN_EPAYActivity.this, "提示", "正在获取预支付订单...");
     }

     @Override
     protected void onPostExecute(Map<String,String> result) {
         if (dialog != null) {
             dialog.dismiss();
         }
	resultunifiedorder=result;

         if(result.get("return_code").contentEquals("SUCCESS") ){
 //预支付成功
             genPayReq();//2生成签名参数
            
         }
         strbuffer.append("prepay_id\n"+result.get("prepay_id")+"\n\n");
     }

     @Override
     protected void onCancelled() {
         super.onCancelled();
     }

     @Override
     protected Map<String,String>  doInBackground(Void... params) {

         String url = String.format("https://api.mch.weixin.qq.com/pay/unifiedorder");
         String entity = genProductArgs();//生成预支付订单请求

         Log.e("orion",entity);

         byte[] buf = WXUtil.httpPost(url, entity);//提交预支付订单

         String content = new String(buf);
         Log.e("orion", content);
         Map<String,String> xml=decodeXml(content);

         return xml;
     }
 }
 
1.3生成预支付订单请求
 
private String genProductArgs() {
      S
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值