killbill-memoizeit

Make sure payment sytem thros an exception if payment plugin

7/17/2014 6:57:31 PM

Details

diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentOperation.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentOperation.java
index b4ff388..f2ae352 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentOperation.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PaymentOperation.java
@@ -159,6 +159,9 @@ public abstract class PaymentOperation extends OperationCallbackBase implements 
             //
             if (paymentStateContext.getOverridePluginOperationResult() == null) {
                 final PaymentTransactionInfoPlugin paymentInfoPlugin = doCallSpecificOperationCallback();
+                if (paymentInfoPlugin == null) {
+                    throw new PaymentApiException(ErrorCode.PAYMENT_PLUGIN_EXCEPTION, "Payment plugin returned a null result");
+                }
                 paymentStateContext.setPaymentInfoPlugin(paymentInfoPlugin);
                 return processPaymentInfoPlugin();
             } else {