Details
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
index d9df67f..563e877 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SubscriptionResource.java
@@ -66,6 +66,7 @@ import org.killbill.billing.entitlement.api.SubscriptionBundle;
import org.killbill.billing.events.BlockingTransitionInternalEvent;
import org.killbill.billing.events.EffectiveSubscriptionInternalEvent;
import org.killbill.billing.events.InvoiceCreationInternalEvent;
+import org.killbill.billing.events.InvoicePaymentErrorInternalEvent;
import org.killbill.billing.events.NullInvoiceInternalEvent;
import org.killbill.billing.events.PaymentErrorInternalEvent;
import org.killbill.billing.events.PaymentInfoInternalEvent;
@@ -619,6 +620,12 @@ public class SubscriptionResource extends JaxRsResourceBase {
log.info("Got event PaymentPluginError token='{}'", event.getUserToken());
notifyForCompletion();
}
+
+ @Override
+ public void onInvoicePaymentError(final InvoicePaymentErrorInternalEvent event) {
+ log.info("Got event InvoicePaymentError token='{}'", event.getUserToken());
+ notifyForCompletion();
+ }
}
private interface EntitlementCallCompletionCallback<T> {
diff --git a/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestBase.java b/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestBase.java
index 5114def..f48a2e8 100644
--- a/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestBase.java
+++ b/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestBase.java
@@ -29,6 +29,7 @@ import org.killbill.billing.events.BlockingTransitionInternalEvent;
import org.killbill.billing.events.BusInternalEvent;
import org.killbill.billing.events.EffectiveSubscriptionInternalEvent;
import org.killbill.billing.events.InvoiceCreationInternalEvent;
+import org.killbill.billing.events.InvoicePaymentErrorInternalEvent;
import org.killbill.billing.events.NullInvoiceInternalEvent;
import org.killbill.billing.events.PaymentErrorInternalEvent;
import org.killbill.billing.events.PaymentInfoInternalEvent;
@@ -131,6 +132,9 @@ public class CompletionUserRequestBase implements CompletionUserRequest {
case PAYMENT_PLUGIN_ERROR:
onPaymentPluginError((PaymentPluginErrorInternalEvent) curEvent);
break;
+ case INVOICE_PAYMENT_ERROR:
+ onInvoicePaymentError((InvoicePaymentErrorInternalEvent) curEvent);
+ break;
default:
throw new RuntimeException("Unexpected event type " + curEvent.getBusEventType());
}
@@ -172,4 +176,8 @@ public class CompletionUserRequestBase implements CompletionUserRequest {
@Override
public void onPaymentPluginError(final PaymentPluginErrorInternalEvent curEvent) {
}
+
+ @Override
+ public void onInvoicePaymentError(final InvoicePaymentErrorInternalEvent curEvent) {
+ }
}
diff --git a/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestWaiter.java b/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestWaiter.java
index 294149c..6876550 100644
--- a/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestWaiter.java
+++ b/util/src/main/java/org/killbill/billing/util/userrequest/CompletionUserRequestWaiter.java
@@ -25,6 +25,7 @@ import org.killbill.billing.events.BlockingTransitionInternalEvent;
import org.killbill.billing.events.BusInternalEvent;
import org.killbill.billing.events.EffectiveSubscriptionInternalEvent;
import org.killbill.billing.events.InvoiceCreationInternalEvent;
+import org.killbill.billing.events.InvoicePaymentErrorInternalEvent;
import org.killbill.billing.events.NullInvoiceInternalEvent;
import org.killbill.billing.events.PaymentErrorInternalEvent;
import org.killbill.billing.events.PaymentInfoInternalEvent;
@@ -51,4 +52,6 @@ public interface CompletionUserRequestWaiter {
public void onPaymentError(final PaymentErrorInternalEvent curEvent);
public void onPaymentPluginError(final PaymentPluginErrorInternalEvent curEvent);
+
+ public void onInvoicePaymentError(final InvoicePaymentErrorInternalEvent curEvent);
}