Skip to content

Commit

Permalink
AD-50 save express checkout guid in session
Browse files Browse the repository at this point in the history
  • Loading branch information
pjaneta committed Nov 20, 2023
1 parent 3a911c3 commit f410926
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.adyen.v6.facades.AdyenExpressCheckoutFacade;
import com.adyen.v6.request.ApplePayExpressCartRequest;
import com.adyen.v6.request.ApplePayExpressPDPRequest;
import de.hybris.platform.acceleratorstorefrontcommons.constants.WebConstants;
import de.hybris.platform.acceleratorstorefrontcommons.security.GUIDCookieStrategy;
import de.hybris.platform.servicelayer.session.SessionService;
import org.apache.log4j.Logger;
Expand Down Expand Up @@ -40,7 +41,7 @@ public ResponseEntity applePayExpressPDP(final HttpServletRequest request, final
applePayExpressPDPRequest.getApplePayToken(), request);

guidCookieStrategy.setCookie(request, response);
sessionService.setAttribute("anonymous_checkout", Boolean.TRUE);
sessionService.setAttribute(WebConstants.ANONYMOUS_CHECKOUT, Boolean.TRUE);

return new ResponseEntity<>(paymentsResponse, HttpStatus.OK);
}
Expand All @@ -53,7 +54,7 @@ public ResponseEntity cartExpressCheckout(final HttpServletRequest request, fina
applePayExpressCartRequest.getApplePayToken(), request);

guidCookieStrategy.setCookie(request, response);
sessionService.setAttribute("anonymous_checkout", Boolean.TRUE);
sessionService.setAttribute(WebConstants.ANONYMOUS_CHECKOUT, Boolean.TRUE);

return new ResponseEntity<>(paymentsResponse, HttpStatus.OK);
}
Expand Down
1 change: 1 addition & 0 deletions adyenv6core/resources/adyenv6core-spring.xml
Original file line number Diff line number Diff line change
Expand Up @@ -510,5 +510,6 @@
<property name="zoneDeliveryModeService" ref="zoneDeliveryModeService"/>
<property name="adyenCheckoutFacade" ref="adyenCheckoutFacade"/>
<property name="cartConverter" ref="cartConverter"/>
<property name="sessionService" ref="sessionService"/>
</bean>
</beans>
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import de.hybris.platform.servicelayer.dto.converter.Converter;
import de.hybris.platform.servicelayer.i18n.CommonI18NService;
import de.hybris.platform.servicelayer.model.ModelService;
import de.hybris.platform.servicelayer.session.SessionService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.validator.routines.EmailValidator;
Expand All @@ -45,6 +46,8 @@ public class DefaultAdyenExpressCheckoutFacade implements AdyenExpressCheckoutFa
private static final Logger LOG = Logger.getLogger(DefaultAdyenExpressCheckoutFacade.class);
private static final String USER_NAME = "ApplePayExpressGuest";
private static final String DELIVERY_MODE_CODE = "adyen-express-checkout";
public static final String ANONYMOUS_CHECKOUT_GUID = "anonymous_checkout_guid";

private CartFactory cartFactory;
private CartService cartService;
private ProductService productService;
Expand All @@ -57,6 +60,7 @@ public class DefaultAdyenExpressCheckoutFacade implements AdyenExpressCheckoutFa
private DeliveryModeService deliveryModeService;
private ZoneDeliveryModeService zoneDeliveryModeService;
private AdyenCheckoutFacade adyenCheckoutFacade;
private SessionService sessionService;
private Converter<AddressData, AddressModel> addressReverseConverter;
private Converter<CartModel, CartData> cartConverter;

Expand Down Expand Up @@ -114,6 +118,9 @@ public PaymentsResponse expressPDPCheckout(AddressData addressData, String produ

PaymentsResponse paymentsResponse = adyenCheckoutFacade.componentPayment(request, cartData, applePayDetails);

sessionService.setAttribute(ANONYMOUS_CHECKOUT_GUID,
org.apache.commons.lang.StringUtils.substringBefore(cart.getUser().getUid(), "|"));

cartService.setSessionCart(sessionCart);

return paymentsResponse;
Expand Down Expand Up @@ -160,6 +167,9 @@ public PaymentsResponse expressCartCheckout(AddressData addressData, String merc
ApplePayDetails applePayDetails = new ApplePayDetails();
applePayDetails.setApplePayToken(applePayToken);

sessionService.setAttribute(ANONYMOUS_CHECKOUT_GUID,
org.apache.commons.lang.StringUtils.substringBefore(cart.getUser().getUid(), "|"));

return adyenCheckoutFacade.componentPayment(request, cartData, applePayDetails);
} else {
throw new InvalidCartException("Checkout attempt on empty cart");
Expand Down Expand Up @@ -281,4 +291,8 @@ public void setAdyenCheckoutFacade(AdyenCheckoutFacade adyenCheckoutFacade) {
public void setCartConverter(Converter<CartModel, CartData> cartConverter) {
this.cartConverter = cartConverter;
}

public void setSessionService(SessionService sessionService) {
this.sessionService = sessionService;
}
}

0 comments on commit f410926

Please sign in to comment.