make a local setup and install the original extension with the required Magento version of 2.4.4 and Scandipwa version of 6.0.3
how the admin panel should be configured
how are the different configuration setups and their corresponding behavior on the Luma theme
understanding the relationship between extension and external EveryPay endpoints
using the VsCode debugger to understand the code flow of normal user behaviors on the front end
try to understand the code structure in the original extension
getting general config data from the backend to frontend:
make a plugin for putting the available payments method under the Every Pay option on the Checkout Billing page
make a plugin to complete order action in Checkout Billing on Every Pay methods selection
make a query to get the generated URLs for the iframe or redirect approach based on user billing information and register the order number
make a redux plugin to get the Iframe or redirect approach selection for how to complete the order
make a redux plugin to see if one of Every pay method is selected so that on complete order we can show the loader while we retrieve the URL for payment
make the landing page
make the functionality of validating payment status on the landing page
make a query and Resolver for Payment Validation
make a plugin to register the landing page URL
render EveryPay payment methods
When users visit the checkout page, the payment methods of EveryPay should be rendered if available for the current client who owns the website. The client should have set up an account in the EveryPay portal and added their payment methods there.
load Iframe or separate redirect page
After the user selected one of the sub-methods of EveryPay on the checkout page and clicked the “Complete order” button they should be redirected or be able to see the Iframe based on the client settings in the admin panel.
show the landing page after the process of payment is completed or canceled
When the user completes the payment process either successfully or with failure, they should be redirected to our landing page. On this page based on the reference number we can check the status of that payment and show it to the customer.
Not supported features:
Please note that this extension requires the original Lumav-Every extension to function, you can get/purchase it from the official website. pay attention that the vendor does not support composer so you need to download the module and put it in the App\Code as instructed on the official website.
To configure the extension follow the instructions described in the original extension official documentation.
Some specific Configurations:
Change the payment approach to Iframe of redirect way:
In the admin panel⇒stores⇒configurations=>sales=>Payment Methods, you can find the EveryPay extension tab on the page. In the EveryPay section go to “Payment Integration Variants” and you can choose Iframe or redirect way. Also, save the config and flush the cash.