Class DefaultPayPalOrderService

    • Method Detail

      • createPayPalOrder

        public Order createPayPalOrder​(@NonNull
                                       @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest,
                                       boolean performCheckoutOnReturn,
                                       boolean capture)
        Description copied from interface: PayPalOrderService
        Creates a PayPal Order.
        Specified by:
        createPayPalOrder in interface PayPalOrderService
        Parameters:
        paymentRequest - The gateway PaymentRequest containing the information necessary to construct the order
        performCheckoutOnReturn - Indicates if we should start checkout after the user has authorized the order
        Returns:
        The new Order
      • updateOrderCustomId

        public void updateOrderCustomId​(@NonNull
                                        @NonNull String orderId,
                                        @NonNull
                                        @NonNull String customId,
                                        @NonNull
                                        @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
        Description copied from interface: PayPalOrderService
        Updates the PayPal Order to include the provided custom ID value.
        Specified by:
        updateOrderCustomId in interface PayPalOrderService
        Parameters:
        orderId - the primary identifier of the PayPal Order
        customId - the value that is to be stored on the PayPal Order object
        paymentRequest - The originating PaymentRequest
      • getIntent

        public String getIntent​(boolean performCheckoutOnReturn,
                                boolean capture)
      • constructPaymentSource

        protected PaymentSource constructPaymentSource​(@NonNull
                                                       @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      • getPayerEmail

        @Nullable
        protected String getPayerEmail​(@NonNull
                                       @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      • constructPayee

        @Nullable
        protected Payee constructPayee​(@NonNull
                                       @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
        Constructions a Payee to place on the PurchaseUnit when creating an order. This is used only for PayPal's marketplace offering.
        Parameters:
        paymentRequest - The gateway PaymentRequest with the payment info.
        Returns:
        a Payee to place on the PurchaseUnit or null if no MessageConstants.PAYEE_MERCHANT_ID on PaymentRequest.getAdditionalFields()
      • constructItems

        protected List<Item> constructItems​(@NonNull
                                            @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      • constructShippingDetail

        @Nullable
        protected ShippingDetail constructShippingDetail​(@NonNull
                                                         @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      • convertToMoney

        protected Optional<Money> convertToMoney​(@Nullable
                                                 javax.money.MonetaryAmount amount)
      • getStateCode

        @Nullable
        protected String getStateCode​(@NonNull
                                      @NonNull com.broadleafcommerce.paymentgateway.domain.Address<com.broadleafcommerce.paymentgateway.domain.PaymentRequest> address)
        PayPal supports only the State code with a short form, e.g. "AL" instead of "US-AL".
      • createOrder

        protected Order createOrder​(@NonNull
                                    @NonNull OrderRequest orderRequest,
                                    @NonNull
                                    @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      • updateOrder

        protected void updateOrder​(String orderId,
                                   List<Patch> patches,
                                   @NonNull
                                   @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      • constructAmountWithBreakdown

        protected AmountWithBreakdown constructAmountWithBreakdown​(@NonNull
                                                                   @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)