Class PayPalPaymentServiceImpl

java.lang.Object
org.broadleafcommerce.vendor.paypal.service.PayPalPaymentServiceImpl
All Implemented Interfaces:
PayPalPaymentService

@Service("blPayPalPaymentService") public class PayPalPaymentServiceImpl extends Object implements PayPalPaymentService
  • Field Details

    • REPLACE_OP_TYPE

      protected static final String REPLACE_OP_TYPE
      See Also:
    • externalCallService

      protected ExternalCallPayPalCheckoutService externalCallService
    • currentOrderPaymentRequestService

      @Autowired(required=false) protected org.broadleafcommerce.common.payment.service.CurrentOrderPaymentRequestService currentOrderPaymentRequestService
    • clientProvider

      protected PayPalClientProvider clientProvider
    • shouldPopulateShippingOnOrderCreation

      @Value("${gateway.paypal.checkout.rest.populate.shipping.create.order:true}") protected boolean shouldPopulateShippingOnOrderCreation
  • Constructor Details

    • PayPalPaymentServiceImpl

      public PayPalPaymentServiceImpl()
  • Method Details

    • createPayPalOrderForCurrentOrder

      public com.paypal.orders.Order createPayPalOrderForCurrentOrder(boolean performCheckoutOnReturn) throws org.broadleafcommerce.common.vendor.service.exception.PaymentException
      Description copied from interface: PayPalPaymentService
      Creates a PayPal Order
      Specified by:
      createPayPalOrderForCurrentOrder in interface PayPalPaymentService
      Parameters:
      performCheckoutOnReturn - Indicates if we should start checkout after the user has authorized the payment
      Returns:
      The new Order
      Throws:
      org.broadleafcommerce.common.vendor.service.exception.PaymentException
    • updatePayPalOrderForFulfillment

      public void updatePayPalOrderForFulfillment() throws org.broadleafcommerce.common.vendor.service.exception.PaymentException
      Description copied from interface: PayPalPaymentService
      Updates the PayPal Order to be in sync with the Broadleaf order. This method should be used when fulfillment or pricing information changes after Order creation. For creating payment use PayPalPaymentService.createPayPalOrderForCurrentOrder(boolean)
      Specified by:
      updatePayPalOrderForFulfillment in interface PayPalPaymentService
      Throws:
      org.broadleafcommerce.common.vendor.service.exception.PaymentException
    • createOrder

      protected com.paypal.orders.Order createOrder(com.paypal.orders.OrderRequest orderRequest, org.broadleafcommerce.common.payment.dto.PaymentRequestDTO paymentRequest) throws org.broadleafcommerce.common.vendor.service.exception.PaymentException
      Throws:
      org.broadleafcommerce.common.vendor.service.exception.PaymentException
    • updateOrder

      protected void updateOrder(String orderId, List<com.paypal.orders.Patch> patches, org.broadleafcommerce.common.payment.dto.PaymentRequestDTO paymentRequest) throws org.broadleafcommerce.common.vendor.service.exception.PaymentException
      Throws:
      org.broadleafcommerce.common.vendor.service.exception.PaymentException
    • constructPayee

      protected com.paypal.orders.Payee constructPayee(org.broadleafcommerce.common.payment.dto.PaymentRequestDTO paymentRequest)
    • constructPayer

      protected com.paypal.orders.Payer constructPayer(org.broadleafcommerce.common.payment.dto.PaymentRequestDTO paymentRequestDTO)
    • getPayerEmail

      protected String getPayerEmail(org.broadleafcommerce.common.payment.dto.PaymentRequestDTO paymentRequestDTO)
    • constructItems

      protected List<com.paypal.orders.Item> constructItems(org.broadleafcommerce.common.payment.dto.PaymentRequestDTO paymentRequest)
    • constructShippingDetail

      protected com.paypal.orders.ShippingDetail constructShippingDetail(org.broadleafcommerce.common.payment.dto.PaymentRequestDTO paymentRequest)
    • constructAmountWithBreakdown

      protected com.paypal.orders.AmountWithBreakdown constructAmountWithBreakdown(org.broadleafcommerce.common.payment.dto.PaymentRequestDTO paymentRequest)
    • convertToMoney

      protected com.paypal.orders.Money convertToMoney(String value, String currencyCode)
    • getPaymentRequestForCurrentOrder

      public org.broadleafcommerce.common.payment.dto.PaymentRequestDTO getPaymentRequestForCurrentOrder() throws org.broadleafcommerce.common.vendor.service.exception.PaymentException
      Specified by:
      getPaymentRequestForCurrentOrder in interface PayPalPaymentService
      Throws:
      org.broadleafcommerce.common.vendor.service.exception.PaymentException
    • getPayPalOrderIdFromCurrentOrder

      public String getPayPalOrderIdFromCurrentOrder() throws org.broadleafcommerce.common.vendor.service.exception.PaymentException
      Specified by:
      getPayPalOrderIdFromCurrentOrder in interface PayPalPaymentService
      Throws:
      org.broadleafcommerce.common.vendor.service.exception.PaymentException
    • getPayPalPayerIdFromCurrentOrder

      public String getPayPalPayerIdFromCurrentOrder() throws org.broadleafcommerce.common.vendor.service.exception.PaymentException
      Specified by:
      getPayPalPayerIdFromCurrentOrder in interface PayPalPaymentService
      Throws:
      org.broadleafcommerce.common.vendor.service.exception.PaymentException
    • setPayPalOrderIdOnCurrentOrder

      public void setPayPalOrderIdOnCurrentOrder(String orderId) throws org.broadleafcommerce.common.vendor.service.exception.PaymentException
      Specified by:
      setPayPalOrderIdOnCurrentOrder in interface PayPalPaymentService
      Throws:
      org.broadleafcommerce.common.vendor.service.exception.PaymentException
    • setPayPalPayerIdOnCurrentOrder

      public void setPayPalPayerIdOnCurrentOrder(String payerId) throws org.broadleafcommerce.common.vendor.service.exception.PaymentException
      Specified by:
      setPayPalPayerIdOnCurrentOrder in interface PayPalPaymentService
      Throws:
      org.broadleafcommerce.common.vendor.service.exception.PaymentException
    • getIntent

      public String getIntent(boolean performCheckoutOnReturn)