|
@@ -28,6 +28,7 @@ import org.apache.http.entity.StringEntity;
|
|
|
import org.apache.http.impl.client.CloseableHttpClient;
|
|
|
import org.apache.http.util.EntityUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.web.bind.annotation.PathVariable;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
@@ -124,6 +125,50 @@ public class WxProviderServiceImpl implements WxProviderService {
|
|
|
return Base64.getEncoder().encodeToString(sign.sign());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 订单号查询订单
|
|
|
+ *
|
|
|
+ * @param orderNo orderNo
|
|
|
+ * @return Map
|
|
|
+ */
|
|
|
+ public Map<String, Object> getPayResultByOrderNo(String orderNo) {
|
|
|
+ log.info("根据订单号查询订单,订单号: {}", orderNo);
|
|
|
+ String url = WxConstants.BASE_URL.concat("/pay/partner/transactions/out-trade-no/".concat(orderNo))
|
|
|
+ .concat("?sp_mchid=").concat(WxConstants.SP_MCH_ID)
|
|
|
+ .concat("&sub_mchid=").concat(WxConstants.SUB_MCH_ID);
|
|
|
+ String res = wechatHttpGet(url);
|
|
|
+ log.info("查询订单结果:{}", res);
|
|
|
+ Map<String, Object> resMap = JSONObject.parseObject(res, new TypeReference<Map<String, Object>>() {
|
|
|
+ });
|
|
|
+ String outTradeNo = resMap.get("out_trade_no").toString();
|
|
|
+ String appId = resMap.get("sp_appid").toString();
|
|
|
+ String mchId = resMap.get("sp_mchid").toString();
|
|
|
+ String subMchId = resMap.get("sub_mchid").toString();
|
|
|
+ // 支付后才返回参数
|
|
|
+ Object payer = resMap.get("payer");
|
|
|
+ Object attach = resMap.get("attach");
|
|
|
+ /*
|
|
|
+ 交易状态,枚举值:
|
|
|
+ SUCCESS:支付成功
|
|
|
+ REFUND:转入退款
|
|
|
+ NOTPAY:未支付
|
|
|
+ CLOSED:已关闭
|
|
|
+ REVOKED:已撤销(仅付款码支付会返回)
|
|
|
+ USERPAYING:用户支付中(仅付款码支付会返回)
|
|
|
+ PAYERROR:支付失败(仅付款码支付会返回)
|
|
|
+ */
|
|
|
+ String tradeState = resMap.get("trade_state").toString();
|
|
|
+ log.info("outTradeNo:" + outTradeNo);
|
|
|
+ log.info("appId:" + appId);
|
|
|
+ log.info("mchId:" + mchId);
|
|
|
+ log.info("tradeState:" + tradeState);
|
|
|
+ log.info("payer:" + payer);
|
|
|
+ log.info("payer:" + attach);
|
|
|
+ log.info("subMchId:" + subMchId);
|
|
|
+ return resMap;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 关闭(取消)订单
|
|
|
*
|