Broadleaf Microservices
  • v1.0.0-latest-prod

Checkout Configuration

for balanced flexpackage, or maybe just mention when basic.messaging is disabled since 2.2.0-GA RT, use this

Prior to 2.2.0-GA RT, use both

The following properties can be added to CartOperationServices to configure a payment gateway integration.

Note
In the examples below, MY_GATEWAY_TYPE represents the common gateway type value that you find with the PaymentTransactionServices Payment and the relevant PaymentGatewayCommon interface implementations related to the gateway.

The following properties are used to declare the gateway as an available payment method in responses from the checkout payment method options endpoint.

broadleaf:
  cartoperation:
    service:
      checkout:
        checkout-payment-method-options:
          - payment-method-type: CREDIT_CARD
            payment-method-gateway-type: MY_GATEWAY_TYPE

MY_GATEWAY_TYPE should be added to the following property to declare when transactions for this gateway should be executed, relative to other gateways, during checkout processing.

broadleaf:
  cartoperation:
    service:
      checkout:
        payment-gateway-priorities:
          - ...
          - MY_GATEWAY_TYPE
          - ...

By default, AUTHORIZE payment transactions are used in checkout. If you wish to use AUTHORIZE_AND_CAPTURE transactions for a specific payment gateway, then you’ll need to provide the following property:

broadleaf:
  cartoperation:
    service:
      checkout:
        checkout-transaction-types:
          MY_GATEWAY_TYPE: AUTHORIZE_AND_CAPTURE

By default, the checkout workflow validation expects payment transactions to be executed within the workflow, so it doesn’t block the checkout attempt due to a lack of transaction results. If you expect transactions for your gateway to be executed & recorded in PaymentTransactionServices prior to entering the checkout workflow, then the workflow payment validation components should be made aware of this via the following property:

broadleaf:
  cartoperation:
    service:
      checkout:
        checkout-transaction-external:
          MY_GATEWAY_TYPE: true

If your integration includes a 3DS check & an implementation of the PaymentGateway3DSTransactionLookupService PaymentGatewayCommon interface, then you’ll want to declare the following property:

broadleaf:
  cartoperation:
    service:
      checkout:
        checkout-lookup-3ds-transactions-enabled:
          MY_GATEWAY_TYPE: true

Messaging Configuration

In certain flexpackage compositions, messaging may be disabled to prevent duplicate listeners, for example, broadleaf.basic.messaging is disabled for the Cart flexpackage.

The following property should be added to CartOperationServices to ensure that checkout-related messaging works properly.

broadleaf:
  cartoperation:
    checkout:
      messaging:
        active: true

Since 2.2.0-GA of ReleaseTrain, only this property is needed. Prior to 2.2.0-GA ReleaseTrain, both the above property and the following property are needed:

broadleaf:
  cart:
    checkout:
      messaging:
        active: true