Well the payment system doesn’t have much to do with securing your checkout process. It is just the last step of the shopping process which includes the checkout.
The local storage(in the shopping cart context) is just used for one reason: to remember info to the user on their device. But that is just about it. Shouldn’t be used as source of truth.
Price, description, stock availability are things that should be stored on server-side. That can be rows in the database, a json file stored in the server, etc.
When retrieving the cart on the browser you should make a call to the server to verify latest price, description and stock availability and update local storage if needed to reflect the latest data. But what’s more important is that the information sent to the payment gateway has to come from the server(database, json file). Never directly from the browser.
In wappler terms. Do not checkout directly datastore information. Send datastore information(id, quantity) to server connect and checkout data retrieved by server connect from your database/jsonfile/etc (id_price*quantity)
I will check the project as soon as possible I saw your video and looked pretty good.