Details
diff --git a/api/src/main/java/com/ning/billing/events/BusInternalEvent.java b/api/src/main/java/com/ning/billing/events/BusInternalEvent.java
index 0a798ad..6867096 100644
--- a/api/src/main/java/com/ning/billing/events/BusInternalEvent.java
+++ b/api/src/main/java/com/ning/billing/events/BusInternalEvent.java
@@ -38,6 +38,7 @@ public interface BusInternalEvent extends BusEvent {
INVOICE_EMPTY,
OVERDUE_CHANGE,
PAYMENT_ERROR,
+ PAYMENT_PLUGIN_ERROR,
PAYMENT_INFO,
SUBSCRIPTION_TRANSITION,
USER_TAGDEFINITION_CREATION,
diff --git a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
index ea3db2d..b21288c 100644
--- a/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
+++ b/beatrix/src/main/java/com/ning/billing/beatrix/extbus/BeatrixListener.java
@@ -48,6 +48,7 @@ import com.ning.billing.events.InvoiceCreationInternalEvent;
import com.ning.billing.events.OverdueChangeInternalEvent;
import com.ning.billing.events.PaymentErrorInternalEvent;
import com.ning.billing.events.PaymentInfoInternalEvent;
+import com.ning.billing.events.PaymentPluginErrorInternalEvent;
import com.ning.billing.events.SubscriptionInternalEvent;
import com.ning.billing.events.UserTagCreationInternalEvent;
import com.ning.billing.events.UserTagDeletionInternalEvent;
@@ -182,6 +183,13 @@ public class BeatrixListener {
eventBusType = ExtBusEventType.PAYMENT_FAILED;
break;
+ case PAYMENT_PLUGIN_ERROR:
+ PaymentPluginErrorInternalEvent realEventPayPluginErr = (PaymentPluginErrorInternalEvent) event;
+ objectType = ObjectType.PAYMENT;
+ objectId = realEventPayPluginErr.getPaymentId();
+ eventBusType = ExtBusEventType.PAYMENT_FAILED;
+ break;
+
case OVERDUE_CHANGE:
OverdueChangeInternalEvent realEventOC = (OverdueChangeInternalEvent) event;
objectType = ObjectType.ACCOUNT;
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
index 5ca3936..f464200 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/SubscriptionResource.java
@@ -61,6 +61,7 @@ import com.ning.billing.events.InvoiceCreationInternalEvent;
import com.ning.billing.events.NullInvoiceInternalEvent;
import com.ning.billing.events.PaymentErrorInternalEvent;
import com.ning.billing.events.PaymentInfoInternalEvent;
+import com.ning.billing.events.PaymentPluginErrorInternalEvent;
import com.ning.billing.jaxrs.json.CustomFieldJson;
import com.ning.billing.jaxrs.json.SubscriptionJson;
import com.ning.billing.jaxrs.util.Context;
@@ -341,6 +342,12 @@ public class SubscriptionResource extends JaxRsResourceBase {
log.info(String.format("Got event PaymentError token = %s ", event.getUserToken()));
notifyForCompletion();
}
+
+ @Override
+ public void onPaymentPluginError(final PaymentPluginErrorInternalEvent event) {
+ log.info(String.format("Got event PaymentPluginError token = %s ", event.getUserToken()));
+ notifyForCompletion();
+ }
}
private interface EntitlementCallCompletionCallback<T> {
diff --git a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentPluginErrorEvent.java b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentPluginErrorEvent.java
index db409b7..29372a2 100644
--- a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentPluginErrorEvent.java
+++ b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentPluginErrorEvent.java
@@ -65,7 +65,7 @@ public class DefaultPaymentPluginErrorEvent extends BusEventBase implements Paym
@JsonIgnore
@Override
public BusInternalEventType getBusEventType() {
- return BusInternalEventType.PAYMENT_ERROR;
+ return BusInternalEventType.PAYMENT_PLUGIN_ERROR;
}
@Override
diff --git a/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java b/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java
index 84a5e3a..7d6c11c 100644
--- a/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java
+++ b/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestBase.java
@@ -29,6 +29,7 @@ import com.ning.billing.events.InvoiceCreationInternalEvent;
import com.ning.billing.events.NullInvoiceInternalEvent;
import com.ning.billing.events.PaymentErrorInternalEvent;
import com.ning.billing.events.PaymentInfoInternalEvent;
+import com.ning.billing.events.PaymentPluginErrorInternalEvent;
public class CompletionUserRequestBase implements CompletionUserRequest {
@@ -123,6 +124,9 @@ public class CompletionUserRequestBase implements CompletionUserRequest {
case PAYMENT_ERROR:
onPaymentError((PaymentErrorInternalEvent) curEvent);
break;
+ case PAYMENT_PLUGIN_ERROR:
+ onPaymentPluginError((PaymentPluginErrorInternalEvent) curEvent);
+ break;
default:
throw new RuntimeException("Unexpected event type " + curEvent.getBusEventType());
}
@@ -157,4 +161,7 @@ public class CompletionUserRequestBase implements CompletionUserRequest {
public void onPaymentError(final PaymentErrorInternalEvent curEvent) {
}
+ @Override
+ public void onPaymentPluginError(final PaymentPluginErrorInternalEvent curEvent) {
+ }
}
diff --git a/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java b/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java
index 99b34dc..898ad3e 100644
--- a/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java
+++ b/util/src/main/java/com/ning/billing/util/userrequest/CompletionUserRequestWaiter.java
@@ -27,6 +27,7 @@ import com.ning.billing.events.InvoiceCreationInternalEvent;
import com.ning.billing.events.NullInvoiceInternalEvent;
import com.ning.billing.events.PaymentErrorInternalEvent;
import com.ning.billing.events.PaymentInfoInternalEvent;
+import com.ning.billing.events.PaymentPluginErrorInternalEvent;
public interface CompletionUserRequestWaiter {
@@ -45,4 +46,6 @@ public interface CompletionUserRequestWaiter {
public void onPaymentInfo(final PaymentInfoInternalEvent curEvent);
public void onPaymentError(final PaymentErrorInternalEvent curEvent);
+
+ public void onPaymentPluginError(final PaymentPluginErrorInternalEvent curEvent);
}