mirror of
https://gitee.com/egzosn/pay-java-parent.git
synced 2026-05-31 12:59:35 +08:00
微信V3支付功能基本实现,并已测试
This commit is contained in:
@@ -156,10 +156,8 @@ public class StringUtils {
|
||||
if (StringUtils.isEmpty(s)) {
|
||||
continue;
|
||||
}
|
||||
if (builder.length() > 0) {
|
||||
builder.append(separator);
|
||||
}
|
||||
builder.append(s);
|
||||
|
||||
builder.append(s).append(separator);
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@@ -54,15 +54,15 @@ public class WxV3PayController {
|
||||
public void init() {
|
||||
|
||||
WxPayConfigStorage wxPayConfigStorage = new WxPayConfigStorage();
|
||||
wxPayConfigStorage.setAppId("wxc7b993ff15a9f27c");
|
||||
wxPayConfigStorage.setMchId("1602947766");
|
||||
wxPayConfigStorage.setAppId("wxc7b993ff15a9f271");
|
||||
wxPayConfigStorage.setMchId("1602947765");
|
||||
// wxPayConfigStorage.setKeyPublic("转账公钥,转账时必填");
|
||||
wxPayConfigStorage.setSecretKey("9bd8f0e7af4841299d782406b7774f56");
|
||||
wxPayConfigStorage.setNotifyUrl("https://pay.egzosn.com");
|
||||
wxPayConfigStorage.setReturnUrl("https://pay.egzosn.com");
|
||||
wxPayConfigStorage.setSecretKey("9bd8f0e7af4841299d782406b7774f52");
|
||||
wxPayConfigStorage.setNotifyUrl("https://pay.egzosn.com/payback");
|
||||
wxPayConfigStorage.setReturnUrl("https://pay.egzosn.com/payback");
|
||||
wxPayConfigStorage.setInputCharset("utf-8");
|
||||
wxPayConfigStorage.setCertSign(true);
|
||||
wxPayConfigStorage.setApiClientKeyP12("E:\\Documents\\gitee\\pay-java-parent\\pay-java-demo\\src\\main\\resources\\yifenli_mall.p12");
|
||||
wxPayConfigStorage.setApiClientKeyP12("yifenli_mall.p12");
|
||||
wxPayConfigStorage.setCertStoreType(CertStoreType.PATH);
|
||||
service = new WxPayService(wxPayConfigStorage);
|
||||
//设置回调消息处理
|
||||
@@ -142,7 +142,7 @@ public class WxV3PayController {
|
||||
public byte[] toWxQrPay(BigDecimal price) throws IOException {
|
||||
//获取对应的支付账户操作工具(可根据账户id)
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
ImageIO.write(service.genQrPay(new PayOrder("订单title", "摘要", null == price ? BigDecimal.valueOf(0.01) : price, System.currentTimeMillis() + "", WxTransactionType.NATIVE)), "JPEG", baos);
|
||||
ImageIO.write(service.genQrPay(new PayOrder("测试商品", "测试商品", null == price ? BigDecimal.valueOf(0.01) : price, UUID.randomUUID().toString().replace("-", ""), WxTransactionType.NATIVE)), "JPEG", baos);
|
||||
return baos.toByteArray();
|
||||
}
|
||||
|
||||
|
||||
@@ -134,7 +134,7 @@ public class DefaultWxPayAssistService implements WxPayAssistService {
|
||||
String token = String.format(WxConst.TOKEN_PATTERN, payConfigStorage.getMchId(), nonceStr, timestamp, serialNumber, sign);
|
||||
HttpStringEntity entity = new HttpStringEntity(body, ContentType.APPLICATION_JSON);
|
||||
entity.addHeader(new BasicHeader("Authorization", WxConst.SCHEMA.concat(token)));
|
||||
entity.addHeader(new BasicHeader("User-Agent", "X-Pay-Service"));
|
||||
entity.addHeader(new BasicHeader("User-Agent", "Pay-Java-Parent"));
|
||||
entity.addHeader(new BasicHeader("Accept", APPLICATION_JSON.getMimeType()));
|
||||
return entity;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.egzosn.pay.wx.v3.api;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
@@ -35,7 +36,7 @@ public class WxParameterStructure {
|
||||
*/
|
||||
public Map<String, Object> getPublicParameters() {
|
||||
|
||||
Map<String, Object> parameters = new TreeMap<String, Object>();
|
||||
Map<String, Object> parameters = new LinkedHashMap<>();
|
||||
parameters.put(WxConst.APPID, payConfigStorage.getAppId());
|
||||
parameters.put(WxConst.MCH_ID, payConfigStorage.getMchId());
|
||||
return parameters;
|
||||
|
||||
@@ -30,7 +30,7 @@ public final class WxConst {
|
||||
*/
|
||||
public static final String SANDBOXNEW = "sandboxnew/";
|
||||
public static final String APPID = "appid";
|
||||
public static final String MCH_ID = "mch_id";
|
||||
public static final String MCH_ID = "mchid";
|
||||
public static final String SUB_MCH_ID = "sub_mchid";
|
||||
public static final String SP_MCH_ID = "sp_mchid";
|
||||
public static final String OUT_TRADE_NO = "out_trade_no";
|
||||
|
||||
Reference in New Issue
Block a user