diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/mappers/ExceptionMapperBase.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/mappers/ExceptionMapperBase.java
index 35cd19f..c97bf29 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/mappers/ExceptionMapperBase.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/mappers/ExceptionMapperBase.java
@@ -145,7 +145,8 @@ public abstract class ExceptionMapperBase {
}
protected Response buildPluginTimeoutResponse(final Exception e, final UriInfo uriInfo) {
- final Response.ResponseBuilder responseBuilder = Response.status(Status.ACCEPTED);
+ // 504 - Gateway Timeout
+ final Response.ResponseBuilder responseBuilder = Response.status(504);
serializeException(e, uriInfo, responseBuilder);
return new LoggingResponse(e, responseBuilder.build());
}
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java
index 962c160..aed4630 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java
@@ -547,6 +547,7 @@ public abstract class JaxRsResourceBase implements JaxrsResource {
return Response.status(402).build();
case PAYMENT_SYSTEM_OFF:
case UNKNOWN:
+ // Return a 503
return Response.status(Status.SERVICE_UNAVAILABLE).build();
case PLUGIN_FAILURE:
return Response.status(502).build();