$30 off During Our Annual Pro Sale. View Details »

Stripeでの増税対応

gorou_178
October 16, 2019

 Stripeでの増税対応

2019年10月1日に消費税率が8%から10%に変わりました。この増税対応でStripeを導入しているサービスで具体的に何をどのように行ったのか、どれくらいの作業が必要なのか私が実際に行った作業を元にご紹介します。

gorou_178

October 16, 2019
Tweet

More Decks by gorou_178

Other Decks in Programming

Transcript

  1. Stripeでの増税対応
    JP_Stripes Fukuoka #5 2019.10.16
    @gorou_178

    View Slide

  2. View Slide

  3. 穴井 怜
    株式会社イノベーター・ジャパン
    @gorou_178
    PHPer/コーヒー/ランニング
    3

    View Slide

  4. 話すこと
    ▪ 増税対応で行ったこと
    ▪ Stripeの税率管理

    View Slide

  5. 増税対応
    おこなった方✋
    5

    View Slide

  6. どんなことを
    行いましたか?
    6

    View Slide

  7. 増税対応でやったこと
    ▪ 前提
    ▪ tenpuというサービス
    ▪ 定額の定期課金(月額・年額)
    ▪ 税率変更のバッチを作成して10月1日0時に実行

    View Slide

  8. どれくらい
    工数がかかったか
    8

    View Slide

  9. 工数 2日
    9

    View Slide

  10. 増税対応でやったこと(内訳)
    ▪ Stripeの仕様調査、事例調査(0.5日)
    ▪ APIの調査、影響範囲調査(0.5日)
    ▪ 実装[バッチ作成](0.5日)
    ▪ テスト、リリース、深夜バッチの実行を見守る(0.5日)

    View Slide

  11. 増税の
    対応内容について
    11

    View Slide

  12. Stripeの定期課金
    12

    View Slide

  13. 商品と料金プランと
    定期課金
    商品(Product)が料金プラン(Plan)を持
    ち、この商品で定期課金( Subscription)
    を作成する。
    定期課金は顧客(Customer)に紐付く
    13

    View Slide

  14. 税率(tax_rate)
    ▪ 「税率」を複数作ることが可能(率の
    変更は不可)
    ▪ 税率IDが発行される(txr_xxxx)
    ▪ 定期課金(Subscription)などに税
    率IDを紐つける

    View Slide

  15. 料金プランと定期課金と税率
    $subscription = Subscription::create([
    'customer' => 'cus_xxxxxxxx' ,
    'plan' => 'plan_xxxx',
    'default_tax_rates[0]' => 'txr_xxxxxx'
    ]);

    View Slide

  16. バッチで行ったこと
    ▪ 全顧客の定期課金の税率IDの更新

    View Slide

  17. バッチで行ったこと
    $subscription = Subscription::retrieve('sub_xxxxx');
    $newSubscription = Subscription::update($subscription ->id, [
    'default_tax_rates[0]' => 'txr_xxxxxx'
    ]);

    View Slide

  18. バッチ作成で工夫したこと
    ▪ dry-runオプション
    ▪ 処理件数・対象者情報の出力
    ▪ たくさんログを出す
    ▪ 決済が行われる時間の確認

    View Slide

  19. バッチ作成で工夫したこと
    ▪ dry-runオプション
    ▪ 処理件数・対象者情報の出力
    ▪ たくさんログを出す
    ▪ 決済が行われる時間の確認

    View Slide

  20. https://qiita.com/neeton_iwasaki/items/273037825b70ac4136da

    View Slide

  21. 定期課金と請求(Invoice)
    ▪ 定期課金の情報を元に請求情報を作成
    ▪ 請求情報を元に実際の決済を行う
    ▪ 定期課金の情報を書き換えてもすでに作成された請求情報は
    変わらない
    ▪ 請求情報を書き換えても定期課金の情報は変わらない

    View Slide

  22. 請求はいつ作られる?
    22

    View Slide

  23. View Slide

  24. この間の状態の利用者がいる場合
    個別の対応が必要

    View Slide

  25. その他の対応方法
    ▪ webhookで行う方法がある
    ▪ webhookとは、指定したURLにイベントが発生したらリクエスト
    をしてくれる機能
    ▪ StripeのSupportサイトにて対応方法が記載されている
    ▪ https://support.stripe.com/questions/2019-10-1

    View Slide

  26. View Slide

  27. このイベントのwebhookで税率更新

    View Slide

  28. webhook更新のメリット
    ▪ 事前にリリースできる
    ▪ 深夜対応の必要がない

    View Slide

  29. webhook更新のデメリット
    ▪ 決済が行われる1週間前まで税率がそのまま(不安)
    ▪ 契約変更など個別対応があった場合のフローの考慮

    View Slide

  30. まとめ
    ▪ Stripeの増税対応はとても簡単にできるようになっている
    ▪ 定額の定期課金の場合、税率は税率IDの差し替えのみ
    ▪ webhookをうまく利用すれば、深夜対応しなくてすむ

    View Slide

  31. ありがとう
    ございました
    31

    View Slide