It has been a wish for some time now that we could provide support for purchasing products in the app using some other service than Mobilepay. Discuss ways this could be implemented.
ideas:
- Implement Stripe support in the app for card/GPay/Apple pay support
Code heavy, will take a while. Is also relatively expensive for the café; AFAIK, Stripe takes 1.5% + 1.80kr for domestic cards, but 3.25% + 1.80 kr for international cards, includinig a 2% extra fee for currency conversion. Compared to Zettle's 1.95% flat fee this is fairly steep.
- Use some other payment processor like Adyen
Needs research into fees and rules
- "Issue tickets" feature in Shifty
Meaning that baristas should have a feature in Shifty to issue tickets to a user after taking a card payment in Zettle. This is light on dev work but needs some thinking; since we introduced Magic Link login to Shifty, logging in on the iPads is a bit of a hassle. Also, how do we secure this against "abuse"? Issuing vouchers is a manager privilege - if all baristas can now issue tickets, what's stopping them from giving free tickets? How do we verify a purchase was made?
Idea: Maybe the backend can verify that a payment for the product was made within some time frame.
- Webhook solution using Zettle
Could we have a webhook invoke a controller in analog-core when a purchase is made? That way, we could just sell tickets in Zettle, while somehow inputting the User ID, then have Zettle call our backend and then issue the tickets normally.
Rough idea: Create a product for the tickets and have baristas input the User ID in the comment field. The backend would then receive the webhook request and read the comment field. An obvious issue is the need for inputting the User ID with absolutely no validation; meaning that a missed input would mean a purchase without our backend issuing tickets, needing a refund.
https://developer.zettle.com/docs/api/purchase/api-reference-md
It has been a wish for some time now that we could provide support for purchasing products in the app using some other service than Mobilepay. Discuss ways this could be implemented.
ideas:
Code heavy, will take a while. Is also relatively expensive for the café; AFAIK, Stripe takes 1.5% + 1.80kr for domestic cards, but 3.25% + 1.80 kr for international cards, includinig a 2% extra fee for currency conversion. Compared to Zettle's 1.95% flat fee this is fairly steep.
Needs research into fees and rules
Meaning that baristas should have a feature in Shifty to issue tickets to a user after taking a card payment in Zettle. This is light on dev work but needs some thinking; since we introduced Magic Link login to Shifty, logging in on the iPads is a bit of a hassle. Also, how do we secure this against "abuse"? Issuing vouchers is a manager privilege - if all baristas can now issue tickets, what's stopping them from giving free tickets? How do we verify a purchase was made?
Idea: Maybe the backend can verify that a payment for the product was made within some time frame.
Could we have a webhook invoke a controller in analog-core when a purchase is made? That way, we could just sell tickets in Zettle, while somehow inputting the User ID, then have Zettle call our backend and then issue the tickets normally.
Rough idea: Create a product for the tickets and have baristas input the User ID in the comment field. The backend would then receive the webhook request and read the comment field. An obvious issue is the need for inputting the User ID with absolutely no validation; meaning that a missed input would mean a purchase without our backend issuing tickets, needing a refund.
https://developer.zettle.com/docs/api/purchase/api-reference-md