Add feature flag for processing orders callouts

Background

To get Zuora Orders Harmonization working in CustomersDot, there are many things to still sort out. We've found that with Orders Harmonization enabled in Zuora, when using the Amend API to modify subscriptions, CustomersDot can receive multiple callouts to the subscription_update endpoint. This is because with Order Action Processed callouts configured alongside the Amendment Processed callouts, both will be triggered in Zuora. When the Order feature is used, only the Order Action callout will be triggered.

It seems likely that we will need a feature flag for Orders Harmonization. This will serve as an indicator to know which callouts to process.

Proposal

Introduce a feature flag, orders_harmonization, which will server as an indication of which callouts to process. With the flag enabled, CustomersDot should process Orders-related callouts. If disabled, CustomersDot should process the existing amendment-related callouts.

To distinguish Orders-related callouts from amendments-related callouts, we could check the callout body params for order_id. We're not exactly sure at this moment what type of callout will be used for orders (see this thread for more info), but it seems like whether we go with order processed or order action processed, either one should contain an order_id.

Result

Feature flag created: https://gitlab.com/gitlab-org/customers-gitlab-com/-/feature_flags/104/edit

Edited May 02, 2022 by Tyler Amos
Assignee Loading
Time tracking Loading