Skip to content

Support for app purchases using other services than Mobilepay #337

@duckth

Description

@duckth

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:

  1. 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.
  2. Use some other payment processor like Adyen
    Needs research into fees and rules
  3. "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.
  4. 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

Metadata

Metadata

Assignees

Labels

discussDiscuss before implementingenhancementNew idea, feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions