Interface PayPalCheckoutConfiguration

All Superinterfaces:
org.broadleafcommerce.common.payment.service.PaymentGatewayConfiguration
All Known Implementing Classes:
PayPalCheckoutConfigurationImpl

public interface PayPalCheckoutConfiguration extends org.broadleafcommerce.common.payment.service.PaymentGatewayConfiguration
Author:
Elbert Bautista (elbertbautista)
  • Method Summary

    Modifier and Type
    Method
    Description
    See the PayPal API to see what additional configs you can set: https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/
    The Paypal NVP API only allows a single field with custom logic in it: PAYMENTREQUEST_n_CUSTOM.
     
     
     
     
    Type declaration for the label to be displayed in MiniCart for UX.

    Methods inherited from interface org.broadleafcommerce.common.payment.service.PaymentGatewayConfiguration

    getFailureReportingThreshold, getGatewayType, handlesAuthorize, handlesAuthorizeAndCapture, handlesCapture, handlesMultiplePayments, handlesMultipleShipment, handlesPartialCapture, handlesRecurringPayment, handlesRefund, handlesReverseAuthorize, handlesSavedCustomerPayment, handlesVoid, isPerformAuthorizeAndCapture, setFailureReportingThreshold, setPerformAuthorizeAndCapture
  • Method Details

    • getEnvironment

      String getEnvironment()
    • getTotalType

      String getTotalType()
      Type declaration for the label to be displayed in MiniCart for UX. It is one of the following values: - Total - EstimatedTotal
      Returns:
      String
    • getAdditionalConfig

      Map<String,String> getAdditionalConfig()

      See the PayPal API to see what additional configs you can set: https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/

      e.g. Map<String, String> additionalConfigs = new HashMap<String, String>(); additionalConfigs.put("HDRBORDERCOLOR", "FFFFFF"); additionalConfigs.put("HDRBACKCOLOR", "FFFFFF"); additionalConfigs.put("PAYFLOWCOLOR", "FFFFFF");

      This adds additional NVP items to the Paypal request that are ONLY pre-specified in the Paypal API docs. Any other fields will be ignored. If you want to use completely custom fields, see getAdditionalCustomFields()

      Returns:
      Map
    • getAdditionalCustomFields

      Map<String,String> getAdditionalCustomFields()

      The Paypal NVP API only allows a single field with custom logic in it: PAYMENTREQUEST_n_CUSTOM. Because of this, all of the fields returned here are serialized together like so:

       ccoc=true_12345|key1=value1|key2=value2|key3=value3
       

      Note that Broadleaf uses a piece of this to determine if we should complete checkout on callback or not. This is done as "ccoc=true_12345" where true is the value of PaymentRequestDTO.isCompleteCheckoutOnCallback(). So, the minimum string that will be contained in the custom field is ccoc=true_12345, plus whatever other fields you have.

      Also note that the entire custom field string after serialization is 256 characters. An IllegalArgumentException will be thrown otherwise.

    • getPaymentDescription

      String getPaymentDescription()
    • getClientId

      String getClientId()
    • getClientSecret

      String getClientSecret()