android微信支付的实现

微信支付虽说要300审核费,但是提交的材料相比较于支付宝还是挺少的!

使用微信支付的接口,首先在微信开放平台上注册,申请成为开发者(需要300元/年),然后微信会给你发送邮件内容为商户的登录账号和密码(自己保存一下,看过后可能会自动删除),如果仅仅是使用微信支付,在申请应用时你需要输入应用的

应用签名:(即32位MD5,注意一定要与软件使用的key.store保持一致)

包名:(使用微信支付的APP包名),根据微信的提示,进行下一步

你还需要准备的材料有 APP_ID(你申请应用时会给你 AppID和AppSecret,而APPSecret我在使用时没有用到 )、MCH_ID(分给你的商户ID)和API_KEY(商户密钥,这个东西需要你登录商户平台自己设置),如果你得到了这三样东西你就已经成功了一半。

下载微信提供的android demo,在eclipse中打开,下面非常重要,你需要修改的东西有:

(1)Constants.java中的三个常量,对应我们上面提到过的三个材料

(2)AndroidManifest.xml 中的<data android:scheme="****"/>把他修改为Constants.java中APP_ID所代表的常量。

(3)申请应用时的应用签名和包名保持一致。比如微信提供的demo的包名为com.weixin.paydemo,如果我想用它作为测试demo,则申请应用的包名必须为com.weixin.paydemo;对于应用签名,使用eclipse导出apk格式的文件时,我新建了一个key.store,得到了32位MD5字符串,修改应用签名为这个32位MD5字符串。


在集成到自己做的APP中时,由于微信给的demo分为三个按钮来实现,获取prepay_id、组成支付参数和调用微信支付三个部分,对于第一个部分,demo使用的

GetPrepayIdTask getPrepayId = new GetPrepayIdTask();
        getPrepayId.execute();

来获取prepayId,这是异步的,可以在主线程中使用得到prepay_id,对于支付参数demo提供的方法为genPayReq();对于调用微信支付demo提供的为sendPayReq();后两步可在自己做的APP中使用一个button来控制,注意一点:如果三者都放到一个button中控制,得到的prepay_id为空,程序会报错!自己整理了好久终于弄出来了,感觉好有成就感。。。。

针对支付成功后不能回调函数?

可以弹出微信支付的界面,但是支付之后没有进入回调的Activity:WXPayEntryActivity ?

微信开放平台有个 不成文的规定(文档里没有说明),就是回调的Activity必须是:你的包名(微信demo里是:net.sourceforge.simcpux)+.wxapi.WXPayEntryActivity.java
其他的接口回调的Activity必须是:你的包名(微信demo里是:net.sourceforge.simcpux)+.wxapi.WXEntryActivity.java


测试过程中肯定会遇见其他的问题,多问多查多搜!肯定能解决...语言组织的不好,希望对你有所帮助...

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值