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

do not issue refunds for non-refundable payment types

tags/v0.1.8
Jonathan Cobb 4 лет назад
Родитель
Сommit
cfa9259c1b
2 измененных файлов: 6 добавлений и 0 удалений
  1. +2
    -0
      bubble-server/src/main/java/bubble/model/bill/PaymentMethodType.java
  2. +4
    -0
      bubble-server/src/main/java/bubble/service/bill/StandardRefundService.java

+ 2
- 0
bubble-server/src/main/java/bubble/model/bill/PaymentMethodType.java Просмотреть файл

@@ -13,4 +13,6 @@ public enum PaymentMethodType {

@JsonCreator public static PaymentMethodType fromString(String v) { return enumFromString(PaymentMethodType.class, v); }

public boolean refundable() { return this == credit; }

}

+ 4
- 0
bubble-server/src/main/java/bubble/service/bill/StandardRefundService.java Просмотреть файл

@@ -40,6 +40,10 @@ public class StandardRefundService extends SimpleDaemon implements RefundService
for (AccountPlan accountPlan : pendingPlans) {
try {
final AccountPaymentMethod paymentMethod = paymentMethodDAO.findByUuid(accountPlan.getPaymentMethod());
if (!paymentMethod.getPaymentMethodType().refundable()) {
log.info("process: not issuing refund for plan "+accountPlan.getUuid()+" because paymentMethodType="+paymentMethod.getPaymentMethodType());
continue;
}
final CloudService paymentCloud = cloudDAO.findByUuid(paymentMethod.getCloud());
final PaymentServiceDriver paymentDriver = paymentCloud.getPaymentDriver(configuration);
paymentDriver.refund(accountPlan.getUuid());


Загрузка…
Отмена
Сохранить