Android微信支付接入集成errCode-1解决

这两天,公司APP需要做商城,所以需要接入支付功能。看了一下微信的官方文档,大概知道了流程。首先由服务端集成。集成完之后,客户端这边请求接口,会返回相应的字段,然后客户端拿着这些字段调起微信支付,完成支付。
首先添加微信的依赖
compile'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:1.1.6'
然后,把demo里的payactivity拷贝过来。下面解释一下payactivity里的代码。

//把APP注册到微信
api= WXAPIFactory.createWXAPI(this,"APPID");
api.registerApp("APPID");
private void pay() {
String url ="your servlet";
Button payBtn = (Button) findViewById(R.id.appay_btn);
payBtn.setEnabled(false);
Toast.makeText(PayActivity.this,"获取订单中...", Toast.LENGTH_SHORT).show();
try{
byte[] buf = Util.httpGet(url);
if(buf !=null&& buf.length>0) {
String content =newString(buf);
Log.e("get server pay params:",content);
JSONObject json =newJSONObject(content);
if(null!= json && !json.has("retcode") ){
PayReq req =newPayReq();
//req.appId = "wxf8b4f85f3a794e77";  // 测试用appId
req.appId= json.getString("appid");
req.partnerId= json.getString("partnerid");
req.prepayId= json.getString("prepayid");
req.nonceStr= json.getString("noncestr");
req.timeStamp= json.getString("timestamp");
req.packageValue= json.getString("package");
req.sign= json.getString("sign");
req.extData="app data";// optional
Toast.makeText(PayActivity.this,"正常调起支付", Toast.LENGTH_SHORT).show();
// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
booleanb =api.sendReq(req);
}else{
Toast.makeText(PayActivity.this,"返回错误"+json.getString("retmsg"), Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(PayActivity.this,"服务器请求错误", Toast.LENGTH_SHORT).show();
}
}catch(Exception e){
Toast.makeText(PayActivity.this,"异常:"+e.getMessage(), Toast.LENGTH_SHORT).show();
}
payBtn.setEnabled(true);
}

这个方法就是微信Demo里,payactivity里主要的代码了。这里解释一下代码,url就是服务端集成完之后,给客户端调用的接口地址。会返回appId,parpayId.....拿到这些值给PayReq赋值,然后调用api.sendReq()调起支付。解释完代码,说一下可能遇到的问题。这些返回的参数,服务端是需要进行MD5加密的,如果没有加密,那么客户端拿到这些参数就需要进行加密。
成功调起微信支付后,会跳转到一个界面,这个界面是必须有的,而且必须在wxapi包下。相信做过微信分享的朋友都清楚。

@Override
public void onResp(BaseResp resp) {
if(resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
AlertDialog.Builder builder =newAlertDialog.Builder(this);
builder.setTitle(R.string.app_tip);
builder.setMessage(getString(R.string.pay_result_callback_msg, String.valueOf(resp.errCode)));
builder.show();
}
}

WXPayEntryActivity里代码比较简单,最重要的就是onResp方法了。resp.errCode是返回的错误码,微信给的描述比较模糊。-1的给的是可能的原因,让人摸不着头脑。我在集成的过程中,遇到三次-1。
1,在清单文件中,WXpayEntryActivity没有加filter。
2,签名的问题。在微信后台,我们会填写应用签名,相应的在调起微信支付,也需要用签名一致,而我们在开发的过程中,很可能用的debug的签名,所以也会报-1。
然后就是在调起微信支付的时候,还会有个一个附加的参数extdata。我们在这个界面可以用getIntent().getStringExtra("_wxapi_payresp_extdata");获取在那里传的值。
3,特批支付问题 ,走过很多弯路,正确的步骤是:给子商户邮件申请绑定appid,绑定成功后那个就是下单时的子商户appid,客户端不需要更改注册主商户appid,调起微信支付时appid用子商户

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 今日推荐 经常阅读博客是个好习惯推荐鸿洋CSDN的博客 微信支付相关文章 详细介绍Android开发集成微信支付(...
    MrQ_Android阅读 6,162评论 9 52
  • 准备工作: 需要公司的营业执照,税务信息,等老板的身份证信息等,我记得,用这些材料,去支付宝注册一个商家账户(审核...
    Hevin_Chen阅读 6,795评论 0 9
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,439评论 25 707
  • 前言:本篇文章目的在于梳理知识,巩固思想,学习总结。有什么好的建议,都可以留言。互相促进!总观,微信支付,也没心思...
    麦穗0615阅读 10,014评论 8 70
  • 只要用心,没什么坎过不去。既然舍不得,那就努力用心,反弹起来,相信一切都会好起来。无穷的智慧在指引着我,健全的身体...
    莫陌_fe50阅读 78评论 0 0