diff --git a/src/main/java/au/com/royalpay/payment/manage/riskbusiness/core/impl/RiskBusinessServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/riskbusiness/core/impl/RiskBusinessServiceImpl.java index f8670482d..23bdc5cbf 100644 --- a/src/main/java/au/com/royalpay/payment/manage/riskbusiness/core/impl/RiskBusinessServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/riskbusiness/core/impl/RiskBusinessServiceImpl.java @@ -66,6 +66,7 @@ import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; import org.thymeleaf.context.Context; import org.thymeleaf.spring5.SpringTemplateEngine; @@ -940,16 +941,17 @@ public class RiskBusinessServiceImpl implements RiskBusinessService, ManagerTodo ctx.setVariable("title", "RoyalPay风控调查 — " + client.getString("short_name")); break; case RISK_ORDER_TYPE_CHARGEBACK: - for (String orderId : realOrderIds) { - JSONObject order = orderMapper.findOrderById(orderId, client.getIntValue("client_id")); - if (order == null) { - throw new BadRequestException("Order: " + orderId + " not exists"); - } - order.put(ExtParamsUtils.EXT_PARAMS, ExtParamsUtils.getExtParams(order)); - orders.add(order); + Assert.isTrue(realOrderIds.length == 1, "Invalid risk event"); + String orderId = realOrderIds[0]; + JSONObject order = orderMapper.findOrderById(orderId, client.getIntValue("client_id")); + if (order == null) { + throw new BadRequestException("Order: " + orderId + " not exists"); } + order.put("pay_time", DateFormatUtils.format(order.getDate("pay_time"), "yyyy-MM-dd HH:mm:ss")); + + order.put(ExtParamsUtils.EXT_PARAMS, ExtParamsUtils.getExtParams(order)); + ctx.setVariable("orderInfo", order); ctx.setVariable("title", "Chargeback Notification from UPay"); - ctx.setVariable("orders", orders); break; } return ctx; diff --git a/src/main/resources/templates/mail/risk_upload_mail.html b/src/main/resources/templates/mail/risk_upload_mail.html index 011d2a56a..70050b154 100644 --- a/src/main/resources/templates/mail/risk_upload_mail.html +++ b/src/main/resources/templates/mail/risk_upload_mail.html @@ -146,58 +146,58 @@ RoyalPay's risk management system has identified abnormal transactions from your records in a short time(Single person pays large sums several timesfrequent refund transactions),which triggered the platform risk control warning. Here reminds: Do not use the platform for illegal transactions. Once verified, the payment authority will be closed.
- ,
-
- 由于消费者申请Chargeback,请于
-
- 下午5:00(悉尼时间)前
- 尽可能提供以下证明材料:
+ You have received a Chargeback for the following transaction from the Cardholder's bank.
+ The transaction funds have been temporarily frozen.You have been charged the Chargeback Fee 40AUD as indicated
+ in your Pricing Schedule and the original transaction amount has been debited from your account balance.
+ Please provide the materials in English by
+ by 6:00 pm (Sydney time).
+
+ 您已收到来自持卡人银行的Chargeback。因此该交易款已被暂时冻结,并从您的账户余额中扣除Chargeback Fee 40AUD。请在
+
+ 下午6:00(悉尼时间)前
+ 提供以下英文版材料:
+
+ If you have already reversed this transaction, please provide details of the refund so that we can return the
+ debit to the Cardholder's bank.
+ If you have not refunded this transaction, or if an error has occurred, do not process a refund to the
+ Cardholder's account.
+ 如果您已处理退款,请提供退款详情,以便我们将借记的款项退回持卡人的银行。如果您未退款,或者发生了错误,请不要向持卡人的帐户进行退款。
- Due to customer applied chargeback issue. Please provide as much materials as best for the transaction - before (Sydney time). + Please send (Where applicable):
-1、持卡人签名授权书和/或收据的清晰副本
1. A legible copy of the signed authority and/or receipts from the Cardholder.
-2、任何税务发票和/或签署的披露取消政策的副本
+1、持卡人签名授权书和/或收据的清晰副本
2. Copy of any tax invoice/s and/or signed disclosure of cancellation policy.
-3、与在线购买的任何数字商品的销售有关的任何交易信息
+2、任何税务发票和/或签署的披露取消政策的副本
3. Any transaction Information relating to the sale of any digital goods purchased online.
-4、提供的商品/服务的说明和/或交付/收货的证明。(消费者买了什么,商家卖了什么,消费者收没收到货,如何收到的)
+3、与在线购买的任何数字商品的销售有关的任何交易信息
4. Description of the goods/services supplied and/or proof of delivery/collection of goods.
-5、邮件订单/电话订单交易收据的副本
+4、提供的商品/服务的说明和/或交付/收货的证明。(消费者买了什么,商家卖了什么,消费者收没收到货,如何收到的)
5. Copy of Mail Order/telephone order transaction receipt.
-6、持卡人身份或与持卡人的任何形式的通信,包括电子邮件通信。
+5、邮件订单/电话订单交易收据的副本
6. Cardholder identification or any form of communication with the Cardholder, including email correspondence.
+6、持卡人身份或与持卡人的任何形式的通信,包括电子邮件通信。
-Order ID | -Amount | -Status | -Create Time | -Card Number | -
---|---|---|---|---|
- | - | - | - | - |
Chargeback将会扣除$40作为Chargeback Fee,同时扣除对应订单交易额,申诉成功后将返还订单交易额,还请及时提交材料。 感谢,辛苦。
diff --git a/src/main/ui/static/analysis/clearing-log.js b/src/main/ui/static/analysis/clearing-log.js index 015a32a85..7872bc1b1 100644 --- a/src/main/ui/static/analysis/clearing-log.js +++ b/src/main/ui/static/analysis/clearing-log.js @@ -423,7 +423,7 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func $scope.configHoliday = function (date) { let holiday = $scope.activeDates[$filter('date')(date, 'yyyy/MM/dd')]; if (holiday == null) { - holiday = {'holiday': date, regions: []} + holiday = {'holiday': $filter('date')(date, 'yyyy/MM/dd'), regions: []} } $uibModal.open({ templateUrl: '/static/analysis/templates/dialog_holiday_config.html',