@RequiredArgsConstructor
public class AuthorizeAndCapture {
private final CheckoutComTransactionService checkoutComTransactionService;
public void performAuthorizationAndCapture() {
CurrencyUnit currency = Monetary.getCurrency(currencyCode);
MonetaryAmount transactionTotal = Monetary.getDefaultAmountFactory().setCurrency(currency).setNumber(amount).create();
PaymentRequest paymentRequest = new PaymentRequest()
.transactionReferenceId(transactionReferenceId)
.transactionTotal(transactionTotal)
.additionalField(CheckoutConstants.TOKEN, cardToken)
.tenantId("TENANT");
PaymentResponse paymentResponse = checkoutComTransactionService.authorizeAndCapture(paymentRequest);
paymentResponse.isSuccessful();
paymentResponse.getGatewayResponseCode();
paymentResponse.getFailureType();
paymentResponse.getRawResponse();
paymentResponse.getResponseMap().get(CheckoutConstants.PAYMENT_ID);
}
}