The default way for third party clients to be notified when a payment has happened on stripe is mostly via Webhooks. However, I do not want to stress my users by giving them a webhook url to paste in their stripe dashboard to be notified when payment has happened. I want to simplify the process for them. Is there an alternative flow?
I'm looking at something similar to Sign In With Google once they authenticate the app against their stripe dashboard, payment alerts can be seemlessly retrieved.
Going through the Stripe connect Docs and I'm not sure Connect can be used to achieve this. I stand to be corrected though.
I need to implement this in NodeJS.
Any insights would be really appreciated.
Thank you.
It's not entirely clear what you're trying to achieve, but it sounds like you're operating as a platform and want to send some message to your users (who are Stripe account holders) to notify about payments.
You can do this using Connect webhooks to listen for payments on those connected accounts, eg by listening for payment_intent.succeeded or what is relevant for your integration.
You, as the platform, would set up a webhook to listen for these events, then you can use whatever communication channels you prefer with your users to notify them (eg: email, SMS, in-app notification etc)
Related
I have integrated the stripe Api in my website to process payments and It is working fine. The only problem is that after the a successfull payment, i don't get any response or an object to know if the payment is successful or not.
Stripe does process the payment and everything is fine but the question is how would I know that it is successful after stripe redirects the client to the success url ?
You can implement webhook in your application. After a payment is completed stripe will call webhook/callback of your application with the payment_status and other details. Have a look at documentation here Triggering actions with webhooks
Using webhooks and events is definitely the right way to go. You can listen for successful payments, failed payments, and other event types, then add some server code to take some action based on those events.
There's a mention of webhooks in Stripe's custom payments quickstart guide: https://stripe.com/docs/payments/quickstart#use-webhook
They also have a standalone webhooks guide: https://stripe.com/docs/webhooks/quickstart
I am currently working on a React website and NodeJS API that implements the Stripe API to allow payments. The user can subscribe to 3 different plans and get different access depending on the chosen plan.
I have already set up the webhook endpoint URL in my stripe account and there is no problem about that. I am getting webhooks and I manage my database depending on the event type.
My problem is that I want to update my frontend as soon as a payment succeeded for example when the invoice.payment_succeeded is triggered. But the fact that this is a webhook to a POST route, I can not send back a responses to my client. I was wondering if there is actually a way to send back data after a webhook.
Thanks to anyone who can help me.
Implement a web socket connection.
send data to the web socket as soon as you receive invoice.payment_succeeded from the webhook.
implement socket client in the react app to listen to the data send from the server.
How can I use Stripe Connect, let's say to create a "Direct Charge", while sending an Invoice on the Telegram Payment API?
The Telegram API seems to only allow for a "provider_token", I see no further details for the Stripe API, like the required "stripe_account" property for direct charges.
I guess Telegram itself uses Stripe Connect to charge on the users behalf... But that doesn't seem to have stopped this guy from doing something very similar:
https://www.reddit.com/r/TelegramBots/comments/6f6b4z/telepay_a_bot_that_enables_instant_and_secure/
He uses express accounts, but the fundamental problem of not being able to speak to stripe directly seems to be the same.
Thanks :)
You're correct about the Telegram API: there is no way to create a direct charge to a connected Stripe account when receiving payments through Telegram. But there are workarounds. I'm the author of the bot you linked; here's how I managed to move funds from my account to a connected Stripe account via Telegram.
Firstly, you need to accept the payment as usual (e.g. follow the normal sendInvoice flow). For my purposes, I made the payload parameter the ID of the user that is being sent the money (it's later matched with the Stripe account ID in the database, but you can do this however you want). The rest is out of scope of the question, so I won't describe this process in detail; Telegram has a very nice guide on it.
Once you receive the successful_payment event from the Telegram API, you can then transfer the money from your own Stripe account to the linked Stripe account using the Stripe Connect transfers endpoint, but be careful: it doesn't give you the amount that was given to your own Stripe balance (taking fees into account), so you will need to calculate that yourself. Depending on your account, it would look something like this for JavaScript: payment.total_amount - Math.round(payment.total_amount * 0.029 + 30).
After you've transfered the money to their account, you can perform a payout as usual with the payouts Stripe Connect endpoint.
But note that this is just one example; you can use all of the Stripe Connect APIs with this. In fact, you probably have even more flexibility with this, since the funds hit your Stripe account before they reach the connected account's, so you can do whatever you want with them :)
So, TL;DR: Once you've received the successful_payment from Telegram, transfer the money to the connected Stripe account, then perform a payout on it.
I need to add push notification in my web site
If a user has made payment for something... we show them alert in their account page on the website that you are now successfully connected to this community
If a user has done payment by check... we clear the payments by check through a cron job... once the job runs and payment is cleared... we show a notification to user whenever they log in saying that their check payment is cleared
A user sends a request to connect to an organisation... that organisation's admin should get an alert in their system saying that so and so person is pending approval from you.
Something similar to alerts that we get in our net banking might be... that your credit card payment is pending... something like that
Like we also get notifications on Facebook... the difference will be that instead of notifications we want to show alerts or messages directly displayed in their account
So, you want notifications in your system about payments.
In its simplest form, you could do it manually with emails, and/or popups in your application, that are loaded from DB when they login. This is sort of a manual system, and the Minimum Viable Feature could be quite easy to build yourself.
If you want it more advanced, like you mentioned, similar to Facebook's notifications button and feed. Then, yes, it might be easier to use getstream.io. It also has websocket integrations so you can get those notifications pushed in real-time. You can then also push other types of notifications in there, like for example: a notification when the user has logged in from a different browser (for security reasons).
I hope this answers your question.
I have a node.js web application which at times needs to send a user money knowing only their email address. This is essentially the same thing as PayPal's send money interface, but needs to be programatically executed.
I've seen this post which suggest using their newer Adaptive Payments API to do this, however nowhere in the docs or examples do I see how to send money from my account to an email address.
Is my only option to dive into the MassPay API which paypal is moving away from?
You can use Adaptive Payments Implicit simple payments -
https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/integration-guide/APIntro/
https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/integration-guide/APCallsHeadersAndPaymentTypes/