user upgrades: upgrade to new Stripe checkout system.
This upgrades from the legacy version of Stripe's checkout system to the new version: > The legacy version of Checkout presented customers with a modal dialog > that collected card information, and returned a token or a source to > your website. In contrast, the new version of Checkout is a smart > payment page hosted by Stripe that creates payments or subscriptions. It > supports Apple Pay, Dynamic 3D Secure, and many other features. Basic overview of the new system: * We send the user to a checkout page on Stripe. * Stripe collects payment and sends us a webhook notification when the order is complete. * We receive the webhook notification and upgrade the user. Docs: * https://stripe.com/docs/payments/checkout * https://stripe.com/docs/payments/checkout/migration#client-products * https://stripe.com/docs/payments/handling-payment-events * https://stripe.com/docs/payments/checkout/fulfill-orders
This commit is contained in:
13
app/controllers/webhooks_controller.rb
Normal file
13
app/controllers/webhooks_controller.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
class WebhooksController < ApplicationController
|
||||
skip_forgery_protection only: :receive
|
||||
rescue_with Stripe::SignatureVerificationError, status: 400
|
||||
|
||||
def receive
|
||||
if params[:source] == "stripe"
|
||||
UserUpgrade.receive_webhook(request)
|
||||
head 200
|
||||
else
|
||||
head 400
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user