|
|
@@ -90,10 +90,18 @@ public class PaymentClient implements IPaymentClient {
|
|
|
print(map);
|
|
|
|
|
|
Map<String, String> mapType = null;
|
|
|
+ String url = null;
|
|
|
if (map != null) {
|
|
|
for (Object key : map.keySet()) {
|
|
|
if (key.equals("payinfo")) {
|
|
|
- mapType = JSON.parseObject((String) map.get(key), Map.class);
|
|
|
+ if ("W01".equals(paymentDTO.getPaytype()) ||
|
|
|
+ "A01".equals(paymentDTO.getPaytype()) ||
|
|
|
+ "U01".equals(paymentDTO.getPaytype()) ||
|
|
|
+ "S01".equals(paymentDTO.getPaytype())) {
|
|
|
+ url = (String) map.get(key);
|
|
|
+ } else {
|
|
|
+ mapType = JSON.parseObject((String) map.get(key), Map.class);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -108,15 +116,22 @@ public class PaymentClient implements IPaymentClient {
|
|
|
} else if (return_code.equalsIgnoreCase("SUCCESS")) {
|
|
|
// 返回数据
|
|
|
// 先生成paySign 参考https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=5
|
|
|
- resultObj.put("appId", AnalysisMapUtils.getString("appId", mapType));
|
|
|
- resultObj.put("timeStamp", AnalysisMapUtils.getString("timeStamp", mapType));
|
|
|
- resultObj.put("nonceStr", AnalysisMapUtils.getString("nonceStr", mapType));
|
|
|
- resultObj.put("package", AnalysisMapUtils.getString("package", mapType));
|
|
|
- resultObj.put("signType", AnalysisMapUtils.getString("signType", mapType));
|
|
|
- resultObj.put("partnerid", AnalysisMapUtils.getString("cusid", map));
|
|
|
- resultObj.put("prepayId", AnalysisMapUtils.getString("reqsn", map));
|
|
|
- String paySign = AnalysisMapUtils.getString("paySign", mapType);
|
|
|
- resultObj.put("paySign", paySign);
|
|
|
+ if ("W01".equals(paymentDTO.getPaytype()) ||
|
|
|
+ "A01".equals(paymentDTO.getPaytype()) ||
|
|
|
+ "U01".equals(paymentDTO.getPaytype()) ||
|
|
|
+ "S01".equals(paymentDTO.getPaytype())) {
|
|
|
+ resultObj.put("url", url);
|
|
|
+ }else{
|
|
|
+ resultObj.put("appId", AnalysisMapUtils.getString("appId", mapType));
|
|
|
+ resultObj.put("timeStamp", AnalysisMapUtils.getString("timeStamp", mapType));
|
|
|
+ resultObj.put("nonceStr", AnalysisMapUtils.getString("nonceStr", mapType));
|
|
|
+ resultObj.put("package", AnalysisMapUtils.getString("package", mapType));
|
|
|
+ resultObj.put("signType", AnalysisMapUtils.getString("signType", mapType));
|
|
|
+ resultObj.put("partnerid", AnalysisMapUtils.getString("cusid", map));
|
|
|
+ resultObj.put("prepayId", AnalysisMapUtils.getString("reqsn", map));
|
|
|
+ String paySign = AnalysisMapUtils.getString("paySign", mapType);
|
|
|
+ resultObj.put("paySign", paySign);
|
|
|
+ }
|
|
|
resultObj.put("trxid", AnalysisMapUtils.getString("trxid", map));
|
|
|
return R.data(resultObj);
|
|
|
}
|
|
|
@@ -157,7 +172,7 @@ public class PaymentClient implements IPaymentClient {
|
|
|
if ("1".equals(status)) {
|
|
|
map = service.refundNew(paymentDTO.getTrxamt(), paymentDTO.getReqsn(), paymentDTO.getOldtrxid(), paymentDTO.getOldreqsn(), paymentDTO.getCusId(),
|
|
|
paymentDTO.getAppId(), paymentDTO.getOrgid(), paymentDTO.getTransactionType(), paymentDTO.getSybMdAppkey(), paymentDTO.getSybRsacusprikey(), paymentDTO.getSybRsatlpubkey(),
|
|
|
- paymentDTO.getSybSmpprivatekey(), paymentDTO.getSybSmtlpubkey(), SybConstants.SYB_APIURL_TRANX,paymentDTO.getSybRsaPublickey());
|
|
|
+ paymentDTO.getSybSmpprivatekey(), paymentDTO.getSybSmtlpubkey(), SybConstants.SYB_APIURL_TRANX, paymentDTO.getSybRsaPublickey());
|
|
|
} else {
|
|
|
map = service.refund(paymentDTO.getTrxamt(), paymentDTO.getReqsn(), paymentDTO.getOldtrxid(), paymentDTO.getOldreqsn(), paymentDTO.getCusId(),
|
|
|
paymentDTO.getAppId(), paymentDTO.getOrgid(), paymentDTO.getTransactionType(), paymentDTO.getSybMdAppkey(), paymentDTO.getSybRsacusprikey(), paymentDTO.getSybRsatlpubkey(),
|