最简单的安卓接入微信支付教程,不简单你打我!

xiaoxiao2021-02-28  122

    安卓接入微信支付最简单的教程,看完不会你打我!

接入微信支付呢,你首先得有个微信支付的商户端账户。这个账户一般你公司会提供给你的,一般是财务注册的,当然如果你们家的财务没有注册的话你可以教她怎么注册。顺便泡泡妞(财务一般都是女的吧)。 注册链接点这里 https://pay.weixin.qq.com/index.php/core/home/login?return_url=/,或者百度 微信支付商户 如果你说你也不会注册,那么你可以点击右上角的叉叉关闭本网页了。 接下来进入正题 接入微信支付你还得申请一个微信开发者账号(好像是要300块钱认证费的,太久忘记了),公司一般也会提供,没提供就继续叫财务妹子注册啦! 注册链接点这里 https://open.weixin.qq.com,或者百度  微信开放平台 好了,现在已经注册了微信开发者账号,接下来创建一个移动应用。

这两个部分是需要注意的,包名一般你可以看你应用的Activity的第一行,像博主的就是类似com.againstsky.weixindemo(这个应该没有不知道的吧?)

然后就是应用签名,简单来说就是你的签名文件的md5值。建议在测试阶段填写debug版本签名文件的md5值,方便你的调试,在正式上线的时候再改成你正式

签名文件的md5(当然可以在Android studio中选择debug的时候也用正式版的签名文件啦,不过这就不在本教程中说了!)

那么问题来了,博主你说了这么多,还是没有说怎么获得这个文件的md5值啊!

好好好,你们先把刀放下来,我这就教你们。

方法1:使用微信提供的一个小app,把这个app安装到你的手机上,接着输入你的应用的包名就可以获得了,这里就不截图了!

方法2:使用keytool命令 

keytool -list -v -keystore 你的签名文件的路径

    例:

keytool -list -v -keystore mykey.jks

接着会提示你输入签名文件的密码

    获取debug版本的命令:

keytool -list -v-keystore debug.keystore

debug版本的命令这样子写就可以,不用加路径,也不会提示你输入密码

然后下来的一大堆东西里的MD5值就是我们需要的了。

把中间的冒号给去掉,然后填到微信的申请界面就ok了。

等待微信的审核通过后你就能拿到一个AppID。接下来就可开始接入了。

首先在你项目的app目录下的build文件里添加这行代码:

compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+' 输入之后IDE会提示你SyncNow。sync now之后IDE会开始下载微信支付的相关sdk。 接着在你的项目的包下新建一个名为 wxapi 的包,包里新建一个名为WXPayEntryActivity 的activity 注意名字必须和我这里写的一模一样,包括大小写。这是微信规定的,如果你不这么写,嘿嘿,支付回调就不能成功调起(微信就是这么任性) 接下来在这个activity里写上这些代码 public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler { private IWXAPI api; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); api = WXAPIFactory.createWXAPI(this, SomeString.WeiXinApiId); api.handleIntent(getIntent(), this); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); api.handleIntent(intent, this); } @Override public void onReq(BaseReq req) { } @Override public void onResp(BaseResp resp) { if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {//重点在这里,errcode=0的时候代表支付成功,其他情况下都代表支付失败 if(resp.errCode==0){ Toast.makeText(WXPayEntryActivity.this,"支付成功",Toast.LENGTH_SHORT).show(); }else { Toast.makeText(WXPayEntryActivity.this,"支付失败",Toast.LENGTH_SHORT).show(); } } } } 配置好了回调类之后就可以写调起支付的部分了,代码很简单。 private void sendPay() { DeBug.loe("sendPay","true"); final IWXAPI msgApi = WXAPIFactory.createWXAPI(this,这里就是你刚刚获得的那个AppID,false); // 将该app注册到微信 msgApi.registerApp(这里还是你刚刚获得的那个AppID); PayReq request = new PayReq(); request.appId = 这里还是你刚刚获得的那个AppID; request.partnerId =;//接下来的这几个部分都是后台传过来的数据,如果他没传这些给你,啥都别说了,提刀吧 request.prepayId=;// request.packageValue =;// request.nonceStr=;// request.timeStamp=;// request.sign=;// msgApi.sendReq(request); finish(); }

没错,你没有看错就是这么一个函数。在activity里调用了这个函数之后,就能成功发起微信支付了。

今天的教程就到这里,由于本人第一次写博客,有不足的地方还请大家多多包涵(不包涵你也不能来打我)。如果有错误的地方还请大神指出,博主也是一只小白,大家共勉!

(如有转发请备注出处,如果您看的满意,请关注我,谢谢)

转载请注明原文地址: https://www.6miu.com/read-26718.html

最新回复(0)