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.