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

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

接入微信支付呢,你首先得有个微信支付的商户端账户。这个账户一般你公司会提供给你的,一般是财务注册的,当然如果你们家的财务没有注册的话你可以教她怎么注册。顺便泡泡妞(财务一般都是女的吧)。注册链接点这里 https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F,或者百度 微信支付商户
如果你说你也不会注册,那么你可以点击右上角的叉叉关闭本网页了。最简单的安卓接入微信支付教程,不简单你打我!
接下来进入正题
接入微信支付你还得申请一个微信开发者账号(好像是要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里调用了这个函数之后,就能成功发起微信支付了。

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

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