Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The first solution is to add a mapper just to the frontend to obtain the types of cards accepted for payment and directly obtain these values ​​that will be displayed. Changing accepted cards is very infrequently, we would not have problems with changes in these fields.

✅ Pros:

  • Quick implementation

(error) Cons:

  • Changes to information require engineering time

Solution #2 - Get accepted cards in the launch-darkly

In this solution we would have the flexibility of a more dynamic change, but we would be linking the feature to the feature flag and adding another flag to the system.

✅ Pros:

  • Quick implementation

  • Ease of changing card type values

(error) Cons:

  • The number of feature flags (eg: dev plk es, dev plk pt, dev bk es, dev bk pt and etc) created for each region/environment is high due to the way the frontend FD is created.

Solution #3 - Get accepted cards in the backend with launch-darkly

...

Expand
titlehttps://sequencediagram.org/
Code Block
note over Frontend,Graphql: No endpoint implentation
Frontend->Payment Service: Get accepted card types
Payment Service->Launch Darkly (Platform): Get feature flag value
Payment Service<-Launch Darkly (Platform): Retrieve feature flag value
Payment Service->Frontend:Retrieve accepted card types

✅ Pros:

  • Ease of changing card type values

(error) Cons:

  • More robust implementation

  • Creating new endpoints

Solution #3.2 - Frontend integrate endpoint directly to graphql/fulfillment

...

Expand
titlehttps://sequencediagram.org/
Code Block
Frontend->Graphql: Get accepted card types
Graphql->Launch Darkly (Platform): Get feature flag value
Graphql<-Launch Darkly (Platform): Retrieve feature flag value
Frontend<-Graphql:Retrieve accepted card types

✅ Pros:

  • Ease of changing card type values

(error) Cons:

  • More robust implementation

  • Creating new endpoints

Solution #3.3 - Frontend integrate endpoint directly to userAccounts endpoint

...

Expand
titlehttps://sequencediagram.org/
Code Block
Frontend->Graphql (UserAccounts): Get accepted card types
Graphql (UserAccounts)->Launch Darkly (Platform): Get feature flag value
Graphql (UserAccounts)<-Launch Darkly (Platform): Retrieve feature flag value
Frontend<-Graphql (UserAccounts): Retrieve accepted card types

✅ Pros:

  • Ease of changing card type values

  • Endpoint already implemented

(error) Cons:

  • Added another request to userAccounts to obtain feature flag data

✅ Proposed Solution

Solution #2 - Get accepted cards in the launch-darkly

...