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

ユーザサポートの問い合わせを装った攻撃が怖すぎた

ユーザサポートの問い合わせを装った攻撃が怖すぎた

どうもTAKUYAです。個人開発をしていてアプリの知名度が上がってくると、作者個人(あるいはサイト管理人)を狙った攻撃というのをたまに受けます。つい先日も、怖すぎるメールを受け取ったのでシェアします。 件名: Cookie consent prevents platform access Hello, I cannot access use the store. The cookie consent notice keeps appearing and nothing happens once I approve or try to close it, so I’m unable to interact with the website. Please provide guidance on

By Takuya Matsuyama
万年ペーパーの自分が車の運転を楽しめるようになった理由

万年ペーパーの自分が車の運転を楽しめるようになった理由

どうもTAKUYAです。大学の入学前に免許を取って以来ずっとペーパードライバーで、都市生活では出来る限り運転は避ける生活を送っていた。事故を起こせば人を◯してしまう可能性もある代物を日常的に運転するなんて考えられなかった。 そんな自分に転機が訪れたのは、結婚して大阪に戻った事と、子供ができた事、そしてアウトドアに興味を持った事だ。大阪近辺だと箕面とか野勢、神戸、丹波篠山などが日帰りでドライブしやすい距離だ。それで、恐る恐るタイムズのカーシェアで時々ではあるが運転するようになった。 他の車も生きた人間が運転しているという驚き まず運転していて気づいたのは、他の車にも生きた人間が運転していると言う点だ。そんなのは当たり前だろと思うかもしれないが、結構新鮮な発見だった。Grand Theft Autoなどの現代をモチーフにしたゲームをプレイすれば分かるが、NPCの車の動きは鈍臭いのでガンガンぶつかる。プレイヤーの進行を予測した動きなどしないからだ。 しかし現実では相手も事故りたくないので、お互いに動きを読み合い、譲り合って運転する。ルードな運転手もたまにいるものの、どちらかがよっぽ

By Takuya Matsuyama
禅的思考: なぜInkdropはMarkdown独自拡張をしないのか

禅的思考: なぜInkdropはMarkdown独自拡張をしないのか

InkdropはMarkdownのノートアプリですが、Markdownの独自拡張は「絶対にやらない」と決めていて、それがアプリの哲学になっています。 Markdown(厳密にはGitHub-flavored Markdown)の強みは、ソフトウェア業界標準で広く使われてい緩い文書フォーマットという所です。 アプリの独自記法を加えてしまったら、あなたの書いたノートはたちまちそれらと互換性がなくなります。 「独自記法を加えた方が便利な機能が付けられるだろう」と思うかもしれません。もちろん実際Markdownは完璧な書式ではないため、必要な場面はいくつかあります。例えば画像のサイズ指定方法が定まっていない、など。それでも自分は、ノートの可搬性を第一にしてきました。その裏には禅にまつわる哲学があります。 日本の文化は周りの環境と対立するのではなく、溶け込もう、馴染ませよう、共生しようとする傾向があります。窓の借景、枯山水、建築の非対称性、茶室のシンプルさ、侘び寂びなどあらゆるところで見られます。 絵画における「減筆」の手法を例にとって説明します。 これは、描線を最小限に抑えながら絹や紙の

By Takuya Matsuyama
Inkdrop v6 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山

Inkdrop v6 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山

Inkdrop v6.0.0 Canary版リリースしました — 新Markdownエディタやその他新機能盛り沢山 こんにちはTAKUYAです。 v6.0.0 の最初の Canary バージョンをリリースしました 😆✨ v6では、アプリのコア機能の改善がたくさん盛り込まれています! * リリースノート(英語): https://forum.inkdrop.app/t/inkdrop-desktop-v6-0-0-canary-1/5339 CodeMirror 6 ベースの新しいエディタ フローティングツールバー v5ではツールバーがエディタの上部に固定されており、使っていないときもスペースを占有していました。 v6では、テキストを選択したときだけ表示されるフローティングツールバーに変わりました。 GitHub Alerts 構文のサポート Alerts の構文が正しい色と左ボーダーでハイライトされるようになりました。 ネストされたアラートや引用にも対応しています。 また、アラートタイプの入力を支援する補完機能も追加されました。 スラッシュコマンド 空行で /

By Takuya Matsuyama