Add charge failure details to `/v1/subscription/{subscriberId}/receipt_credentials` 402 response
This commit is contained in:
parent
1c3aa87ca6
commit
201c76b861
|
@ -593,7 +593,14 @@ public class StripeManager implements SubscriptionProcessorManager {
|
||||||
throw new WebApplicationException(Status.NO_CONTENT);
|
throw new WebApplicationException(Status.NO_CONTENT);
|
||||||
}
|
}
|
||||||
if (!StringUtils.equalsIgnoreCase("paid", latestSubscriptionInvoice.getStatus())) {
|
if (!StringUtils.equalsIgnoreCase("paid", latestSubscriptionInvoice.getStatus())) {
|
||||||
throw new WebApplicationException(Status.PAYMENT_REQUIRED);
|
final Response.ResponseBuilder responseBuilder = Response.status(Status.PAYMENT_REQUIRED);
|
||||||
|
if (latestSubscriptionInvoice.getChargeObject() != null) {
|
||||||
|
final Charge charge = latestSubscriptionInvoice.getChargeObject();
|
||||||
|
if (charge.getFailureCode() != null || charge.getFailureMessage() != null) {
|
||||||
|
responseBuilder.entity(Map.of("chargeFailure", createChargeFailure(charge)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new WebApplicationException(responseBuilder.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
return getInvoiceLineItemsForInvoice(latestSubscriptionInvoice).thenCompose(invoiceLineItems -> {
|
return getInvoiceLineItemsForInvoice(latestSubscriptionInvoice).thenCompose(invoiceLineItems -> {
|
||||||
|
|
Loading…
Reference in New Issue