package ezy.sdk3rd.social.platforms.weixin;
import android.app.Activity;
import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.util.Log;
import com.tencent.mm.opensdk.modelpay.PayReq;
import com.tencent.mm.opensdk.modelpay.PayResp;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import org.json.JSONObject;
import ezy.sdk3rd.social.payment.IPayable;
import ezy.sdk3rd.social.sdk.OnCallback;
import ezy.sdk3rd.social.sdk.Platform;
import ezy.sdk3rd.social.sdk.ResultCode;
/**
* Created by ezy on 17/3/18.
*/
public class WXPayment extends WXBase implements IPayable {
WXPayment(Activity activity, Platform platform) {
super(activity, platform);
}
@Override
public void pay(String data, final @NonNull OnCallback<String> callback) {
PayReq req = new PayReq();
Log.e(TAG, "data ==> " + data);
try {
JSONObject o = new JSONObject(data);
req.appId = o.getString("appid");
req.partnerId = o.getString("partnerid");
req.prepayId = o.getString("prepayid");
req.packageValue = o.getString("package");
req.nonceStr = o.getString("noncestr");
req.timeStamp = o.getString("timestamp");
req.sign = o.getString("sign");
req.transaction = req.nonceStr;
} catch (Exception e) {
Log.e(TAG, "parse error ==> " + e.toString());
}
if (!TextUtils.isEmpty(req.appId)) {
mApi = WXAPIFactory.createWXAPI(mActivity.getApplicationContext(), req.appId, true);
mApi.registerApp(req.appId);
}
mCallback = callback;
if (!mApi.isWXAppInstalled()) {
mCallback.onFailed(mActivity, ResultCode.RESULT_FAILED, "您未安装微信!");
return;
}
mCallback.onStarted(mActivity);
boolean ret = mApi.sendReq(req);
Log.e(TAG, "send end, pay request ==> " + ret);
if (ret) {
}
}
@Override
protected void onResultOk(PayResp resp) {
Log.e(TAG, "prepayId = " + resp.prepayId);
mCallback.onSucceed(mActivity, resp.prepayId);
}
}