Android中微信支付接入的完整教程来了
好的,我将详细描述Android中微信支付接入的完整教程。
一. 添加Gradle依赖
在app module目录下的`build.gradle`文件中,添加以下依赖:
```groovydependencies {
implementation 'com.tencent.mm.opensdk:wechat-sdk-android:5.0.4'
}
```
二. 配置签名
微信支付需要配置签名才能正常工作。签名的配置包括AppID、密钥等信息。
1. 在微信开放平台中,创建一个新的应用,并获取到AppID和AppSecret。
2. 在Android项目中,新建一个`wx_config.xml`文件,内容如下:
```xml
```
三. 配置微信支付
在`AndroidManifest.xml`文件中,添加以下配置:
```xml
...
```
四. 实现微信支付
在`MainActivity.java`文件中,实现以下代码:
```javaimport com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIClientImpl;
public class MainActivity extends AppCompatActivity {
private IWXAPI mWechatApi;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化微信支付 mWechatApi = WXAPIClientImpl.getAPIInstance(this, getString(R.string.wx_app_id));
if (!mWechatApi.handleIntent(getIntent())) {
finish();
}
}
public void pay(View view) {
// 实现支付逻辑 PayParams params = new PayParams();
params.setTradeType(PayConstants.TRADE_TYPE_APP);
params.setGoodsTag("测试商品");
params.setPrice(1.00);
IWXAPI iwxapi = WXAPIClientImpl.getAPIInstance(this, getString(R.string.wx_app_id));
PayReq req = new PayReq();
req.appid = getString(R.string.wx_app_id);
req.partnerid = getString(R.string.wx_pay_key);
req.prepayid = params.getPrePayId();
req.packageValue = "Sign=WXPay";
req.noncestr = String.valueOf(System.currentTimeMillis());
req.timeStamp = String.valueOf(System.currentTimeMillis() /1000);
req.sign = getSignature(req, iwxapi);
PayReq.ReqData reqdata = new PayReq.ReqData();
reqdata.fee = params.getPrice();
reqdata.type = params.getTradeType();
req.reqData = reqdata;
IWXAPI.sendReq(this, req, true);
}
private String getSignature(PayReq req, IWXAPI iwxapi) {
//生成签名 return "";
}
}
```
五. 实现支付回调
在`MainActivity.java`文件中,实现以下代码:
```java@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode ==0 && resultCode == RESULT_OK) {
// 支付成功 } else if (requestCode ==0 && resultCode == -1) {
// 支付失败 }
}
```
以上就是Android中微信支付接入的完整教程。