Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Stripe into Interledger Pay - PP URL should show payment UI #42

Open
Tracked by #1860
Tymmmy opened this issue Dec 6, 2024 · 1 comment · May be fixed by #45
Open
Tracked by #1860

Integrate Stripe into Interledger Pay - PP URL should show payment UI #42

Tymmmy opened this issue Dec 6, 2024 · 1 comment · May be fixed by #45
Assignees

Comments

@Tymmmy
Copy link
Contributor

Tymmmy commented Dec 6, 2024

###Context

Payment pointer urls on the live wallet should show a payment UI.

User has a payment pointer they want to send money to
They use the PP as a url, and a page opens up, where user will choose if he wants to pay by Interledger, or by using card
If the user chooses pay by card, then we need to integrate Stripe to be able to make the payment
The User, who is owner of the URL PP gets the money

Example fynbos - https://fynbos.me/radu

We will use Stripe webhooks to implement this.
When a transfer happens, money will go to Interledger Stripe account, the money will leave in this Stripe account.
When the webhook is received, then our GateHub account will settle the amount with the recepeints user wallet.
We need to make sure the sender has enough funds, otherwise we need to show error message.
We need to make sure Stripe fees are clearly visible.
Stripe already offers a form that needs to be integrated into the FE.

Usefull links:

@beniaminmunteanu
Copy link
Member

This PR aims to start the work on integrating stripe into interledger-pay.
It is currently in draft state, but it already enables pay-by-card.
@Tymmmy and I can provide the pk_test and sk_test (test publishable and secret key) of the stripe account needed for further development and local testing.

Further steps of development for this feature are:

  1. Interledger-pay should display and allow the pay-by-card feature based on an environment variable set as
    payByCardEnabled: boolean
    based on these remix docs the environment variable for the client can be accessed in the root loader and set on the window.env.
    However, this would allow maleficent users to enable the feature when it is not supposed to be enabled.

I suggest having the environment variable set for server-side of the remix app, and have the client use loaders in order to fetch and decide if UI for pay-by-card is to be shown or not.

  1. UI/UX should be decided on and improved, as the above PR is focused on functionality of the feature and just aims at an MVP of a working stripe form for card payments in the UI.

  2. Interledger-pay app should Retrieve information based on PP in URL
    This variant of Interledger-pay with payByCard enabled will be served to users that access the PP Url.
    Information such as the wallet address data of the receiver should be retrieved from URL from the interledger-pay app and already be prefilled in forms, or have the form in which input for the receiver wallet address is not shown, as user already knows who he wants to send to.

  3. Using the Stripe dashboard associated to our stripe account, a webhook endpoint should be defined, pointing to the ingress exposing the Wallet-backend service of our cluster.

  4. Wallet backend should implement the API endpoint that stripe will use for webhook notifications
    Based on information received on the webhook, Wallet Backend needs to transfer liquidity equivalent to what was received in the stripe account, from the Gatehub Settlement Account into receiver's gatehub account

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants