From f1d6a12f7cdecd1adc6c5cf44467e10e2b6cb7df Mon Sep 17 00:00:00 2001 From: "egzosn@gmail.com" <930928lI1> Date: Sat, 1 Jul 2017 14:44:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=AE=9D2016=E7=89=88APP?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E4=BF=AE=E5=A4=8D=E7=AD=BE=E5=90=8D=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/ali/before/api/AliPayService.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) 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 1ab19d9..263d014 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 @@ -133,6 +133,7 @@ public class AliPayService extends BasePayService { + /** * 返回创建的订单信息 * @@ -145,7 +146,12 @@ public class AliPayService extends BasePayService { Map orderInfo = getOrder(order); - String sign = createSign(orderInfo, "UTF-8"); + String sign = null; + if (AliTransactionType.APP == order.getTransactionType() ){ + sign = createSign(getOrderInfo(order), payConfigStorage.getInputCharset()); + }else { + sign = createSign(orderInfo, payConfigStorage.getInputCharset()); + } try { sign = URLEncoder.encode(sign, "UTF-8"); @@ -157,6 +163,22 @@ public class AliPayService extends BasePayService { return orderInfo; } + private String getOrderInfo(PayOrder order) { + String orderInfo = "partner=\"" + this.payConfigStorage.getPartner() + "\""; + orderInfo = orderInfo + "&seller_id=\"" + this.payConfigStorage.getSeller() + "\""; + orderInfo = orderInfo + "&out_trade_no=\"" + order.getOutTradeNo() + "\""; + orderInfo = orderInfo + "&subject=\"" + order.getSubject() + "\""; + orderInfo = orderInfo + "&body=\"" + order.getBody() + "\""; + orderInfo = orderInfo + "&total_fee=\"" + order.getPrice().setScale(2, BigDecimal.ROUND_HALF_UP).toString() + "\""; + orderInfo = orderInfo + "¬ify_url=\"" + this.payConfigStorage.getNotifyUrl() + "\""; + orderInfo = orderInfo + "&service=\"mobile.securitypay.pay\""; + orderInfo = orderInfo + "&payment_type=\"1\""; + orderInfo = orderInfo + "&_input_charset=\""+ payConfigStorage.getInputCharset()+"\""; + orderInfo = orderInfo + "&it_b_pay=\"30m\""; + orderInfo = orderInfo + "&return_url=\""+payConfigStorage.getReturnUrl()+"\""; + return orderInfo; + } + /** * 支付宝创建订单信息 * create the order info