WxPayManager.java 2.95 KB
package com.chudiangameplay.android.wxapi;

import android.content.Context;

import com.chudiangameplay.android.bean.WXPayParam;
import com.tencent.mm.opensdk.modelpay.PayReq;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;

import org.json.JSONException;
import org.json.JSONObject;

/**
 * Created by Administrator on 2016/11/16.
 */
    public class WxPayManager {

    //微信支付 data为支付参数  type = 1为商品用微信支付  =2 为 零钱用微信支付
    public static boolean wxPay(Context context,WXPayParam param){
        IWXAPI api = WXAPIFactory.createWXAPI(context, Constants.APP_ID);;
        api.registerApp(Constants.APP_ID);
        PayReq request = new PayReq();
        request.appId = param.appId;
        request.partnerId = param.partnerId;
        request.prepayId = param.prepayId;
        request.packageValue = param.packageValue;
        request.nonceStr = param.nonceStr;
        request.timeStamp = param.timeStamp;
        request.sign= param.sign;
        boolean bool = api.sendReq(request);
        return bool;
    }

    //判断是否安装了微信
    public static boolean isWxAppInstalledAndSupported(Context context) {
        IWXAPI wxApi = WXAPIFactory.createWXAPI(context, Constants.APP_ID);
        wxApi.registerApp(Constants.APP_ID);
        boolean bIsWXAppInstalledAndSupported = wxApi .isWXAppInstalled() && wxApi.isWXAppSupportAPI();
        return bIsWXAppInstalledAndSupported;
    }


    //微信支付 data为支付参数  type = 1为商品用微信支付  =2 为 零钱用微信支付
    public static void wxPay(Context context,String data,int type){
        String appId = "";
        String partnerId = "";
        String prepayId = "";
        String packageValue = "";
        String nonceStr = "";
        String timeStamp = "";
        String sign = "";
        try {
            JSONObject jsonObject = new JSONObject(data);
            appId = jsonObject.getString("appid");
            partnerId = jsonObject.getString("partnerid");
            prepayId = jsonObject.getString("prepayid");
            packageValue = jsonObject.getString("package");
            nonceStr = jsonObject.getString("noncestr");
            timeStamp = jsonObject.getString("timestamp");
            sign = jsonObject.getString("sign");
        } catch (JSONException e) {
            e.printStackTrace();
        }
        IWXAPI api = WXAPIFactory.createWXAPI(context, appId);;
        api.registerApp(appId);
        PayReq request = new PayReq();
        request.appId = appId;
        request.partnerId = partnerId;
        request.prepayId = prepayId;
        request.packageValue = packageValue;
        request.nonceStr = nonceStr;
        request.timeStamp = timeStamp;
        request.sign= sign;
        request.extData=""+type;
        boolean bool = api.sendReq(request);
//        Log.i("fulu","prepayId :" + prepayId);
//        Log.i("fulu","request.extData :" + request.extData);
    }

}