Stripeベースの自作サービスでカードの不正利用があった場合の対処法

Stripeベースの自作サービスでカードの不正利用があった場合の対処法

Stripeベースの自作サービスでカードの不正利用があった場合の対処法

English version is available.

どうもTAKUYAです。

30日間のお休みから戻ってきて、自分のSaaSプロジェクト「Inkdrop」の作業を再開しました。これは現在約1,400人の課金ユーザがいるノートアプリです。他のアプリと比べてその規模がとても小さいにも関わらず、今回初めて自サービスにてカードの不正利用が起きてしまいました。 (お休み中にその報告を受けて、休み気分が吹き飛んだのはここだけの秘密です😇)

本稿ではカードの不正利用について調査して学んだこと、そして実際にどのように対処したかシェアしたいと思います。

疑惑のある支払いは全てすぐに返金する

自分たちのサービスの信用を保つためにも、カード支払いに関する紛争(Dispute / 異議申し立て)は可能な限り避けなくてはなりません。StripeはおそらくDisputeの数を監視していて、万が一サービスが有害と判断された場合はStripeアカウントをクローズする権限を持っています。心当たりのない支払いの連絡を受けた時は、速やかかつ丁寧に応答して出来ることを行いましょう。Stripeは不正利用と紛争についてのドキュメントを用意しています。重要な点を引用します:

Refund suspicious payments immediately
Refund any payments you suspect are fraudulent as soon as possible. In the Dashboard, select the payment and click Refund as fraud. This refunds the payment and reports it to us so that we can further improve our fraud detection.
 — Best Practices | Stripe Payments

疑惑のある支払いは速やかに返金してください
あなたが不正ではないかと疑いをかけている支払いは可能な限り早く返金しましょう。ダッシュボードからペイメントを選んで Refund as fraud をクリックします。これでペイメントが返金されて、Stripeでの不正利用検知システムの動作改善に役立てられます。

各紛争には15 USDの手数料がかかります:

EFWs do not officially require any action or response from you as a merchant. However, they are good indicators of impending disputes — 82% of payments that receive EFWs eventually get disputed. Since there’s a fee for disputes (15 USD) and disputes can count for certain chargeback monitoring programs you may want to proactively prevent disputes by immediately refunding payments that receive an EFW.
 — Measuring Disputes | Stripe Payments

こちらが不正な支払い報告への対処手順です。

1. まずは落ち着こう

この問題はカード所持者とあなたにとって悲しい出来事です。しかしそれは起きました。深く息を吸って。

2. 支払いに関する情報を聞き出す

嫌疑のかけられた支払いを特定するために、カード所持者から以下の情報を聞き出します:

  • カード番号の下4桁
  • 請求日
  • 金額

3. Stripeダッシュボードで支払いを特定する

Stripeでは、聞き出したカード番号の下4桁を使って支払履歴を絞り込めます。上記画面のサーチバーに4桁を入力します。

もし見つかったものが明らかな不正利用だとしても、プライバシーの観点から「誰が使ったか」という情報は開示しないようにしましょう。

4. ‘Refund as fraud’を実行する

支払情報画面の右上にRefund (返金)ボタンがあります。それをクリックします。

返金理由として Fraudulent(不正) を選択します。この操作によって、カード番号とemailの組み合わせはブロックリストに追加され、将来の請求は全てブロックされるようになります。また、この情報はStripeの他のアカウントにもfingerprintとして共有されて役立てられます。 ‘Refund and block’ をクリックしましょう。

紛争と不正を防止するには

Stripeは不正利用をできるだけ未然に防ぐためのガイドを提供していて、とても参考になります:

Preventing Disputes and Fraud | Stripe Payments
Learn how to best protect against disputes and fraudulent payments. Fraud is the most common cause of disputes, though…

支払情報をできるだけ多く集める

僕はInkdropのカードフォームにはStripe.js と Elementsを使用しています。しかしこれはカード番号、CVC(セキュリティコード)、ZIPコードなど必要最低限の情報しか収集しません。付属的な情報を更に集めることで、顧客の合法性をカード会社が確認する手助けになります。例えば:

  • カード所持者名
  • 現住所
  • 送り先住所 (現住所と異なる場合)

詳しくは上記のドキュメントを参照してください。また、3Dセキュアに対応するのも更なる防止策として有効でしょう。

Read more

ノート駆動AIコーディング術の提案

ノート駆動AIコーディング術の提案

