|
@@ -1,6 +1,5 @@
|
|
|
package com.llisoft.pay.service;
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
|
|
@@ -149,7 +148,7 @@ public class AliPayService {
|
|
|
}
|
|
|
logger.info("请求支付宝查询接口返回: {}", result);
|
|
|
// {"alipay_trade_query_response":{"code":"10000","msg":"Success","buyer_logon_id":"ipb***@sandbox.com","buyer_pay_amount":"0.00","buyer_user_id":"2088102170394382","buyer_user_type":"PRIVATE","invoice_amount":"0.00","out_trade_no":"1529637131201603","point_amount":"0.00","receipt_amount":"0.00","send_pay_date":"2018-06-22 11:12:23","total_amount":"12.00","trade_no":"2018062221001004380200826678","trade_status":"TRADE_SUCCESS"},"sign":"gnWtxKDDhkRmoWnfwLVs2RGtt4GbiY+xaVs5+G47D5e9SnQHqGnElKme4jlDdnqhAroX3aqyJLVexohBjzA+DlpRzDhIu5EZLXnDr/B2FZEVjyiU66ImVH6vSyWyOVEjbGIgmVhUslhXqXYK5KxAx3QAdLrJLQeMO/gUdjs0qWcGO9yTU/suDy0YcdLSLlFyUutwD2MBz4Ri0tBk+uHjpxXoTZeb9/lQ7e4BixwCy+wB3hcESWN1b/m77YLKztmbLy67auhxzP9TRwQQ+6WRrTdMe/9rouIt6AW9T+6XSFd/LwL73Qo+1MfQa+iEUx2Iq+AYekhSgVyLJMRgz/qoZA=="}
|
|
|
- Map<String, Object> resultMap = JsonUtil.toObject(result, HashMap.class);
|
|
|
+ Map<String, Object> resultMap = JsonUtil.toObject(result, Map.class, String.class, Object.class);
|
|
|
Map<String, String> map = (Map<String, String>) resultMap.get("alipay_trade_query_response");
|
|
|
if(!"10000".equals(map.get("code"))) {
|
|
|
logger.error("支付宝查询: 接口状态异常: {}", map);
|
|
@@ -157,10 +156,14 @@ public class AliPayService {
|
|
|
}
|
|
|
// 验证支付宝交易状态
|
|
|
if(!this.checkStatus(map)) {
|
|
|
- logger.error("支付宝查询: 交易状态异常: {}", map);
|
|
|
+ logger.error("支付宝处理: 交易状态异常: {}", map);
|
|
|
return false;
|
|
|
}
|
|
|
- return this.dispose(map);
|
|
|
+ // 完成支付
|
|
|
+ String tradenum = map.get("trade_no"); // 支付宝交易号
|
|
|
+ int totalAmount = DecimalUtil.toInt(map.get("total_amount")); // 实际支付金额
|
|
|
+ payService.finish(paynum, tradenum, totalAmount, PayService.FLAG_NOTIFY);
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -172,12 +175,12 @@ public class AliPayService {
|
|
|
public boolean dispose(Map<String, String> map) throws Exception {
|
|
|
// 验证签名
|
|
|
if(!this.checkSign(map)) {
|
|
|
- logger.error("支付宝异步通知: 签名验证失败: {}", map);
|
|
|
+ logger.error("支付宝处理: 签名验证失败: {}", map);
|
|
|
return false;
|
|
|
}
|
|
|
// 验证支付宝交易状态
|
|
|
if(!this.checkStatus(map)) {
|
|
|
- logger.error("支付宝异步通知: 交易状态异常: {}", map);
|
|
|
+ logger.error("支付宝处理: 交易状态异常: {}", map);
|
|
|
return false;
|
|
|
}
|
|
|
// 完成支付
|