broadleaf:
cartoperation:
service:
checkout:
checkout-payment-method-options:
- payment-method-type: CREDIT_CARD
payment-method-gateway-type: MY_GATEWAY_TYPE
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 option in responses from the checkout payment expectations endpoint, as well as 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
By default, standard payment method option validation is bypassed during the checkout activity workflow. To enable strict verification of cart payments against these configured options, gateways, and user restrictions during checkout processing, configure the following validation property:
broadleaf:
cartoperation:
service:
checkout:
# Whether to execute CheckoutPaymentMethodOption validation in the checkout workflow
checkout-payment-method-validation-enabled: false
|
Note
|
This workflow validation is backed by the exact same service (CheckoutPaymentMethodService) that determines available payment method options for the /payment-expectations & /payment-method-options endpoints. This guarantees that any available options fetched by the frontend during checkout are evaluated using identical business rules during final checkout submission.
|
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
By default, checkout does not require a payment method if the cart total is $0.00. The following property can be used to customize this behavior:
broadleaf:
cartoperation:
service:
checkout:
# Whether to require a payment method even when the cart total is $0.00
payment-required-for-zero-cart-total: false
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