どうもTAKUYAです。みなさんはAIエージェントを普段のコーディングで活用されていますか。ちょっと面白いワークフローを思いついたのでシェアします。それは、ノート駆動のエージェンティック・コーディング・ワークフローです。最近Claude Codeのプランモードを使っていたら、ターミナル内で生成されたプランを読むのが辛かったんです。それで、じゃあMarkdownノートアプリであるInkdropをプランの保存先バックエンドとして使えば解決するんじゃないかと思って、 試してみました。こちらがそのデモです(英語): こちらがClaude Codeの設定ファイル群です: GitHub - inkdropapp/note-driven-agentic-coding-workflow at devas.lifeComplete Claude Code configuration collection - agents, skills, hooks, commands, rules, MCPs. Battle-tested configs from an Anthropic hackathon w

By Takuya Matsuyama
2025年個人開発活動の振り返り

2025年個人開発活動の振り返り

どうもTAKUYAです。もう1月も半ばに差し掛かっているけど、2025年の自分の活動の振り返りをしたい。去年を一言で言うなら、本厄を満喫した年だった。 厄年とは、人生の節目にあたって、体調不良や災難が起こりやすいと経験的に言われる年齢のこと。数え年で42歳、確かにもう若さに任せた事は出来ないなと痛感した年だった。(ところであなたの国ではこのような年はありますか?) 夏に体調を崩して2~3ヶ月動けなくなった 暖かくなり花粉が飛び出した頃に、持病のアトピーが悪化しだして、まともに生活出来なくなってしまった。酷さで言うと、2019年に脱ステした時と同じぐらい。 脱ステに無事成功したから、この地獄は二度と味わうことはないだろうと高を括っていたが、まさか7年後にまた味わうとは思わなかった。当時の独身時代と違い、妻も子供もいる中で、周りに多大な迷惑をかける事となった。夏の子供との思い出が全く無い。悲しい。 現在はQoLもほとんど元の状態まで復活できた。写真を撮って症状の変化を記録したので、機会があればシェアしたい。食事療法など色々試したが、結局歩くのが一番自分に効いた。それ以来、一日一万歩

By Takuya Matsuyama
書いて、歩け!なぜノートアプリはシンプルで充分なのか

書いて、歩け!なぜノートアプリはシンプルで充分なのか

どうもTAKUYAです。今回はノートやメモから新しい発想を生むための考え方についてシェアします。 自分はシンプルさをウリにした開発者向けのMarkdownアプリInkdropを作っています。なので、どうしても「ノートアプリの作者」としてのポジショントークが含まれてしまいますが、逆に言えば、「ノートアプリを約10年間作り続けてきた人間が、どうやってアイデアを生み出しているのか」 という実際的な体験談として読んでもらえれば幸いです。 結論から言うと、僕は「アプリ上でノート同士を連携させる必要はない。繋げるのはあなたの脳だ」と考えています。本稿では、ノートアプリの機能に溺れずユニークなアイデアを考え出すために僕が実践している事をシェアします。 TL;DR * ノート整理に時間をかけるな。グループ化で充分だ * すごい人はアイデアが「降りてくる」のを待つ * プログラミング × 料理動画 という有機的な掛け合わせ * ノートは「忘れる」ために書く * 歩け! ノート整理に時間をかけるな。グループ化で充分だ 巷ではZettelkastenなどが流行っているようですね。これ

By Takuya Matsuyama
貫禄を捨てて愛嬌で生き延びろ!40代オッサンの生存戦略

貫禄を捨てて愛嬌で生き延びろ!40代オッサンの生存戦略

どうもTAKUYAです。 つい先週(11月19日)に誕生日を迎え、41歳になりました。40代と言うのは若い頃には想像もしなかった年代で、どう生きれば良いのかというイメージがあまり具体的に湧かない、曖昧な年齢ではないでしょうか?自分の父親を想像するも、日中はいつも仕事でいなかったのであまり参考になりません。 自分は個人開発で生計を立てていて20代、30代で積み上げて来たものが上手く実を結んだおかげで今の生活があります。育児にも、いわゆるサラリーマンよりかは柔軟に参加できていて、子供との時間も沢山取れています。ママ友も出来ました(迷惑かけっぱなしですが)。 本記事では、そんなライフスタイルを送る自分が40代で大事にしたいことについて書きたいと思います。タイトルにもある通り、結論から言うとそれは「愛嬌」だと思います。以下、中年男性の愛嬌の重要性について説明します。 TL;DR * 「貫禄が出てきたね」と言われたら注意 * 笑顔を作れ。オッサンがムスッとしてたら普通に怖い * 謙虚に振る舞え。実績を積むと周りが萎縮する * ギャップ萌えを活用しろ 「貫禄が出てきたね」と言わ

By Takuya Matsuyama