From 82bc25e4fdaacf07a590749530b116f1bffef9c2 Mon Sep 17 00:00:00 2001 From: komagata Date: Wed, 21 Feb 2024 06:31:10 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B5=E3=83=96=E3=82=B9=E3=82=AF=E3=83=AA?= =?UTF-8?q?=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E4=BD=9C=E6=88=90=E6=99=82?= =?UTF-8?q?=E3=81=AB=E7=A8=8E=E7=8E=87=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit インボイス対応の領収書表示のため。 --- app/models/subscription.rb | 5 ++++- config/secrets.yml | 2 ++ test/cassettes/subscription/create.yml | 6 +++++- test/models/subscription_test.rb | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/models/subscription.rb b/app/models/subscription.rb index 66c9c77d6cc..d8c66f66b58 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -15,7 +15,10 @@ def retrieve(id) def create(customer_id, idempotency_key = SecureRandom.uuid, trial: 3) options = { customer: customer_id, - items: [{ plan: Plan.standard_plan.id }] + items: [{ + plan: Plan.standard_plan.id, + tax_rates: [Rails.application.secrets[:stripe][:tax_rate_id]] + }] } options[:trial_end] = trial.days.since.to_i if trial.positive? diff --git a/config/secrets.yml b/config/secrets.yml index b0e60e23154..7c4c5b7e5a6 100644 --- a/config/secrets.yml +++ b/config/secrets.yml @@ -26,6 +26,7 @@ shared: public_key: pk_test_Je8A9BUHRC8oqsqx8wtfbKwg secret_key: sk_test_XLP1Ajz1JvT9jUt5uKGvL0Wd endpoint_secret: 'whsec_7bed86b552fc378b10af3cc11a371e8f3454c5817ba44ac9fc5092bf50056075' + tax_rate_id: <%= ENV['STRIPE_TAX_RATE_ID'] || 'txr_1Om0YyBpeWcLFd8fovSLFgXX' %> open_ai: access_token: <%= ENV['OPEN_AI_ACCESS_TOKEN'] || 'xxxxxxxx' %> @@ -36,3 +37,4 @@ production: public_key: <%= ENV['STRIPE_PUBLIC_KEY'] %> secret_key: <%= ENV['STRIPE_SECRET_KEY'] %> endpoint_secret: '<%= ENV['STRIPE_ENDPOINT_SECRET'] %>' + tax_rate_id: <%= ENV['STRIPE_TAX_RATE_ID'] %> diff --git a/test/cassettes/subscription/create.yml b/test/cassettes/subscription/create.yml index ef908b4fda9..098a4aefa57 100644 --- a/test/cassettes/subscription/create.yml +++ b/test/cassettes/subscription/create.yml @@ -101,7 +101,11 @@ http_interactions: uri: https://api.stripe.com/v1/subscriptions body: encoding: UTF-8 - string: customer=cus_12345678&items[0][plan]=price_1J0hhTBpeWcLFd8ffLjm4nKO&trial_end=1672758000 + base64_string: | + Y3VzdG9tZXI9Y3VzXzEyMzQ1Njc4Jml0ZW1zWzBdW3BsYW5dPXByaWNlXzFK + cmxPeEJwZVdjTEZkOGZkNXJneDA4YyZpdGVtc1swXVt0YXhfcmF0ZXNdWzBd + PXR4cl8xT20wWXlCcGVXY0xGZDhmb3ZTTEZnWFgmdHJpYWxfZW5kPTE2NzI3 + NTgwMDA= headers: User-Agent: - Stripe/v1 RubyBindings/4.5.0 diff --git a/test/models/subscription_test.rb b/test/models/subscription_test.rb index 6cc352778bf..b6be7b65fba 100644 --- a/test/models/subscription_test.rb +++ b/test/models/subscription_test.rb @@ -12,7 +12,7 @@ class SubscriptionTest < ActiveSupport::TestCase test '#create' do travel_to Time.zone.parse('2023-01-01 00:00:00') do - VCR.use_cassette 'subscription/create' do + VCR.use_cassette 'subscription/create', record: :once, match_requests_on: %i[method uri] do subscription = Subscription.new.create('cus_12345678') assert_equal 'sub_12345678', subscription['id'] end