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

抽取支付配置

parent 9dce3e07
......@@ -119,57 +119,6 @@ public class WXPay {
String sign = MD5Util.MD5Encode(sb.toString(), "UTF-8").toUpperCase();
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 生成签名
......
......@@ -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.util.HTTPSUtils;
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.process.ResultCode;
import com.github.wxiaoqi.security.common.util.process.SystemConfig;
......@@ -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.website.entity.OrderInfo;
import com.upyuns.platform.rs.website.feign.WebsiteFeign;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -56,6 +58,7 @@ import static com.upyuns.platform.rs.universal.constant.DictionaryKey.UNIVERSAL_
*/
@Service
@Slf4j
@Data
public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
@Autowired
......@@ -70,6 +73,27 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
@Value("${universal.url}")
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}")
// private String wy_secret;
......@@ -117,7 +141,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
Integer payWay = orderPayVo.getPayWay() == null ? 1 : orderPayVo.getPayWay();
String sellerAccount = null;
if (payWay == 2) {//支付宝
sellerAccount = SystemConfig.ALIPAY_PID;
sellerAccount = ALIPAY_PID;
orderPayVo.setPayType(2);
jsParam = generateAliPayment(orderPayVo, notifyUrl);
if (StringUtils.isNotBlank(jsParam)) {
......@@ -135,10 +159,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
}
}
} 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);
} else if (payWay == 3) { //对公账户支付
sellerAccount = SystemConfig.APP_PARTNER;
sellerAccount = APP_PARTNER;
}
log.info("报名费回调路径jsParam:" + jsParam);
......@@ -206,7 +230,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
log.info("alipay notify message={}", msg);
//支付宝回调验签
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) {
log.info("alipay order rsaCheckV1 fail, result={}", msg);
return ObjectRestResponse.createDefaultFail().getMessage();
......@@ -261,9 +285,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
private AlipayClient getAlipayClient() {
AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do",
SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON,
"utf-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
AlipayClient alipayClient = new DefaultAlipayClient(ALIPAY_PAY_BASE_URL + "/gateway.do",
ALIPAY_APPID, ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON,
"utf-8", ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
return alipayClient;
}
......@@ -567,20 +591,20 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
stringBuilder.append("apiname=");
stringBuilder.append("com.alipay.account.auth");
stringBuilder.append("&app_id=");
stringBuilder.append(SystemConfig.ALIPAY_APPID);
stringBuilder.append(ALIPAY_APPID);
stringBuilder.append("&app_name=");
stringBuilder.append("mc");
stringBuilder.append("&auth_type=AUTHACCOUNT");
stringBuilder.append("&biz_type=openservice");
stringBuilder.append("&method=alipay.open.auth.sdk.code.get");
stringBuilder.append("&pid=");
stringBuilder.append(SystemConfig.ALIPAY_PID);
stringBuilder.append(ALIPAY_PID);
stringBuilder.append("&product_id=APP_FAST_LOGIN");
stringBuilder.append("&scope=kuaijie");
stringBuilder.append("&sign_type=RSA2");
stringBuilder.append("&target_id=");
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);
return stringBuilder.toString();
......@@ -675,8 +699,8 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
model.setSubject("订单费用");
}
model.setTotalAmount(realAmount.toString()); // 结算支付金额
model.setSellerId(SystemConfig.ALIPAY_PID); // 填写卖家支付宝账户pid
model.setBuyerId(SystemConfig.ALIPAY_APPID); // 填写预授权用户uid,通过预授权冻结接口返回的payer_user_id字段获取
model.setSellerId(ALIPAY_PID); // 填写卖家支付宝账户pid
model.setBuyerId(ALIPAY_APPID); // 填写预授权用户uid,通过预授权冻结接口返回的payer_user_id字段获取
if (StringUtils.isNotBlank(refundReason)) {
model.setBody(refundReason); // 可填写备注信息
} else {
......@@ -791,23 +815,23 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
}
public static void main(String[] args) throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do",
SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON,
"utf-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setBizContent("{" +
"\"out_trade_no\":\"20150320010101001\"," +
"\"total_amount\":88.88," +
"\"subject\":\"Iphone6 16G\"," +
"\"body\":\"Iphone6 16G\"" +
" }");
AlipayTradePrecreateResponse response = alipayClient.execute(request);
System.out.println(response.getBody());
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
// AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do",
// SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON,
// "utf-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
// AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
// request.setBizContent("{" +
// "\"out_trade_no\":\"20150320010101001\"," +
// "\"total_amount\":88.88," +
// "\"subject\":\"Iphone6 16G\"," +
// "\"body\":\"Iphone6 16G\"" +
// " }");
// AlipayTradePrecreateResponse response = alipayClient.execute(request);
// System.out.println(response.getBody());
// if(response.isSuccess()){
// System.out.println("调用成功");
// } else {
// 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