diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayConfigStorage.java b/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayConfigStorage.java index 9e31da8..71da64f 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayConfigStorage.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayConfigStorage.java @@ -17,9 +17,9 @@ public abstract class BasePayConfigStorage implements PayConfigStorage{ // ali rsa_private 商户私钥,pkcs8格式 - //wx api_key 商户密钥 + //wx api_key 应用私钥(生成签名时使用) private volatile String keyPrivate ; - // 支付公钥 + // 支付平台公钥(签名校验使用) private volatile String keyPublic; //异步回调地址 private volatile String notifyUrl; diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayConfigStorage.java b/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayConfigStorage.java index cecc27e..fdbedf4 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayConfigStorage.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayConfigStorage.java @@ -67,20 +67,15 @@ import java.util.concurrent.locks.Lock; * @return 字符编码 */ String getInputCharset(); - /** - * 获取密钥 与 #getKeyPrivate 类似 - * @return 获取密钥 - */ - String getSecretKey(); /** - * 公钥 + * 支付平台公钥(签名校验使用) * @return 公钥 */ String getKeyPublic(); /** - * 私钥 + * 应用私钥(生成签名时使用) * @return 私钥 */ String getKeyPrivate(); diff --git a/pay-java-demo/src/main/java/com/egzosn/pay/demo/entity/ApyAccount.java b/pay-java-demo/src/main/java/com/egzosn/pay/demo/entity/ApyAccount.java index a22e19f..09fc1f2 100644 --- a/pay-java-demo/src/main/java/com/egzosn/pay/demo/entity/ApyAccount.java +++ b/pay-java-demo/src/main/java/com/egzosn/pay/demo/entity/ApyAccount.java @@ -26,9 +26,9 @@ public class ApyAccount { // 应用id // @Column(name = "appid") private String appid; - // 支付公钥,sign_type只有单一key时public_key与private_key相等,比如sign_type=MD5的情况 + // 支付平台公钥(签名校验使用),sign_type只有单一key时public_key与private_key相等,比如sign_type=MD5的情况 private String publicKey; - // 支付私钥 + // 应用私钥(生成签名) // @Column(name = "private_key") private String privateKey; // 异步回调地址 diff --git a/pay-java-demo/src/main/resources/apy_account.sql b/pay-java-demo/src/main/resources/apy_account.sql index 6b4af0b..b61cb63 100644 --- a/pay-java-demo/src/main/resources/apy_account.sql +++ b/pay-java-demo/src/main/resources/apy_account.sql @@ -7,8 +7,8 @@ CREATE TABLE `pay_account` ( `pay_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '支付账号id', `partner` VARCHAR(32) DEFAULT NULL COMMENT '支付合作id,商户id,差不多是支付平台的账号或id', `appid` VARCHAR(32) DEFAULT NULL COMMENT '应用id', - `public_key` VARCHAR(1204) DEFAULT NULL COMMENT '支付公钥,sign_type只有单一key时public_key与private_key相等,比如sign_type=MD5(友店支付除外)的情况', - `private_key` VARCHAR(2048) DEFAULT NULL COMMENT '支付私钥', + `public_key` VARCHAR(1204) DEFAULT NULL COMMENT '支付平台公钥(签名校验使用),sign_type只有单一key时public_key与private_key相等,比如sign_type=MD5(友店支付除外)的情况', + `private_key` VARCHAR(2048) DEFAULT NULL COMMENT '应用私钥(生成签名)', `notify_url` VARCHAR(1024) DEFAULT NULL COMMENT '异步回调地址', `return_url` VARCHAR(1024) DEFAULT NULL COMMENT '同步回调地址', `seller` VARCHAR(256) DEFAULT NULL COMMENT '收款账号, 针对支付宝', diff --git a/pay-java-demo/src/main/webapp/index.html b/pay-java-demo/src/main/webapp/index.html index 58db5dd..4c499e5 100644 --- a/pay-java-demo/src/main/webapp/index.html +++ b/pay-java-demo/src/main/webapp/index.html @@ -17,9 +17,9 @@ 应用id - 支付公钥支付公钥,sign_type只有单一key时public_key与private_key相等,比如sign_type=MD5(友店支付除外)的情况 + 支付平台公钥(签名校验使用)支付公钥,sign_type只有单一key时public_key与private_key相等,比如sign_type=MD5(友店支付除外)的情况 - 支付私钥 + 应用私钥(生成签名) 异步回调地址友店支付用不到此参数,在友店管理端进行配置 @@ -30,6 +30,7 @@ 签名类型 MD5 RSA + RSA2 编码类型(建议UTF-8) @@ -38,6 +39,7 @@ aliPay wxPay youdianPay + fuiou 此处为开发者自定义,详情请查看 com.egzosn.pay.demo.entity.PayType 消息类型 @@ -58,9 +60,10 @@ 各个支付对应的交易类型可自行查看对应的官方文档,本项目已实现几种交易类型,对应各个支付类型的com.egzosn.pay.common.bean.TransactionType具体实现 旧版支付宝(com.egzosn.pay.ali.before.bean.AliTransactionType): 即时付款=DIRECT , 移动支付=APP , 手机网站支付=WAP -新版支付宝(com.egzosn.pay.ali.bean.AliTransactionType): app支付=APP , 手机网站支付=WAP , 扫码付=SWEEPPAY, 条码付=BAR_CODE, 声波付=WAVE_CODE +新版支付宝(com.egzosn.pay.ali.bean.AliTransactionType): 即时付款=DIRECT , app支付=APP , 手机网站支付=WAP , 扫码付=SWEEPPAY, 条码付=BAR_CODE, 声波付=WAVE_CODE 微信(com.egzosn.pay.wx.bean.WxTransactionType): 公众号支付=JSAPI , 移动支付=APP , 扫码付=NATIVE 友店微信(com.egzosn.pay.wx.youdian.bean.YoudianTransactionType): 扫码付=NATIVE +富友(com.egzosn.pay.fuiou.bean.FuiouTransactionType): B2B,B2C diff --git a/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java b/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java index e4b9414..6d6c64b 100644 --- a/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java +++ b/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java @@ -146,7 +146,7 @@ public class FuiouPayService extends BasePayService { */ private LinkedHashMap getOrderInfo(PayOrder order) { LinkedHashMap parameters = new LinkedHashMap(); - parameters.put("mchnt_cd", payConfigStorage.getPartner());//商户代码 + parameters.put("mchnt_cd", payConfigStorage.getPid());//商户代码 parameters.put("order_id", order.getOutTradeNo());//商户订单号 parameters.put("order_amt", (int)(order.getPrice().doubleValue() * 100));//交易金额 // parameters.put("cur_type", null == order.getCurType() ? FuiouCurType.CNY:order.getCurType());//交易币种 @@ -358,7 +358,7 @@ public class FuiouPayService extends BasePayService { @Override public Map refund (String tradeNo, String outTradeNo, BigDecimal refundAmount, BigDecimal totalAmount) { Map params = new HashMap<>(); - params.put("mchnt_cd",payConfigStorage.getSecretKey());//商户代码 + params.put("mchnt_cd",payConfigStorage.getPid());//商户代码 DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); df.setTimeZone(TimeZone.getTimeZone("GMT+8")); params.put("origin_order_date",df.format(new Date()));//原交易日期
com.egzosn.pay.common.bean.TransactionType
com.egzosn.pay.ali.before.bean.AliTransactionType
com.egzosn.pay.ali.bean.AliTransactionType
com.egzosn.pay.wx.bean.WxTransactionType
com.egzosn.pay.wx.youdian.bean.YoudianTransactionType
com.egzosn.pay.fuiou.bean.FuiouTransactionType