Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Problems

#1 Waylet configuration by store NEED START

Looking in sandbox configuration, it seems each account has his own set of commerceId, secret and apiKey.

We need to check if this proceeds and how we’ll handle on our side in case we need to store this data by restaurant in our platform.

This ticket was created to track this: IBFEC-1697 - Getting issue details... STATUS

cc Raphael Ferreira Gomes Ruani, Andrea

Repositories on this feature

Business Rules

  • Similar to Paypal and Bizum, Waylet has his own interface, provided by Paycomet, which should be instantiated per request of checkout link.

  • Waylet should be identified on Admin/Support Tool

Breakdown

The tasks are almost the same as we done implementing Bizum. Here a copy of the steps just in case the original page get archived.

  1. Add Waylet into packages (original source)

    1. Repo: intl-packages
      Waylet must be added in CartGooglePaymentTypeExclusion, XenialDeliveryPayTypeId and RBIPaymentCard, then run the yarn build command.

Pro tip: when making any modifications to the package, the other repositories only receive these new modifications after running Bumps.

  1. Add to Loyalty (original source)

    1. Repo: intl-loyalty

    2. In the "loyalty-middleware" folder, update the packages

    3. Bump the new version of @rbilabs/intl-payments in intl-loyalty/loyalty-middleware

    4. Build the loyalty middleware: yarn install && yarn build

    5. Generate the loyalty middleware sdk: yarn sdk:generate . This creates loyalty middleware SDK with MdwRBIPaymentCard

    6. Then, finally, in WL-GQL you can load this latest version of intl-loyalty-middleware-sdk

  2. Add to Fulfillment (original source)

    1. Repo: intl-fulfillment-service

    2. Update Packages

    3. Define Waylet in CARD_TYPE_TO_MDW, this file.

    4. Define Waylet in MAP_GQL_CART_PAYMENT_TO_COMMON, this file.

    5. Define Waylet in MAP_GQL_CART_PAYMENT_TO_RBI_COMMON, this file.

  3. Add to Paycomet Payment Service (original source)

    1. Repo: intl-psp-paycomet-service

    2. Taking advantage of Bizum refactor to accomodate both Bizum and Paypal, we just need to add the Waylet ENUM in the payment-core/common.types.ts, like here.

    3. Add Waylet into payment-core/paycomet-helper.ts, like here.

    4. And add it in the outcome validations, take a look at outcome folder..

Sequence Diagram

image-20240305-121214.png

https://sequencediagram.org/

title Paycomet Waylet Payment (Delivery)

Frontend->GraphQL:generateCheckoutLink()\n<< methodId: 41 >>
GraphQL->GraphQL:get Order and Store info
GraphQL->Paycomet-PSP-Service:POST {pspServiceBaseURL}api/v1/links/checkout\n << To generate HPP URL >>
Paycomet-PSP-Service->Paycomet(External):POST {paycometBaseURL}/v1/payments
Paycomet-PSP-Service<-Paycomet(External):Return Waylet link
Paycomet-PSP-Service->GraphQL:Return sanitized Hosted Page URL
GraphQL->Frontend:Return Hosted Page URL
Frontend->Paycomet(External):Render Hosted Page
Frontend-->Paycomet(External):Submit Waylet Validation\n<< After guest interaction with Hosted Page >>
Paycomet(External)-->Paycomet-PSP-Service: Callback URL OK/NOK
Paycomet-PSP-Service->Frontend:Return Payment Outcome
Frontend->GraphQL:commitOrder() mutation\n<< Backend commit disabled >>
GraphQL->Paycomet-PSP-Service: validateSale()
Paycomet-PSP-Service-->GraphQL: Sale OK/NOK
GraphQL->GraphQL: Hydrate Order and Update Order status
GraphQL->Frontend: Order Ok, confirmation page.

  • No labels