diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java
index cfb8305..c8ff0b2 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/ChargebackResource.java
@@ -16,6 +16,24 @@
package com.ning.billing.jaxrs.resources;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.ning.billing.invoice.api.InvoiceApiException;
@@ -27,25 +45,9 @@ import com.ning.billing.jaxrs.util.Context;
import com.ning.billing.jaxrs.util.JaxrsUriBuilder;
import com.ning.billing.payment.api.PaymentApi;
import com.ning.billing.payment.api.PaymentApiException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
@Singleton
-@Path(JaxrsResource.PREFIX)
+@Path(JaxrsResource.CHARGEBACKS_PATH)
public class ChargebackResource implements JaxrsResource {
private static final Logger log = LoggerFactory.getLogger(ChargebackResource.class);
@@ -66,7 +68,7 @@ public class ChargebackResource implements JaxrsResource {
}
@GET
- @Path("/chargebacks/{chargebackId:" + UUID_PATTERN + "}")
+ @Path("/{chargebackId:" + UUID_PATTERN + "}")
@Produces(APPLICATION_JSON)
public Response getChargeback(@PathParam("chargebackId") String chargebackId) {
try {
@@ -82,7 +84,7 @@ public class ChargebackResource implements JaxrsResource {
}
@GET
- @Path("/accounts/{accountId:" + UUID_PATTERN + "}/chargebacks")
+ @Path("/accounts/{accountId:" + UUID_PATTERN + "}")
@Produces(APPLICATION_JSON)
public Response getForAccount(@PathParam("accountId") String accountId) {
List<InvoicePayment> chargebacks = invoicePaymentApi.getChargebacksByAccountId(UUID.fromString(accountId));
@@ -93,7 +95,7 @@ public class ChargebackResource implements JaxrsResource {
}
@GET
- @Path("/payments/{paymentId:" + UUID_PATTERN + "}/chargebacks")
+ @Path("/payments/{paymentId:" + UUID_PATTERN + "}")
@Produces(APPLICATION_JSON)
public Response getForPayment(@PathParam("paymentId") String paymentId) {
UUID paymentAttemptId = null;
@@ -121,16 +123,15 @@ public class ChargebackResource implements JaxrsResource {
}
@POST
- @Path("/chargebacks")
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
public Response createChargeback(final ChargebackJson json,
- @HeaderParam(HDR_CREATED_BY) final String createdBy,
- @HeaderParam(HDR_REASON) final String reason,
- @HeaderParam(HDR_COMMENT) final String comment) {
+ @HeaderParam(HDR_CREATED_BY) final String createdBy,
+ @HeaderParam(HDR_REASON) final String reason,
+ @HeaderParam(HDR_COMMENT) final String comment) {
try {
invoicePaymentApi.processChargeback(UUID.fromString(json.getPaymentId()), json.getChargebackAmount(),
- context.createContext(createdBy, reason, comment));
+ context.createContext(createdBy, reason, comment));
return uriBuilder.buildResponse(ChargebackResource.class, "getChargeback", json.getPaymentId());
} catch (InvoiceApiException e) {
final String error = String.format("Failed to create chargeback %s", json);
diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
index d208ce9..b35b2bf 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/JaxrsResource.java
@@ -77,6 +77,9 @@ public interface JaxrsResource {
public static final String CREDITS = "credits";
public static final String CREDITS_PATH = PREFIX + "/" + CREDITS;
+ public static final String CHARGEBACKS = "chargebacks";
+ public static final String CHARGEBACKS_PATH = PREFIX + "/" + CHARGEBACKS;
+
public static final String TAGS = "tags";
public static final String CUSTOM_FIELDS = "custom_fields";
}