From e7f5ad43afb56cf08e4322071258431c3dc1e189 Mon Sep 17 00:00:00 2001 From: Don Nguyen Date: Mon, 3 Jun 2024 13:26:26 +0700 Subject: [PATCH] [b] Fix: Stripe subscription trial will end webhook event with Connect --- .../stripe/webhooks/subscription_trial_will_end.rb | 2 +- .../webhooks/subscription_trial_will_end_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/pay/stripe/webhooks/subscription_trial_will_end.rb b/lib/pay/stripe/webhooks/subscription_trial_will_end.rb index 612459c91..3a7ade215 100644 --- a/lib/pay/stripe/webhooks/subscription_trial_will_end.rb +++ b/lib/pay/stripe/webhooks/subscription_trial_will_end.rb @@ -8,7 +8,7 @@ def call(event) pay_subscription = Pay::Subscription.find_by_processor_and_id(:stripe, object.id) return if pay_subscription.nil? - pay_subscription.sync! + pay_subscription.sync!(stripe_account: event.try(:account)) pay_user_mailer = Pay.mailer.with(pay_customer: pay_subscription.customer, pay_subscription: pay_subscription) diff --git a/test/pay/stripe/webhooks/subscription_trial_will_end_test.rb b/test/pay/stripe/webhooks/subscription_trial_will_end_test.rb index 8da157fc7..1808b46f9 100644 --- a/test/pay/stripe/webhooks/subscription_trial_will_end_test.rb +++ b/test/pay/stripe/webhooks/subscription_trial_will_end_test.rb @@ -54,6 +54,17 @@ class Pay::Stripe::Webhooks::SubscriptionTrialWillEndTest < ActiveSupport::TestC assert_enqueued_emails 0 end + test "sync! is called with stripe_account" do + event = @trial_ended_event.clone + event.account = "connect_account_id" + + pay_subscription = Pay::Subscription.new + Pay::Subscription.stubs(:find_by_processor_and_id).returns(pay_subscription) + pay_subscription.expects(:sync!).with(stripe_account: "connect_account_id") + + Pay::Stripe::Webhooks::SubscriptionTrialWillEnd.new.call(event) + end + private def create_subscription(processor_id:, trial_ends_at:)