Android 微信支付

6

Android 微信支付

Android 微信支付详细描述

微信支付是微信公众平台提供的一种在线支付服务,允许商户在微信上进行收款和付款。下面我们将详细描述如何在 Android 平台上整合微信支付。

1. 整合9个参数,通过签名规则生成签名首先,我们需要准备以下9个参数:

* appid:商户的appid* mch_id:商户的商户号* nonce_str:随机字符串* body:支付描述* notify_url:回调地址* trade_type:交易类型(JSAPI、NATIVE、APP)

* spbill_create_ip:生成预付订单的ip* total_fee:总金额* sign:签名这些参数需要以XML格式的方式,通过POST请求发送到 参数准备首先,我们需要准备以上9个参数。其中appid和mch_id可以在微信公众平台中获取,nonce_str可以使用随机函数生成,body、notify_url、trade_type等参数根据具体需求填写,spbill_create_ip可以通过IP地址获取,total_fee是总金额。

1.2. 签名规则签名规则如下:

* 将所有参数按照key=value的格式排列* 将所有参数按照字母顺序排列* 使用MD5算法对所有参数进行加密* 将加密后的结果作为签名1.3. POST请求将以上9个参数以XML格式的方式,通过POST请求发送到 获取prepay_id当我们成功发送了POST请求后,我们会得到一个prepay_id。这个prepay_id是微信支付系统生成的一个唯一标识符,可以用于下一步的支付操作。

2.1. prepay_id获取在上一步中,我们已经将所有参数以XML格式的方式,通过POST请求发送到 xml = "" + appid + "" + mch_id + "" + nonce_str + "" + body + "" + notify_url + "" + trade_type + "" + spbill_create_ip + "" + total_fee + "";

String response = HttpUtil.post(" xml);

//解析responseJSONObject jsonObject = JSON.parseObject(response);

String prepay_id = jsonObject.getString("prepay_id");

```

2.2. 使用prepay_id当我们成功获取了prepay_id后,我们可以使用这个prepay_id来进行支付操作。具体的支付操作需要根据不同的交易类型(JSAPI、NATIVE、APP)进行处理。

3. 支付操作在上一步中,我们已经成功获取了prepay_id。现在,我们需要根据不同的交易类型(JSAPI、NATIVE、APP)进行支付操作。

3.1. JSAPI支付如果我们选择使用JSAPI支付方式,那么我们需要在微信客户端中进行支付操作。具体的支付操作需要通过以下代码段来实现:

```java//获取prepay_idString prepay_id = getPrepayId();

//构造JSAPI支付参数String jsapiParams = "" + appid + "" + mch_id + "" + prepay_id + "" + nonce_str + "" + timestamp + "Sign=WXPay";

//签名String sign = getSign(jsapiParams);

//构造JSAPI支付请求String jsapiRequest = " jsapiParams + "&sign=" + sign);

```

3.2. NATIVE支付如果我们选择使用NATIVE支付方式,那么我们需要在微信客户端中进行支付操作。具体的支付操作需要通过以下代码段来实现:

```java//获取prepay_idString prepay_id = getPrepayId();

//构造NATIVE支付参数String nativeParams = "" + appid + "" + mch_id + "" + prepay_id + "" + nonce_str + "" + timestamp + "Sign=WXPay";

//签名String sign = getSign(nativeParams);

//构造NATIVE支付请求String nativeRequest = " nativeParams + "&sign=" + sign);

```

3.3. APP支付如果我们选择使用APP支付方式,那么我们需要在微信客户端中进行支付操作。具体的支付操作需要通过以下代码段来实现:

```java//获取prepay_idString prepay_id = getPrepayId();

//构造APP支付参数String appParams = "" + appid + "" + mch_id + "" + prepay_id + "" + nonce_str + "" + timestamp + "Sign=WXPay";

//签名String sign = getSign(appParams);

//构造APP支付请求String appRequest = " appParams + "&sign=" + sign);

```

以上就是如何在 Android 平台上整合微信支付的详细描述。

支付android微信支付

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 如何免费开通微信支付免充值代金券产品功能

下一篇 微信开发!