2019年10月1日に消費税率が8%から10%に変わりました。この増税対応でStripeを導入しているサービスで具体的に何をどのように行ったのか、どれくらいの作業が必要なのか私が実際に行った作業を元にご紹介します。
Stripeでの増税対応JP_Stripes Fukuoka #5 2019.10.16@gorou_178
View Slide
穴井 怜株式会社イノベーター・ジャパン@gorou_178PHPer/コーヒー/ランニング3
話すこと▪ 増税対応で行ったこと▪ Stripeの税率管理
増税対応おこなった方✋5
どんなことを行いましたか?6
増税対応でやったこと▪ 前提▪ tenpuというサービス▪ 定額の定期課金(月額・年額)▪ 税率変更のバッチを作成して10月1日0時に実行
どれくらい工数がかかったか8
工数 2日9
増税対応でやったこと(内訳)▪ Stripeの仕様調査、事例調査(0.5日)▪ APIの調査、影響範囲調査(0.5日)▪ 実装[バッチ作成](0.5日)▪ テスト、リリース、深夜バッチの実行を見守る(0.5日)
増税の対応内容について11
Stripeの定期課金12
商品と料金プランと定期課金商品(Product)が料金プラン(Plan)を持ち、この商品で定期課金( Subscription)を作成する。定期課金は顧客(Customer)に紐付く13
税率(tax_rate)▪ 「税率」を複数作ることが可能(率の変更は不可)▪ 税率IDが発行される(txr_xxxx)▪ 定期課金(Subscription)などに税率IDを紐つける
料金プランと定期課金と税率$subscription = Subscription::create(['customer' => 'cus_xxxxxxxx' ,'plan' => 'plan_xxxx','default_tax_rates[0]' => 'txr_xxxxxx']);
バッチで行ったこと▪ 全顧客の定期課金の税率IDの更新
バッチで行ったこと$subscription = Subscription::retrieve('sub_xxxxx');$newSubscription = Subscription::update($subscription ->id, ['default_tax_rates[0]' => 'txr_xxxxxx']);
バッチ作成で工夫したこと▪ dry-runオプション▪ 処理件数・対象者情報の出力▪ たくさんログを出す▪ 決済が行われる時間の確認
https://qiita.com/neeton_iwasaki/items/273037825b70ac4136da
定期課金と請求(Invoice)▪ 定期課金の情報を元に請求情報を作成▪ 請求情報を元に実際の決済を行う▪ 定期課金の情報を書き換えてもすでに作成された請求情報は変わらない▪ 請求情報を書き換えても定期課金の情報は変わらない
請求はいつ作られる?22
この間の状態の利用者がいる場合個別の対応が必要
その他の対応方法▪ webhookで行う方法がある▪ webhookとは、指定したURLにイベントが発生したらリクエストをしてくれる機能▪ StripeのSupportサイトにて対応方法が記載されている▪ https://support.stripe.com/questions/2019-10-1
このイベントのwebhookで税率更新
webhook更新のメリット▪ 事前にリリースできる▪ 深夜対応の必要がない
webhook更新のデメリット▪ 決済が行われる1週間前まで税率がそのまま(不安)▪ 契約変更など個別対応があった場合のフローの考慮
まとめ▪ Stripeの増税対応はとても簡単にできるようになっている▪ 定額の定期課金の場合、税率は税率IDの差し替えのみ▪ webhookをうまく利用すれば、深夜対応しなくてすむ
ありがとうございました31