PayToWX.java
1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.cnlive.goldenline.pay;
import android.content.Context;
import android.support.annotation.NonNull;
import com.cnlive.goldenline.Configs;
import com.cnlive.goldenline.pay.model.PayCloudResponse;
import com.cnlive.goldenline.util.ToastUtil;
import com.tencent.mm.sdk.modelpay.PayReq;
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.WXAPIFactory;
/**
* Created by gujun on 2017-04-10.
*/
public class PayToWX {
private static Context mContext;
/**
* 判断是否安装了微信客户端
*/
private static boolean isWXAppInstalledAndSupported() {
IWXAPI msgApi = WXAPIFactory.createWXAPI(mContext, null);
msgApi.registerApp(Configs.APP_ID);
boolean sIsWXAppInstalledAndSupported = msgApi.isWXAppInstalled() && msgApi.isWXAppSupportAPI();
return sIsWXAppInstalledAndSupported;
}
/*充值金币*/
public static void startPay(Context context,@NonNull IWXAPI api,PayCloudResponse payCloudResponse ) {
mContext = context;
if(isWXAppInstalledAndSupported())
genPayReq(api,payCloudResponse);
else
ToastUtil.showToast("您还未安装微信客户端");
}
/**
* 生成签名参数
*
* @param payCloudResponse
*/
private static void genPayReq(IWXAPI msgApi,PayCloudResponse payCloudResponse) {
PayReq req = new PayReq();
req.appId = payCloudResponse.getData().getWx_app().getAppid();
req.partnerId = payCloudResponse.getData().getWx_app().getPartnerid();
req.prepayId = payCloudResponse.getData().getWx_app().getPrepayid();
req.packageValue = "Sign=WXPay";
req.nonceStr = payCloudResponse.getData().getWx_app().getNoncestr();
req.timeStamp = payCloudResponse.getData().getWx_app().getTimestamp();
req.sign = payCloudResponse.getData().getWx_app().getSign();
// 发起支付请求
msgApi.registerApp(Configs.APP_ID);
msgApi.sendReq(req);
}
}