diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentStateMachineHelper.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentStateMachineHelper.java
index d6a12c4..db1e2fa 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentStateMachineHelper.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentStateMachineHelper.java
@@ -58,6 +58,9 @@ public class PaymentStateMachineHelper {
private static final String CHARGEBACK_SUCCESS = "CHARGEBACK_SUCCESS";
private static final String AUTHORIZE_PENDING = "AUTH_PENDING";
+ private static final String PURCHASE_PENDING = "PURCHASE_PENDING";
+ private static final String REFUND_PENDING = "REFUND_PENDING";
+ private static final String CREDIT_PENDING = "CREDIT_PENDING";
private static final String AUTHORIZE_FAILED = "AUTH_FAILED";
private static final String CAPTURE_FAILED = "CAPTURE_FAILED";
@@ -116,8 +119,14 @@ public class PaymentStateMachineHelper {
switch (transactionType) {
case AUTHORIZE:
return AUTHORIZE_PENDING;
+ case PURCHASE:
+ return PURCHASE_PENDING;
+ case REFUND:
+ return REFUND_PENDING;
+ case CREDIT:
+ return CREDIT_PENDING;
default:
- throw new IllegalStateException("Unsupported transaction type " + transactionType);
+ throw new IllegalStateException("No PENDING state for transaction type " + transactionType);
}
}