Android_APP 微信支付接口开发

1、首先说一下我们在开发微信支付接口的时候遇到最多和最疑惑的问题,那就是明明 appid、商户号、API密钥 都对照了好几遍确实是和自己的一样,并且也没有在Log日志中出现签名错误等信息,却始终调不起微信支付,或是直接回到支付结果后的界面并提示 “微信支付结果:null;code=-1”。这就是微信支付中的一个深坑之处(为什么说这是深坑之处呢?会在下面特别说明)。
2、下面就教大家如何跳出这个深坑,首先先让图来说话:
图1-1 微信支付跳转界面
图1-2 成功调起微信支付界面

3、接下来进行微信支付的接入,本文档重在实现调起微信支付,其中的 sign签名如何生成不进行详细讲解,可以自行上网百度。

微信支付开发步骤:

一、首先去申请开通微信支付功能(亦可从网上找到申请开通的方法),开通后会收到下图所示的一封邮件。
图1-3 开通微信支付后收到的一封邮箱
二、从微信支付商户平台下载微信支付的Demo,这个是下载的链接
https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1
图1-4 微信支付Demo下载

其Demo的src 目录如下:
图1-5 微信支付Demo的src 结构

四、将微信支付Demo的.java文件放到我们自己的项目中。**这里有一个关键点必须要注意,否则会造成调起微信支付后无法回到支付结果界面,那就是WXPayEntryActivity.java文件必须放到你工程的 包名.wxapi下,假设你的包名是 com.exemplary.demo 那么WXPayEntryActivity.java文件就应该放到com.exemplary.demo.wxapi 下。**PayActivity.java 文件则可以放到对应的Activity中,其余的.java文件则可以随意放置,然后修改一些小细节即可。

五、修改Constants.java 中的三个参数,然后在AndroidManifest.xml中加入
1)、对应的权限:

<!-- 微信支付 -->
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

2)、PayActivity:

<activity android:name="PayActivity的全路径"
    android:label="@string/app_name"
    android:exported="true"
    android:launchMode="singleTop">
    <!--这个intent-filter不要忘了-->
    <intent-filter>
    <action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="对应的appid(APP_ID)"/>
 </intent-filter>
</activity>
<!-- 微信支付 -->
<receiver 
      android:name="AppRegister的全路径">
<intent-filter>
<action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP" />
</intent-filter>
</receiver>

六、有些开发者以为到这里就完成了,然后运行项目进行测试,可得到的结果是调不起微信支付的API。
注意:这一步是坑点之一。在进行测试时我们必须先生成一个程序的keystore文件,然后再按下面的步骤进行才可以顺利地调起微信支付。(这一步在微信支付的开发文档中并没有进行说明)如图所示,生成一个有效的keystore文件的步骤:
(1)
(2)
(3)
(4)

然后将生成的apk文件安装到我们的测试机上,如果我们想通过运行项目把程序安装到我们的测试机上也能调起微信支付,则需按下图所示操作:
(1)
(2)

七、将APP 安装到我们的测试机中后,再从 微信支付 | 商户平台中下载应用签名工具,将其安装到测试机上,下面是下载地址
https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk

然后如图所示:
这里写图片描述

然后按照微信支付中的开发文档走:

这里写图片描述

八、有的开发者会在这一步走完后就立即测试支付,结果是没能调起微信支付API,这个原因有可能是设置并保存了应用签名后微信那边的服务器没能那么快地做出处理,在等待了30秒后再进行测试则就可以成功调起微信支付了。

这里写图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值