diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java index 2bd1594..baac1c6 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java @@ -282,7 +282,7 @@ public class AliPayService extends BasePayService { String bizContent = (String) orderInfo.remove(BIZ_CONTENT); formHtml.append(getReqUrl()).append("?").append(UriVariables.getMapToParameters(orderInfo)) .append("\" method=\"").append(method.name().toLowerCase()).append("\">"); - formHtml.append(""); + formHtml.append(""); formHtml.append(""); formHtml.append(""); diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java index dff7756..2e3956c 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/before/api/AliPayService.java @@ -508,6 +508,17 @@ public class AliPayService extends BasePayService { return null; } + /** + * 获取支付请求地址 + * + * @param transactionType 交易类型 + * @return 请求地址 + */ + @Override + public String getReqUrl(TransactionType transactionType) { + return null; + } + /** * 获取biz_content。请求参数的集合 不包含下载账单 diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CountryCode.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CountryCode.java new file mode 100644 index 0000000..443a0da --- /dev/null +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CountryCode.java @@ -0,0 +1,22 @@ +package com.egzosn.pay.common.bean; + +/** + * 国家代码 + * @author egan + * email egzosn@gmail.com + * date 2019/4/16.22:43 + */ +public interface CountryCode { + + /** + * 获取国家代码 + * @return 国家代码 + */ + String getCode(); + + /** + * 获取国家名称 + * @return + */ + String getName(); +} diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CurType.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CurType.java index 4917abe..7ec8e34 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CurType.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/CurType.java @@ -1,39 +1,22 @@ package com.egzosn.pay.common.bean; /** - * 货币类型 - * @author Actinia - *
- * email hayesfu@qq.com
- * create 2017 2017/1/16
- * 
+ * 基础货币类型 + * @author egan + * email egzosn@gmail.com + * date 2019/4/16.20:55 */ -public enum CurType { - - CNY("人民币"), - USD("美元"), - HKD("港币"), - MOP("澳门元"), - EUR("欧元"), - TWD("新台币"), - KRW("韩元"), - JPY("日元"), - SGD("新加坡元"), - AUD("澳大利亚元"); +public interface CurType { /** - * 币种名称 + * 获取货币类型 + * @return 货币类型 */ - private String name; - //索引 - private int index; + String getType(); /** - * 构造函数 - * @param name + * 货币名称 + * @return 货币名称 */ - CurType(String name) { - this.name = name; - } - + String getName(); } diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/DefaultCountryCode.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/DefaultCountryCode.java new file mode 100644 index 0000000..39e5184 --- /dev/null +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/DefaultCountryCode.java @@ -0,0 +1,47 @@ +package com.egzosn.pay.common.bean; + +/** + * 默认的国家地区代码 + * @author egan + * email egzosn@gmail.com + * date 2019/4/16.22:43 + */ +public enum DefaultCountryCode implements CountryCode{ + + CHN("中国"), + USA("美国"), + JPN("日本"), + HKG("香港"), + GBR("英国"), + MAC("澳门"), + TWN("中国台湾"), + ; + /** + * 国家名称 + */ + private String name; + + DefaultCountryCode(String name) { + this.name = name; + } + + /** + * 获取国家代码 + * + * @return 国家代码 + */ + @Override + public String getCode() { + return this.name(); + } + + /** + * 获取国家名称 + * + * @return + */ + @Override + public String getName() { + return name; + } +} diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/DefaultCurType.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/DefaultCurType.java new file mode 100644 index 0000000..51f509e --- /dev/null +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/DefaultCurType.java @@ -0,0 +1,54 @@ +package com.egzosn.pay.common.bean; + +/** + * 基础货币类型 + * @author Actinia + *
+ * email hayesfu@qq.com
+ * create 2017 2017/1/16
+ * 
+ */ +public enum DefaultCurType implements CurType{ + + CNY("人民币"), + USD("美元"), + HKD("港币"), + MOP("澳门元"), + EUR("欧元"), + TWD("新台币"), + KRW("韩元"), + JPY("日元"), + SGD("新加坡元"), + AUD("澳大利亚元"); + /** + * 币种名称 + */ + private String name; + + /** + * 构造函数 + * @param name + */ + DefaultCurType(String name) { + this.name = name; + } + + /** + * 获取货币类型 + * + * @return 货币类型 + */ + @Override + public String getType() { + return this.name(); + } + /** + * 货币名称 + * + * @return 货币名称 + */ + @Override + public String getName() { + return name; + } +} diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/TransferOrder.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/TransferOrder.java index 826f4a7..2b89117 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/TransferOrder.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/TransferOrder.java @@ -12,13 +12,18 @@ import java.math.BigDecimal; */ public class TransferOrder { + /** + * 转账批次订单单号 + */ + private String batchNo; + /** * 转账订单单号 */ private String outNo; /** - * 收款方账户, 用户openid + * 收款方账户, 用户openid,卡号等等 */ private String payeeAccount ; @@ -36,6 +41,11 @@ public class TransferOrder { * 收款人名称 */ private String payeeName; + /** + * 收款人地址 + */ + private String payeeAddress; + /** * 备注 */ @@ -46,10 +56,19 @@ public class TransferOrder { */ private Bank bank; + /** + * 收款开户行地址 + */ + private String payeeBankAddress; + /** * 币种 */ private CurType curType; + /** + * 国家代码 + */ + private CountryCode countryCode; /** * 转账类型,收款方账户类型,比如支付宝账户或者银行卡 */ @@ -60,6 +79,14 @@ public class TransferOrder { */ private String ip; + public String getBatchNo() { + return batchNo; + } + + public void setBatchNo(String batchNo) { + this.batchNo = batchNo; + } + public String getOutNo() { return outNo; } @@ -100,6 +127,14 @@ public class TransferOrder { this.payeeName = payeeName; } + public String getPayeeAddress() { + return payeeAddress; + } + + public void setPayeeAddress(String payeeAddress) { + this.payeeAddress = payeeAddress; + } + public String getRemark() { return remark; } @@ -116,6 +151,22 @@ public class TransferOrder { this.bank = bank; } + public String getPayeeBankAddress() { + return payeeBankAddress; + } + + public void setPayeeBankAddress(String payeeBankAddress) { + this.payeeBankAddress = payeeBankAddress; + } + + public CountryCode getCountryCode() { + return countryCode; + } + + public void setCountryCode(CountryCode countryCode) { + this.countryCode = countryCode; + } + public CurType getCurType() { return curType; } diff --git a/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java b/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java index 49e5b71..1b655d2 100644 --- a/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java +++ b/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java @@ -180,7 +180,7 @@ public class PayoneerPayService extends BasePayService im params.put("amount", Util.conversionAmount(order.getPrice())); params.put("client_reference_id", order.getOutTradeNo()); if (null == order.getCurType()) { - order.setCurType(CurType.USD); + order.setCurType(DefaultCurType.USD); } params.put("currency", order.getCurType()); params.put("description", order.getSubject()); diff --git a/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java b/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java index 2bf7714..be82995 100644 --- a/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java +++ b/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java @@ -147,9 +147,9 @@ public class PayPalPayService extends BasePayService{ public Map orderInfo(PayOrder order) { Amount amount = new Amount(); if (null == order.getCurType()){ - order.setCurType(CurType.USD); + order.setCurType(DefaultCurType.USD); } - amount.setCurrency(order.getCurType().name()); + amount.setCurrency(order.getCurType().getType()); amount.setTotal(Util.conversionAmount(order.getPrice()).toString()); Transaction transaction = new Transaction(); @@ -264,7 +264,11 @@ public class PayPalPayService extends BasePayService{ if (null != refundOrder.getRefundAmount() && BigDecimal.ZERO.compareTo( refundOrder.getRefundAmount()) == -1){ Amount amount = new Amount(); - amount.setCurrency(refundOrder.getCurType().name()); + if(null == refundOrder.getCurType()){ + refundOrder.setCurType(DefaultCurType.USD); + } + + amount.setCurrency(refundOrder.getCurType().getType()); amount.setTotal(Util.conversionAmount(refundOrder.getRefundAmount()).toString()); request.put("amount", amount); request.put("description", refundOrder.getDescription()); diff --git a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java index f44d12f..0a844d1 100644 --- a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java +++ b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java @@ -96,14 +96,23 @@ public class UnionPayService extends BasePayService { return this; } - + /** + * 获取支付请求地址 + * + * @param transactionType 交易类型 + * @return 请求地址 + */ + @Override + public String getReqUrl(TransactionType transactionType) { + return (payConfigStorage.isTest() ? TEST_BASE_DOMAIN : RELEASE_BASE_DOMAIN); + } /** * 根据是否为沙箱环境进行获取请求地址 * * @return 请求地址 */ public String getReqUrl() { - return (payConfigStorage.isTest() ? TEST_BASE_DOMAIN : RELEASE_BASE_DOMAIN); + return getReqUrl(null); } public String getFrontTransUrl() { @@ -677,4 +686,6 @@ public class UnionPayService extends BasePayService { } + + } diff --git a/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java b/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java index 701b734..56d92d1 100644 --- a/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java +++ b/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java @@ -67,7 +67,7 @@ public class WxYouDianPayService extends BasePayService { String sign = createSign(SignUtils.parameterText(parameters, "&", SIGN, "appId"), payConfigStorage.getInputCharset(), false); parameters.put(SIGN, sign); - JSONObject result = requestTemplate.postForObject(getUrl(WxTransactionType.GETSIGNKEY), XML.getMap2Xml(parameters), JSONObject.class); + JSONObject result = requestTemplate.postForObject(getReqUrl(WxTransactionType.GETSIGNKEY), XML.getMap2Xml(parameters), JSONObject.class); if (SUCCESS.equals(result.get(RETURN_CODE))) { return result.getString("sandbox_signkey"); } diff --git a/pom.xml b/pom.xml index adb1c25..24786e4 100644 --- a/pom.xml +++ b/pom.xml @@ -51,8 +51,8 @@ pay-java-union pay-java-payoneer pay-java-paypal - pay-java-demo pay-java-yiji + pay-java-demo