Interface PayPalOrderService

All Known Implementing Classes:
DefaultPayPalOrderService

public interface PayPalOrderService
Defines a service as supporting create and update actions for Orders.
Author:
Nathan Moore
  • Method Summary

    Modifier and Type
    Method
    Description
    createPayPalOrder(@NonNull OrderRequest order, @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
    Creates a PayPal Order.
    createPayPalOrder(com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest, boolean performCheckoutOnReturn, boolean capture)
    Creates a PayPal Order.
    fetchPayPalOrder(@NonNull String payPalOrderId, @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
    Fetches a PayPal Order.
    void
    updateOrderCustomId(String orderId, String customId, com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
    Updates the PayPal Order to include the provided custom ID value.
    void
    updatePayPalOrder(com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
    Updates the PayPal Order to be in sync with the Broadleaf order.
  • Method Details

    • createPayPalOrder

      Order createPayPalOrder(@NonNull @NonNull OrderRequest order, @NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      Creates a PayPal Order.
      Parameters:
      order - The OrderRequest containing the information to send to PayPal
      paymentRequest - The gateway PaymentRequest containing the information necessary to help build the order
      Returns:
      The new Order
      Throws:
      com.broadleafcommerce.paymentgateway.service.exception.PaymentException - if the PayPalCreateOrderRequest returns an exception once executed. This could be because the initial request is configured invalidly or because the PayPal APIs responded with an error.
      Since:
      Micro PayPal 3.0.2
    • fetchPayPalOrder

      Order fetchPayPalOrder(@NonNull @NonNull String payPalOrderId, @NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      Fetches a PayPal Order.
      Parameters:
      payPalOrderId - PayPal's order ID
      paymentRequest - The gateway PaymentRequest containing the information necessary to retrieve the order
      Returns:
      The existing Order
      Throws:
      com.broadleafcommerce.paymentgateway.service.exception.PaymentException - if the request returns an exception once executed. This could be because the PayPal APIs responded with an error.
      Since:
      Micro PayPal 3.0.2
    • createPayPalOrder

      Order createPayPalOrder(com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest, boolean performCheckoutOnReturn, boolean capture)
      Creates a PayPal Order.
      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
      Throws:
      com.broadleafcommerce.paymentgateway.service.exception.PaymentException - if the PayPalCreateOrderRequest returns an exception once executed. This could be because the initial request is configured invalidly or because the PayPal APIs responded with an error.
    • updatePayPalOrder

      void updatePayPalOrder(com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      Updates the PayPal Order to be in sync with the Broadleaf order.

      Our default implementation of this method updates the pricing information in the PayPal order after Order creation to keep both order representations in sync. For creating an order use createPayPalOrder(PaymentRequest, boolean, boolean).

      Parameters:
      paymentRequest - The gateway PaymentRequest
      Throws:
      com.broadleafcommerce.paymentgateway.service.exception.PaymentException - if the PayPalUpdateOrderRequest returns an exception once executed. This could be because the initial request is configured invalidly or because the PayPal APIs responded with an error.
    • updateOrderCustomId

      void updateOrderCustomId(String orderId, String customId, com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest)
      Updates the PayPal Order to include the provided custom ID value.
      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
      Throws:
      com.broadleafcommerce.paymentgateway.service.exception.PaymentException - if the PayPalUpdateOrderRequest returns an exception once executed. This could be because the initial request is configured invalidly or because the PayPal APIs responded with an error.