Feature/Notable Change | Related Services | Links |
---|---|---|
Introduction of PaymentTransactionServices to store payment data and handle payment gateway interactions |
CartOperationServices, OrderServices, OrderOperationServices, PaymentTransactionServices |
|
Replace Payment status concept with PaymentSummary |
CartOperationServices, OrderOperationServices, PaymentTransactionServices |
|
OrderOps payment transactions (capture, reverse authorize, and refund) are now executed via PaymentTransactionServices |
OrderOperationServices, PaymentTransactionServices |
|
Introduced a payment locking mechanism to avoid multiple processes modifying a payment simultaneously |
CartOperationServices, OrderOperationServices, PaymentTransactionServices |
|
Added hook points for sorting the order’s payments when capturing, refunding, or reverse-authorizing |
OrderOperationServices |
|
Improved support for OMS return/cancellation logic based on offer targets and qualifiers |
CartServices, CartOperationServices, OrderServices, OrderOperationServices, PromotionServices |
|
Removed PaymentGatewayCommon dependency |
OrderOperationServices |
|
Add support for VAT taxes |
CartOperationServices, OrderOperationServices |
broadleaf.orderoperation.campaignprovider.service-client
Description: The service client to use when interacting with the campaign service.
Default value: "orderopsclient"
broadleaf.orderoperation.cart-provider.service-client
Description: The service client to use when interacting with the cart service.
Default value: "orderopsclient"
broadleaf.orderoperation.orderprovider.service-client
Description: The service client to use when interacting with the order service.
Default value: "orderopsclient"
broadleaf.orderoperation.ordergeneration.remove-vat-from-item-price
Description: Indicates if a VAT tax should be removed from an item’s price when creating Order objects.
Default value: true
broadleaf.orderoperation.paymentprovider.url
Description: The base url for an external payment management service.
broadleaf.orderoperation.paymentprovider.payments-uri
Description: The URI path for basic CRUD operations on payments and basic transaction executions on payments.
broadleaf.orderoperation.paymentprovider.lock-payments-uri
Description: The URI path for locking multiple payments.
broadleaf.orderoperation.paymentprovider.unlock-payments-uri
Description: The URI path for unlocking multiple payments.
broadleaf.orderoperation.paymentprovider.capture-uri
Description: The URI path for capture transaction executions.
broadleaf.orderoperation.paymentprovider.reverse-authorize-uri
Description: The URI path for reverse authorize transaction executions.
broadleaf.orderoperation.paymentprovider.refund-uri
Description: The URI path for refund transaction executions.
broadleaf.orderoperation.paymentprovider.service-client
Description: The service client to use when calling payment management services.
Default value: "orderopsclient"
broadleaf.orderoperation.fulfillment-cancelled.auto-reverse-refund.enabled
Renamed from broadleaf.orderoperation.fulfillment-cancelled.auto-void-refund.enabled
Description: Enables automatic reverse authorizing / refunding of payment following cancellation of a fulfillment.
broadleaf.orderoperation.fulfillment-fulfilled.auto-reverse-unused-payments.enabled
Renamed from broadleaf.orderoperation.fulfillment-fulfilled.auto-void-unused-payments.enabled
Description: Enables automatic reversal of any remaining authorized but non-captured payments on an order whenever the last fulfillment is fulfilled.
Since payment interactions have been moved to the PaymentTransactionService as of 1.7, OrderOps will need the payment provider specified so that it can communicate with Payment Transaction Services. To configure this provider, configure the following property:
broadleaf:
orderoperation:
paymentprovider:
url: 'https://localhost:8447'
Note
|
Default ports:
|
The default client configurations have changed for service-to-service communication.
In short, the following properties need to be configured:
spring:
security:
oauth2:
client:
registration:
orderopsclient:
authorization-grant-type: client_credentials
client-id: orderopsclient
client-secret: order_ops_secret
provider:
orderopsclient:
token-uri: https://localhost:8443/oauth/token
For more details on the full scope of these changes, please review the AuthServices release notes.
There are new permissions and scopes for some service OAuth2 clients. Permissions and scopes can be added via admin or sql script.
See AuthServices release notes for more details.
Auth Server | Service | Service ID | New Scopes | New Permissions |
---|---|---|---|---|
Services |
Order Ops Service Client |
orderopsclient |
SYSTEM_PAYMENT_MANAGEMENT, EXECUTE_AUTHORIZE, EXECUTE_AUTHORIZE_AND_CAPTURE, EXECUTE_REVERSE_AUTHORIZE, EXECUTE_CAPTURE, EXECUTE_REFUND, CAMPAIGN_CODE |
ALL_SYSTEM_PAYMENT_MANAGEMENT, ALL_EXECUTE_AUTHORIZE, ALL_EXECUTE_AUTHORIZE_AND_CAPTURE, ALL_EXECUTE_REVERSE_AUTHORIZE, ALL_EXECUTE_CAPTURE, ALL_EXECUTE_REFUND, ALL_CAMPAIGN_CODE |