Переглянути джерело

do not issue refunds for non-refundable payment types

tags/v0.1.8
Jonathan Cobb 4 роки тому
джерело
коміт
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());


Завантаження…
Відмінити
Зберегти