Commit 4b7209a3 authored by 周健威's avatar 周健威

抽取支付配置

parent 9dce3e07
...@@ -119,57 +119,6 @@ public class WXPay { ...@@ -119,57 +119,6 @@ public class WXPay {
String sign = MD5Util.MD5Encode(sb.toString(), "UTF-8").toUpperCase(); String sign = MD5Util.MD5Encode(sb.toString(), "UTF-8").toUpperCase();
return sign; return sign;
} }
/**
* app支付
* @param body 商品详情
* @param notify_url 回调地址
* @param orderNo 订单号
* @param spbill_create_ip 移动端的IP
* @return
*/
public static String apppay(String total_fee,String body,String notify_url,String orderNo,String spbill_create_ip, int version)
{
boolean isWeixinPayConfigedForAppStore = (0 == version);
WXPrepay prePay = new WXPrepay();
prePay.setBody(body);
if (isWeixinPayConfigedForAppStore) {
prePay.setAppid(SystemConfig.APP_ID);//pay.getAppId()
prePay.setPartnerKey(SystemConfig.APP_PARTNER_KEY);//pay.getPartnerKey()
prePay.setMch_id(SystemConfig.APP_PARTNER);//pay.getPartnerId()
prePay.setTrade_type(SystemConfig.APP_TRADE_TYPE);
} else {
prePay.setAppid(SystemConfig.APP_ID_IOS);//pay.getAppId()
prePay.setPartnerKey(SystemConfig.APP_PARTNER_KEY_IOS);//pay.getPartnerKey()
prePay.setMch_id(SystemConfig.APP_PARTNER_IOS);//pay.getPartnerId()
prePay.setTrade_type(SystemConfig.APP_TRADE_TYPE_IOS);
}
prePay.setNotify_url(notify_url);
prePay.setOut_trade_no(orderNo);
prePay.setSpbill_create_ip(spbill_create_ip);//"123.12.12.123"
prePay.setTotal_fee(total_fee);
//此处添加获取openid的方法,获取预支付订单需要此参数!!!!!!!!!!!
// 获取预支付订单号
String prepayid = prePay.submitXmlGetPrepayId(0);
String jsParam = "";
if (prepayid != null && prepayid.length() > 10) {
// 生成微信支付参数,此处拼接为完整的JSON格式,符合支付调起传入格式
log.error("微信支付>>>>>>>>>:\n isWeixinPayConfigedForAppStore=" + isWeixinPayConfigedForAppStore);
log.error("prepayid=" + prepayid);
log.error("SystemConfig.APP_PARTNER_IOS=" + SystemConfig.APP_PARTNER_IOS);
log.error("SystemConfig.APP_ID_IOS=" + SystemConfig.APP_ID_IOS);
log.error("SystemConfig.APP_PARTNER_KEY_IOS=" + SystemConfig.APP_PARTNER_KEY_IOS);
log.error("SystemConfig.APP_TRADE_TYPE_IOS=" + SystemConfig.APP_TRADE_TYPE_IOS);
if (isWeixinPayConfigedForAppStore) {
jsParam = createPackageValue(SystemConfig.APP_ID, SystemConfig.APP_PARTNER, prepayid, version);
} else {
jsParam = createPackageValue(SystemConfig.APP_ID_IOS, SystemConfig.APP_PARTNER_IOS, prepayid, version);
}
}
return jsParam;
}
/** /**
* app 生成签名 * app 生成签名
......
...@@ -16,6 +16,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException; ...@@ -16,6 +16,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.HTTPSUtils; import com.github.wxiaoqi.security.common.util.HTTPSUtils;
import com.github.wxiaoqi.security.common.util.OrderUtil; import com.github.wxiaoqi.security.common.util.OrderUtil;
import com.github.wxiaoqi.security.common.util.SystemProperty;
import com.github.wxiaoqi.security.common.util.UUIDUtils; import com.github.wxiaoqi.security.common.util.UUIDUtils;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.util.process.SystemConfig; import com.github.wxiaoqi.security.common.util.process.SystemConfig;
...@@ -32,6 +33,7 @@ import com.upyuns.platform.rs.universal.constant.WxResponseProperties; ...@@ -32,6 +33,7 @@ import com.upyuns.platform.rs.universal.constant.WxResponseProperties;
import com.upyuns.platform.rs.universal.weixin.util.HTTPUtils; import com.upyuns.platform.rs.universal.weixin.util.HTTPUtils;
import com.upyuns.platform.rs.website.entity.OrderInfo; import com.upyuns.platform.rs.website.entity.OrderInfo;
import com.upyuns.platform.rs.website.feign.WebsiteFeign; import com.upyuns.platform.rs.website.feign.WebsiteFeign;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -56,6 +58,7 @@ import static com.upyuns.platform.rs.universal.constant.DictionaryKey.UNIVERSAL_ ...@@ -56,6 +58,7 @@ import static com.upyuns.platform.rs.universal.constant.DictionaryKey.UNIVERSAL_
*/ */
@Service @Service
@Slf4j @Slf4j
@Data
public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
@Autowired @Autowired
...@@ -70,6 +73,27 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -70,6 +73,27 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
@Value("${universal.url}") @Value("${universal.url}")
String weixinHost; String weixinHost;
@Value("${ali.pay.baseUrl}")
public String ALIPAY_PAY_BASE_URL;
@Value("${ali.pay.appId}")
public String ALIPAY_APPID;
@Value("${ali.pay.pid}")
public String ALIPAY_PID;
@Value("${ali.pay.publicKey}")
public String ALIPAY_PUBLIC_KEY;
@Value("${ali.pay.acount}")
public String ALIPAY_ACOUNT;
@Value("${ali.pay.privateKey}")
public String ALIPAY_PRIVATE_KEY;
@Value("${wx.appPartner}")
public String APP_PARTNER;
// @Value("${wx.appSercet}") // @Value("${wx.appSercet}")
// private String wy_secret; // private String wy_secret;
...@@ -117,7 +141,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -117,7 +141,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
Integer payWay = orderPayVo.getPayWay() == null ? 1 : orderPayVo.getPayWay(); Integer payWay = orderPayVo.getPayWay() == null ? 1 : orderPayVo.getPayWay();
String sellerAccount = null; String sellerAccount = null;
if (payWay == 2) {//支付宝 if (payWay == 2) {//支付宝
sellerAccount = SystemConfig.ALIPAY_PID; sellerAccount = ALIPAY_PID;
orderPayVo.setPayType(2); orderPayVo.setPayType(2);
jsParam = generateAliPayment(orderPayVo, notifyUrl); jsParam = generateAliPayment(orderPayVo, notifyUrl);
if (StringUtils.isNotBlank(jsParam)) { if (StringUtils.isNotBlank(jsParam)) {
...@@ -135,10 +159,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -135,10 +159,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
} }
} }
} else if (payWay == 1) { //微信支付 } else if (payWay == 1) { //微信支付
sellerAccount = SystemConfig.APP_PARTNER; sellerAccount = APP_PARTNER;
jsParam = WXPay.getH5PayParam(amount + "", orderPayVo.getBuyerIp(), trade_no, orderPayVo.getBody(), orderPayVo.getBody(), orderPayVo.getBody(), notify_url); jsParam = WXPay.getH5PayParam(amount + "", orderPayVo.getBuyerIp(), trade_no, orderPayVo.getBody(), orderPayVo.getBody(), orderPayVo.getBody(), notify_url);
} else if (payWay == 3) { //对公账户支付 } else if (payWay == 3) { //对公账户支付
sellerAccount = SystemConfig.APP_PARTNER; sellerAccount = APP_PARTNER;
} }
log.info("报名费回调路径jsParam:" + jsParam); log.info("报名费回调路径jsParam:" + jsParam);
...@@ -206,7 +230,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -206,7 +230,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
log.info("alipay notify message={}", msg); log.info("alipay notify message={}", msg);
//支付宝回调验签 //支付宝回调验签
try { try {
boolean flag = AlipaySignature.rsaCheckV1(params, SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.CHARSET_UTF8, AlipayConstants.SIGN_TYPE_RSA2); boolean flag = AlipaySignature.rsaCheckV1(params, ALIPAY_PUBLIC_KEY, AlipayConstants.CHARSET_UTF8, AlipayConstants.SIGN_TYPE_RSA2);
if (!flag) { if (!flag) {
log.info("alipay order rsaCheckV1 fail, result={}", msg); log.info("alipay order rsaCheckV1 fail, result={}", msg);
return ObjectRestResponse.createDefaultFail().getMessage(); return ObjectRestResponse.createDefaultFail().getMessage();
...@@ -261,9 +285,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -261,9 +285,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
private AlipayClient getAlipayClient() { private AlipayClient getAlipayClient() {
AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do", AlipayClient alipayClient = new DefaultAlipayClient(ALIPAY_PAY_BASE_URL + "/gateway.do",
SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON, ALIPAY_APPID, ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON,
"utf-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2); "utf-8", ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
return alipayClient; return alipayClient;
} }
...@@ -567,20 +591,20 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -567,20 +591,20 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
stringBuilder.append("apiname="); stringBuilder.append("apiname=");
stringBuilder.append("com.alipay.account.auth"); stringBuilder.append("com.alipay.account.auth");
stringBuilder.append("&app_id="); stringBuilder.append("&app_id=");
stringBuilder.append(SystemConfig.ALIPAY_APPID); stringBuilder.append(ALIPAY_APPID);
stringBuilder.append("&app_name="); stringBuilder.append("&app_name=");
stringBuilder.append("mc"); stringBuilder.append("mc");
stringBuilder.append("&auth_type=AUTHACCOUNT"); stringBuilder.append("&auth_type=AUTHACCOUNT");
stringBuilder.append("&biz_type=openservice"); stringBuilder.append("&biz_type=openservice");
stringBuilder.append("&method=alipay.open.auth.sdk.code.get"); stringBuilder.append("&method=alipay.open.auth.sdk.code.get");
stringBuilder.append("&pid="); stringBuilder.append("&pid=");
stringBuilder.append(SystemConfig.ALIPAY_PID); stringBuilder.append(ALIPAY_PID);
stringBuilder.append("&product_id=APP_FAST_LOGIN"); stringBuilder.append("&product_id=APP_FAST_LOGIN");
stringBuilder.append("&scope=kuaijie"); stringBuilder.append("&scope=kuaijie");
stringBuilder.append("&sign_type=RSA2"); stringBuilder.append("&sign_type=RSA2");
stringBuilder.append("&target_id="); stringBuilder.append("&target_id=");
stringBuilder.append(UUIDUtils.generateShortUuid()); stringBuilder.append(UUIDUtils.generateShortUuid());
String sign = SignUtils.sign(stringBuilder.toString(), SystemConfig.ALIPAY_PRIVATE_KEY, true); String sign = SignUtils.sign(stringBuilder.toString(), ALIPAY_PRIVATE_KEY, true);
stringBuilder.append("&sign="); stringBuilder.append("&sign=");
stringBuilder.append(sign); stringBuilder.append(sign);
return stringBuilder.toString(); return stringBuilder.toString();
...@@ -675,8 +699,8 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -675,8 +699,8 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
model.setSubject("订单费用"); model.setSubject("订单费用");
} }
model.setTotalAmount(realAmount.toString()); // 结算支付金额 model.setTotalAmount(realAmount.toString()); // 结算支付金额
model.setSellerId(SystemConfig.ALIPAY_PID); // 填写卖家支付宝账户pid model.setSellerId(ALIPAY_PID); // 填写卖家支付宝账户pid
model.setBuyerId(SystemConfig.ALIPAY_APPID); // 填写预授权用户uid,通过预授权冻结接口返回的payer_user_id字段获取 model.setBuyerId(ALIPAY_APPID); // 填写预授权用户uid,通过预授权冻结接口返回的payer_user_id字段获取
if (StringUtils.isNotBlank(refundReason)) { if (StringUtils.isNotBlank(refundReason)) {
model.setBody(refundReason); // 可填写备注信息 model.setBody(refundReason); // 可填写备注信息
} else { } else {
...@@ -791,23 +815,23 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> { ...@@ -791,23 +815,23 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
} }
public static void main(String[] args) throws AlipayApiException { public static void main(String[] args) throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do", // AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do",
SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON, // SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON,
"utf-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2); // "utf-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); // AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setBizContent("{" + // request.setBizContent("{" +
"\"out_trade_no\":\"20150320010101001\"," + // "\"out_trade_no\":\"20150320010101001\"," +
"\"total_amount\":88.88," + // "\"total_amount\":88.88," +
"\"subject\":\"Iphone6 16G\"," + // "\"subject\":\"Iphone6 16G\"," +
"\"body\":\"Iphone6 16G\"" + // "\"body\":\"Iphone6 16G\"" +
" }"); // " }");
AlipayTradePrecreateResponse response = alipayClient.execute(request); // AlipayTradePrecreateResponse response = alipayClient.execute(request);
System.out.println(response.getBody()); // System.out.println(response.getBody());
if(response.isSuccess()){ // if(response.isSuccess()){
System.out.println("调用成功"); // System.out.println("调用成功");
} else { // } else {
System.out.println("调用失败"); // System.out.println("调用失败");
} // }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment