微信支付

//微信支付
implementation ‘com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+’

在微信android配置上添加包名 和簽名 簽名用微信自帶的簽名工具生成即可 bug 和reasele版本生成的簽名要注意區分使用

f79b70cd829c127be7f6908463d8142d
com.aaa.aaaaaaaaaaaa

添加支付代碼

 api_WX= WXAPIFactory.createWXAPI(this, "wx46d95a358f1302a0",false);
 api_WX.registerApp("wx46d95a358f1302a0");
 PayReq request = new PayReq();
                request.appId = bean.getContent().getAppid();
                request.partnerId = bean.getContent().getPartnerid();
                request.prepayId=bean.getContent().getPrepayid();
                request.packageValue = "Sign=WXPay";
                request.nonceStr= bean.getContent().getNoncestr();
                request.timeStamp= bean.getContent().getTimestamp()+"";
                request.sign= bean.getContent().getSign();

                Boolean isPay=api_WX.sendReq(request);
                LogUtils.error("-----isPay--------"+isPay);
 

清單文件配置

<activity android:name=".wxapi.WXPayEntryActivity"
            android:exported="true"
            android:launchMode="singleTop"></activity>

添加接收結果類:注意 接收結果類 只能放到應用包名下的wxapi包下

package com.boao.storageapp.wxapi;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;


import com.boao.storageapp.R;
import com.tencent.mm.opensdk.constants.ConstantsAPI;
import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;

import butterknife.BindView;
import butterknife.ButterKnife;
import utils.Contact;


public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {
	

	
    private IWXAPI api;
    @BindView(R.id.text_payResult)
	TextView text;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pay_result);
        ButterKnife.bind(this);
        
    	api = WXAPIFactory.createWXAPI(this, Contact.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) {
		Toast.makeText(WXPayEntryActivity.this," "+resp.errCode,Toast.LENGTH_SHORT).show();
		Log.e("------onResp-------", "onPayFinish, errCode = " + resp.errCode);
		if(resp.errCode==0){
			text.setText("付款成功");

			new Thread(new Runnable() {
				@Override
				public void run() {
					try {
						Thread.sleep(5000);
						finish();
					} catch (InterruptedException e) {
						e.printStackTrace();
					}

				}
			}).start();
		}else{
			text.setText("付款失敗");
		}
		if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {
		/*	AlertDialog.Builder builder = new AlertDialog.Builder(this);
			builder.setTitle(R.string.app_tip);
			builder.setMessage(getString(R.string.pay_result_callback_msg, String.valueOf(resp.errCode)));
			builder.show();*/
		}
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章