diff --git a/README.md b/README.md index f39aad12a..ea24040fe 100644 --- a/README.md +++ b/README.md @@ -65,13 +65,18 @@ Please make sure your merchant has Variant true in API and responses section so Credit Card payments are supported using Checkout Components. +### Apple Pay + +[Apple Pay](https://docs.adyen.com/payment-methods/apple-pay/) is supported using Checkout Components. + + ### Ratepay Ratepay is supported via Adyen API. ### Boleto -[Boleto](https://docs.adyen.com/developers/payment-methods/boleto-bancario) is supported via Adyen API. +[Boleto](https://docs.adyen.com/payment-methods/boleto-bancario) is supported via Adyen API. ### Paypal Express Checkout Shortcut diff --git a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/src/com/adyen/v6/controllers/pages/AdyenComponentController.java b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/src/com/adyen/v6/controllers/pages/AdyenComponentController.java index a18cc312b..34aa3b7fb 100644 --- a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/src/com/adyen/v6/controllers/pages/AdyenComponentController.java +++ b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/src/com/adyen/v6/controllers/pages/AdyenComponentController.java @@ -22,6 +22,7 @@ import com.adyen.model.checkout.PaymentMethodDetails; import com.adyen.model.checkout.PaymentsResponse; +import com.adyen.model.checkout.details.ApplePayDetails; import com.adyen.model.checkout.details.MbwayDetails; import com.adyen.model.checkout.details.PayPalDetails; import com.adyen.service.exception.ApiException; @@ -98,6 +99,8 @@ public String componentPayment(final HttpServletRequest request) throws AdyenCom paymentMethodDetails = gson.fromJson(requestJson.get("paymentMethodDetails"), PayPalDetails.class); } else if("mbway".equals(paymentMethod)) { paymentMethodDetails = gson.fromJson(requestJson.get("paymentMethodDetails"), MbwayDetails.class); + } else if("applepay".equals(paymentMethod)) { + paymentMethodDetails = gson.fromJson(requestJson.get("paymentMethodDetails"), ApplePayDetails.class); } else { throw new InvalidCartException("checkout.error.paymentethod.formentry.invalid"); } diff --git a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/src/com/adyen/v6/controllers/pages/AdyenSummaryCheckoutStepController.java b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/src/com/adyen/v6/controllers/pages/AdyenSummaryCheckoutStepController.java index 1e17d616f..905c37e6e 100644 --- a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/src/com/adyen/v6/controllers/pages/AdyenSummaryCheckoutStepController.java +++ b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/src/com/adyen/v6/controllers/pages/AdyenSummaryCheckoutStepController.java @@ -63,7 +63,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.io.IOException; import java.net.SocketTimeoutException; import java.util.Arrays; import java.util.HashMap; @@ -83,6 +82,7 @@ import static com.adyen.v6.constants.AdyenControllerConstants.CART_PREFIX; import static com.adyen.v6.constants.AdyenControllerConstants.SELECT_PAYMENT_METHOD_PREFIX; import static com.adyen.v6.constants.AdyenControllerConstants.SUMMARY_CHECKOUT_PREFIX; +import static com.adyen.v6.constants.Adyenv6coreConstants.PAYMENT_METHOD_APPLEPAY; import static com.adyen.v6.constants.Adyenv6coreConstants.PAYMENT_METHOD_BOLETO; import static com.adyen.v6.constants.Adyenv6coreConstants.PAYMENT_METHOD_CC; import static com.adyen.v6.constants.Adyenv6coreConstants.PAYMENT_METHOD_MULTIBANCO; @@ -607,7 +607,8 @@ private String redirectToOrderSummaryWithError(final Model model, final RedirectAttributes redirectAttributes, final String messageKey) throws CommerceCartModificationException, CMSItemNotFoundException { final CartData cartData = getCheckoutFacade().getCheckoutCart(); - if(cartData == null || cartData.getAdyenPaymentMethod() == null) { + if(cartData == null || cartData.getAdyenPaymentMethod() == null + || PAYMENT_METHOD_APPLEPAY.equals(cartData.getAdyenPaymentMethod())) { return redirectToSelectPaymentMethodWithError(redirectAttributes, messageKey); } diff --git a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/messages/base.properties b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/messages/base.properties index 74cdef5c7..f2a4a4028 100644 --- a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/messages/base.properties +++ b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/messages/base.properties @@ -34,3 +34,4 @@ payment.method.terminal.selector=Select your terminal checkout.summary.spinner.message=Please wait while your payment is processed. Do not click back or refresh the page. checkout.summary.component.mbway.payment=Provide your MB WAY account data to finalize your payment +checkout.summary.component.notavailable=This payment method is not available on your current browser or device diff --git a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/messages/base_en.properties b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/messages/base_en.properties index 74cdef5c7..f2a4a4028 100644 --- a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/messages/base_en.properties +++ b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/messages/base_en.properties @@ -34,3 +34,4 @@ payment.method.terminal.selector=Select your terminal checkout.summary.spinner.message=Please wait while your payment is processed. Do not click back or refresh the page. checkout.summary.component.mbway.payment=Provide your MB WAY account data to finalize your payment +checkout.summary.component.notavailable=This payment method is not available on your current browser or device diff --git a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/tags/responsive/checkoutOrderSummary.tag b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/tags/responsive/checkoutOrderSummary.tag index aee1c36be..6cdf69502 100644 --- a/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/tags/responsive/checkoutOrderSummary.tag +++ b/adyenv6b2ccheckoutaddon/acceleratoraddon/web/webroot/WEB-INF/tags/responsive/checkoutOrderSummary.tag @@ -11,9 +11,9 @@ <%-- Components --%> - - <%-- Paypal button --%> - + + <%-- Render Paypal or Apple Pay button --%> +
-
+
@@ -32,8 +32,8 @@
-<%-- Paypal has it's own button --%> - +<%-- Paypal and Apple Pay has it's own button --%> +