Commit c5bfaee9 authored by jiaorz's avatar jiaorz

支付宝支付

parent 72dd2942
......@@ -429,17 +429,19 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
* @param refundReason 退款原因
* @return
*/
public boolean alipayOrderRefund(String outTradeNo, String tradNo, Integer refundAmount, String refundReason) {
public boolean alipayOrderRefund(String outTradeNo, String tradNo, Integer refundAmount, String refundReason) {
AlipayClient alipayClient = getAlipayClient();
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
BigDecimal realAmount = new BigDecimal(refundAmount.toString()).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_UP);
request.setBizContent("{" +
"\"out_trade_no\":\"" + outTradeNo + "\"," +
"\"trade_no\":\"" + tradNo + "\"," +
"\"refund_amount\":" + refundAmount + "," +
"\"refund_amount\":" + realAmount + "," +
"\"out_request_no\":\"" + refundReason + "\"" +
" }");
try{
AlipayTradeRefundResponse response = alipayClient.execute(request);
log.info("支付宝退款中:outTradeNo = {}, tradNo = {}, refundAmount = {}, refundReason = {}", outTradeNo, tradNo, refundAmount, refundReason);
if(response.isSuccess()){
return true;
} else {
......@@ -451,42 +453,4 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
}
return false;
}
public static void main(String[] args) {
AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do",
SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON,
AlipayConstants.CHARSET_UTF8, SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
AlipayFundAuthOrderFreezeRequest arequest = new AlipayFundAuthOrderFreezeRequest();
arequest.setBizContent("{" +
"\"auth_code\":\"28763443825664394\"," +
"\"auth_code_type\":\"bar_code\"," +
"\"out_order_no\":\"8077735255938023\"," +
"\"out_request_no\":\"8077735255938032\"," +
"\"order_title\":\"预授权冻结\"," +
"\"amount\":0.01," +
"\"payee_logon_id\":\"2088531634846583\"," +
"\"payee_user_id\":\"xxfc810@163.com\"," +
"\"pay_timeout\":\"2d\"," +
"\"extra_param\":\"{\\\"secondaryMerchantId\\\":\\\"17320004886\\\"}\"," +
"\"product_code\":\"PRE_AUTH\"," +
"\"trans_currency\":\"USD\"," +
"\"settle_currency\":\"USD\"," +
"\"scene_code\":\"HOTEL\"," +
"\"terminal_params\":\"{\\\"terminalType\\\":\\\"IOT\\\",\\\"signature\\\":\\\"QIIAX8DqbFbNf2oe97FI1RSL\\\",\\\"apdidToken\\\":\\\"xPA3ptuArwYc3F6Va\\\",\\\"signedKeys\\\":\\\"auth,apdidToken\\\"}\"," +
"\"enable_pay_channels\":\"[{\\\"payChannelType\\\":\\\"PCREDIT_PAY\\\"},{\\\"payChannelType\\\":\\\"MONEY_FUND\\\"}]\"," +
"\"identity_params\":\"{\\\"identity_hash\\\":\\\"ABCDEFDxxxxxx\\\",\\\"alipay_user_id\\\":\\\"2088xxx\\\"}\"" +
" }");
try {
AlipayFundAuthOrderFreezeResponse aresponse = alipayClient.execute(arequest);
if (aresponse.isSuccess()) {
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
} catch (Exception e) {
}
}
}
......@@ -90,12 +90,14 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper, OrderRefund> {
String out_trade_no = orderPay.getTradeNo();
boolean flag = false;
if (orderPay.getPayWay() == 2) {
log.info("======支付宝退款中===========");
flag = payBiz.alipayOrderRefund(out_trade_no, orderPay.getSerialNumber(), refundAmount, refundDesc);
} else if(orderPay.getPayWay() == 1){
log.info("======微信退款中===========");
flag = WxPayRefundUtils.refund(appid, mchId, partnerKey, out_trade_no, out_refund_no, payAmount + "",
refundAmount + "", refundDesc, APICLIENT_CERT);
}
if (flag) {
OrderRefund orderRefund = new OrderRefund();
BeanUtils.copyProperties(orderRefund, orderRefundVo);
......
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