Просмотр исходного кода

fix cryptomus支付发票有效期

zwhui 3 лет назад
Родитель
Сommit
edb2a9fa24

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/model/request/CryptomusPayReq.java

@@ -27,8 +27,21 @@ public class CryptomusPayReq {
      */
     private String url_callback;
 
+    /**
+     * 区块链网络代码
+     */
     private String network;
 
     private String status;
 
+    /**
+     * 已发出发票的寿命(以秒为单位)
+     */
+    private Integer lifetime;
+
+    /**
+     * 是否允许用户支付剩余金额。 当用户尚未为一笔交易支付发票的全部金额,并且您希望允许他支付最多全额金额时,这很有用。 如果您禁用此功能,发票将在收到第一笔付款后完成,您将收到资金到您的余额。
+     */
+    private Boolean is_payment_multiple;
+
 }

+ 4 - 2
netflix-service/src/main/java/com/cyksj/service/cryptomus/CryptomusService.java

@@ -63,9 +63,11 @@ public class CryptomusService {
         CryptomusPayReq cryptomusPay = new CryptomusPayReq();
         cryptomusPay.setAmount(String.valueOf(orderDon.getMoney().divide(new BigDecimal(100), 2, RoundingMode.HALF_DOWN)));
         cryptomusPay.setCurrency("USD");
+        cryptomusPay.setLifetime(1800);
         cryptomusPay.setOrder_id(orderId.toString());
         cryptomusPay.setUrl_callback(host + "/applets/order/cryptomus/notify");
         cryptomusPay.setUrl_success(successUrl);
+        cryptomusPay.setIs_payment_multiple(true);
         String json = Jsons.toJson(cryptomusPay);
         String result = HttpRequest.post("https://api.cryptomus.com/v1/payment").header("merchant", shopId).header("sign", MD5.create().digestHex(Base64.encode(json) + shopKey)).body(json).execute().body();
 
@@ -94,7 +96,7 @@ public class CryptomusService {
     public void notify(CryptomusReturnRep cryptomusReturnRep) throws Exception {
         log.info("cryptomus 支付回调 用户信息:{}", cryptomusReturnRep);
         //支付成功
-        if("paid".equals(cryptomusReturnRep.getStatus())){
+        if("paid".equals(cryptomusReturnRep.getStatus()) || "paid_over".equals(cryptomusReturnRep.getStatus())){
             String sign = cryptomusReturnRep.getSign();
             ObjectMapper mapper = new ObjectMapper();
             ObjectNode jsonNode = mapper.valueToTree(cryptomusReturnRep);
@@ -135,7 +137,7 @@ public class CryptomusService {
             orderDonService.updateById(orderDon);
             return true;
         }
-        log.info("paypal return refund:{}",cryptomusRefundRep);
+        log.info("cryptomus return refund:{}",cryptomusRefundRep);
         return false;
     }