John_Shelby
Hello everyone,
I am trying to create a payment gateway using Stripe. My solution is based on this tutorial.
I think I have everything set up well, but I’m not sure if Stripe is returning the required data that I would like to store in a database and work with afterwards.
In the tutorial, after a successful payment is made in the terminal after the stripe listen command, the following is the output:
However, my output looks like this:
If the return values from webhook are correct anyway, which I’m not sure. How should I continue to work with them within the handle event to save them?
Thanks to IO.inspect I was expecting some data in the terminal, where for example %Stripe.Event{type: "invoice.paid"}
defmodule MyAppWeb.StripeHandler do
import MyAppWeb.Gettext
@behaviour Stripe.WebhookHandler
@impl true
def handle_event(%Stripe.Event{type: "invoice.paid"} = event) do
IO.inspect(gettext("Payment Success"))
IO.inspect(event)
:ok
end
end
I have added the handler in the endpoint
plug Stripe.WebhookPlug,
at: "/webhook/stripe",
handler: MyAppWeb.StripeHandler,
secret: {Application, :get_env, [:stripity_stripe, :stripe_webhook_secret]}
It’s about storing data like customer_id, emai, etc that I can see in the payment in my Stripe account.
I am still a newbie and this is my first attempt at a payment gateway. Thanks a lot for any advice.
Have a nice day. ![]()
Trending in Questions
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixir-ls
- #ai
- #elixirconf-us
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming














Showing Posts 1 to 1- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
John_Shelby
UPDATE:
The answer is that the data are sent back to the application.
Alternatively, ngrok can also be used.
Fot test you will need 3 terminals open:
stripe listen --forward-to localhost:4000/webhook/stripe)mix phx.server). Remember you may need to runsource .envin the terminal firststripe trigger checkout.session.completed.I am replacing step three by going through and filling in the data directly in the application.
My handle event for saving to the database now looks like this:
Practically the whole issue with a link to a sample application is available in the tutorial at this link.