安卓app微信支付集成教程(按照步骤走就行)

前段时间项目里面集成银联支付,写了篇心得,现在项目要求集成微信支付,支付宝支付话由于做的是和股票金融类的相关产品,所以审核不通过,那么接下来讲讲我在微信支付里面的步骤和大家该注意的一些坑吧

首先大家肯定要去微信开放平台申请你的app,生成app_id这些东西,具体怎么申请我就不讲了,过程不是很难,但是有点繁琐,审核的时间有点长,需要公司的对公账号打款300元验证,如果有需要的兄弟可以私信我!下面具体讲讲集成的过程


首先一般都是下载官方的demo,但是我既然写了集成的教程,肯定不需要下载官方的demo了,如果各位兄弟硬要的话也可以的,下面贴上官网demo的连接:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

安卓app微信支付集成教程(按照步骤走就行)_第1张图片

如上图所示位置下载


1、在你的工程里面,你需要将demo里面的lib文件的拷贝到你的工程libs里面/

2、在你的包的根目录创建wxapi这个package包,将demo里面的WXPayEntryActivity这个拷贝到你创建的包里面

3、将demo里面的AppRegister这个广播接受者拷贝到项目里面任意的位置,我还是放在穿件的wxapi这个包里面的

4、别忘了在清单文件注册广播和Activity

下图将展示demo里面的重要东西的位置和我项目里面放的位置

安卓app微信支付集成教程(按照步骤走就行)_第2张图片

我项目里面的位置

安卓app微信支付集成教程(按照步骤走就行)_第3张图片

下面是清单文件

安卓app微信支付集成教程(按照步骤走就行)_第4张图片


以上步骤如果都完成了,别玩了将你的debug模式和releaese模式的签名都换成同样的签名,否则只能第一次将支付吊起,然后就钓不起来了


//以上都是一些赋值粘贴的活,下面讲一讲在代码中支付要怎么写

1、首先要将你的app注册到微信端,可以在application里面注册,也可以在你要调用的界面注册,这个看你自己的选择,我是在支付界面注册的,如下图

安卓app微信支付集成教程(按照步骤走就行)_第5张图片

wx—app-id是你在官网申请的app_id

2、调用支付了

安卓app微信支付集成教程(按照步骤走就行)_第6张图片

有七个参数需要传给微信,我的都是服务器返给我的,到时这些参数直接叫你们后台返给你们就OK了,直接穿件PayReq然后发送请求,可以先判断用户有没有安装微信,没有提醒用户安装微信

3、支付成功的回调

回调的界面在刚才开呗官网的Activity里面处理,我将我的回调界面的处理逻辑忒出来,大伙可以参照着根据自己的逻辑修改,基本也是抄官网的demo完成的

public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler{
	
	private static final String TAG = "MicroMsg.SDKSample.WXPayEntryActivity";
	
    private IWXAPI api;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ayt_wx_pay_entry);
    	api = WXAPIFactory.createWXAPI(this, Constant.WX_APP_ID);
        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) {

		int code = resp.errCode;

		switch (code){
			case 0://支付成功后的界面
				Intent intent;
				intent = new Intent(this, CoursePaySuccessActivity.class);
				startActivity(intent);
				//发送通知修改购买界面的值(具体等有接口以后修改)
				EventBus.getDefault().post(new CourseBuyActivityEvent(Constant.NOTIFY_COURSE_BUY_ACTIVITY));

				break;
			case -1:
				ToastUtil.showShort(getApplicationContext(), "签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、您的微信账号异常等。");
				intent = new Intent(this, CoursePayFailActivity.class);
				startActivity(intent);
				break;
			case -2://用户取消支付后的界面
				ToastUtil.showShort(this,"取消支付");
				break;
		}
		finish();
		//微信支付后续操作,失败,成功,取消
	}

至此微信的支付集成基本完成,其中一定要注意的是将你的debug模式和release模式的签名替换成一样,具体怎么操作可以百度,网上操作教程很多,比较简单,

还有,一定要将appRegister这个广播拷贝进去,否则不能调用你的回调方法,这是我在开发中遇到的坑,网上好多都没有讲这一步,只是说拷贝wxapi里面的Activity,如果都做了这些步骤还有坑的话私信我

邮箱:[email protected]



你可能感兴趣的:(安卓app微信支付集成教程(按照步骤走就行))