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(com.broadleafcommerce.paymentgateway.domain.PaymentRequest paymentRequest, boolean performCheckoutOnReturn, boolean capture)
    Creates 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(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.