5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/pay/stripe/webhooks/checkout_session_completed.rb', line 5
def call(event)
locate_owner(event.data.object)
if (payment_intent_id = event.data.object.payment_intent)
payment_intent = ::Stripe::PaymentIntent.retrieve({id: payment_intent_id}, {stripe_account: event.try(:account)}.compact)
Pay::Stripe::Charge.sync(payment_intent.latest_charge, stripe_account: event.try(:account)) if payment_intent.latest_charge
end
if (subscription_id = event.data.object.subscription)
Pay::Stripe::Subscription.sync(subscription_id, stripe_account: event.try(:account))
end
end
|