Browse Source

发送红包接口增加证书

master
BinaryWang 8 years ago
parent
commit
f7f7d12347
3 changed files with 8 additions and 5 deletions
  1. +2
    -1
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpPayService.java
  2. +4
    -3
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpPayServiceImpl.java
  3. +2
    -1
      weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpPayServiceImplTest.java

+ 2
- 1
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpPayService.java View File

@@ -74,8 +74,9 @@ public interface WxMpPayService {
* 发送普通红包 https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3
* 发送裂变红包 https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_5&index=4
* </pre>
* @param keyFile 证书文件对象
*/
WxRedpackResult sendRedpack(WxSendRedpackRequest request) throws WxErrorException;
WxRedpackResult sendRedpack(WxSendRedpackRequest request, File keyFile) throws WxErrorException;

/**
* <pre>


+ 4
- 3
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpPayServiceImpl.java View File

@@ -160,14 +160,15 @@ public class WxMpPayServiceImpl implements WxMpPayService {
}

@Override
public WxRedpackResult sendRedpack(WxSendRedpackRequest request)
public WxRedpackResult sendRedpack(WxSendRedpackRequest request, File keyFile)
throws WxErrorException {
XStream xstream = XStreamInitializer.getInstance();
xstream.processAnnotations(WxSendRedpackRequest.class);
xstream.processAnnotations(WxRedpackResult.class);

request.setWxAppid(this.wxMpService.getWxMpConfigStorage().getAppId());
request.setMchId(this.wxMpService.getWxMpConfigStorage().getPartnerId());
String mchId = this.wxMpService.getWxMpConfigStorage().getPartnerId();
request.setMchId(mchId);
request.setNonceStr(System.currentTimeMillis() + "");

String sign = this.createSign(this.xmlBean2Map(request),
@@ -180,7 +181,7 @@ public class WxMpPayServiceImpl implements WxMpPayService {
url = PAY_BASE_URL + "/mmpaymkttransfers/sendgroupredpack";
}

String responseContent = this.wxMpService.post(url, xstream.toXML(request));
String responseContent = this.executeRequestWithKeyFile(url, xstream.toXML(request), keyFile, mchId);
WxRedpackResult redpackResult = (WxRedpackResult) xstream
.fromXML(responseContent);
if ("FAIL".equals(redpackResult.getResultCode())) {


+ 2
- 1
weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpPayServiceImplTest.java View File

@@ -62,7 +62,8 @@ public class WxMpPayServiceImplTest {
request.setMchBillno("aaaa");
request
.setReOpenid(((WxXmlMpInMemoryConfigStorage) this.wxService.getWxMpConfigStorage()).getOpenid());
WxRedpackResult redpackResult = this.wxService.getPayService().sendRedpack(request);
File keyFile = new File("E:\\dlt.p12");
WxRedpackResult redpackResult = this.wxService.getPayService().sendRedpack(request, keyFile);
System.err.println(redpackResult);
}



Loading…
Cancel
Save