Upgrade to Pro — share decks privately, control downloads, hide ads and more …

呼び出し順で、 売上金額を回収できなくした話

Hayato Nakamura
May 22, 2024
50

呼び出し順で、 売上金額を回収できなくした話

Hayato Nakamura

May 22, 2024
Tweet

Transcript

  1. 2 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 自己紹介 • 名前

    ◦ 中村 隼人 • 業務 ◦ バックエンドエンジニア(PHP/Kotlin/TypeScript) • おすすめ🍰 ◦ 子どもが野菜を食べてくれる ◦ 大人が食べてもおいしい
  2. 5 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 元の設計 お客様 Cake.jp

    外部API サーバ 注文 注文一覧ページ 仮予約 注文リスト 注文確定 注文確定 注文結果通知
  3. 6 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 失敗したときの実装 お客様 Cake.jp

    外部API サーバ 注文 注文一覧ページ 仮予約 注文リスト 注文確定 注文確定 注文結果通知 注文確定 注文結果通知
  4. 7 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 失敗したときの実装 お客様 Cake.jp

    外部API サーバ 注文 注文一覧ページ 仮予約 注文リスト 注文確定 注文確定 注文結果通知 注文確定 注文結果通知 ここまでは キャンセル可能 だった ここで 課金だった
  5. 8 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 修正したときの実装 お客様 Cake.jp

    外部API サーバ 注文 注文一覧ページ 仮予約 注文リスト 注文確定 注文確定 注文結果通知 注文確定 注文結果通知 キャンセル不可 にした
  6. 9 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 気付けなかった理由 お客様 Cake.jp

    外部API サーバ 注文 注文一覧ページ 仮予約 注文リスト 注文確定 注文確定 注文結果通知 注文確定 注文結果通知 ・LINEなどで共有されるとLINEからのア クセスがあることを失念していた。 ・注文一覧ページアクセス=注文確定と いうユーザ行動を疑ってなかった。 注文確定自体は下で行 われるため、課金タイミ ングのズレが実感とず れた。
  7. 10 © Cake.jp Co.Ltd. All Right Reserved.|Confidential • 課金タイミングの確認はまじで大事。 ◦

    特に2種類以上のステータスを管理の場合は、見える形で管理するの が望ましい。 • LINEなどのOGP取得系はリンクの共有だけでアクセスが発生する。 ◦ アクセスに依存した処理が発生する場合は、そのアクセスがユーザの 意思かどうかを確認できることが望ましい。 - まとめ -