MyCOS

  1. ブログトップ
  2. MyCOS, カスタムオーダー
  3. StripePaymentIntentAPIのエラーハンドリングとセキュリティについて

StripePaymentIntentAPIのエラーハンドリングとセキュリティについて

高橋 雪

株式会社Spoool(以下、弊社)が提供しているカスタムオーダーシミュレーターシステム・MyCOS(マイコス)では、Stripeというクレジット決済サービスを組み込み、注文フォーム内でのクレジット情報入力・決済に対応しています。

※別途カスタマイズで他サービスとも連携可能です

今回はそのエラーハンドリングを設計する際のポイントについて、ご紹介します。

Stripeの拒否コード

Stripeから返されるエラーコードを利用して、異なるエラーの種類を識別します。
これにより、適切な対応をユーザーに提供可能となります。

Stripeには拒否コードが全部100種類以上あり、
拒否コードに応じて原因がある程度特定できるようになっています。

▼Stripeの拒否コード一覧
https://docs.stripe.com/error-codes#card-declined

エラーメッセージの明確化

拒否コードを元に、ユーザーに返すエラーメッセージを設定します。
その際のメッセージは、具体的で理解しやすいものにすることが大切です。
たとえば、「カードが拒否されました」よりも「残高が不足しています」や「期限切れのカードです」といった詳細な説明を心掛けています。

例)
・拒否コード :expired_card
・メッセージ :「カードの有効期限が切れています」

・拒否コード :incorrect_cvc
・メッセージ :「セキュリティコードに誤りがあります。」

ただし、エラー内容によっては、
セキュリティ上の理由から詳細な情報をユーザーに公開しない方が良いこともあります。
特に、詐欺や不正利用に関連するエラーについては注意が必要なため、
MyCOSでは一部の拒否コードはあえて具体的にしない方針をとっています。

ユーザーの入力チェック

カード情報の入力時に、
適切な形式かどうか(例えば、カード番号の桁数や有効期限のフォーマットなど)を
リアルタイムでチェックすることで、エラーを未然に防ぎます。

ただし、不正アクセスの原因にもなってしまうため、
弊社のシミュレーターシステム・MyCOS(マイコス)では
・カード番号の形式
・有効期限が未来かどうか
・セキュリティコードが入力されているか
のみをリアルタイムでチェックを行っています。

シミュレーターシステム・MyCOS(マイコス)のクレジット入力画面のリアルタイムでの入力チェック

その他の情報はStripeに送信後、Stripe側で照合されるため、
セキュアな状態で決済を維持することが可能です。

ユーザー体験の向上

エラーが発生した場合でも、ユーザーが混乱しないように、
「まだ注文は完了していません」と決済が完了していないことを表示し、
再度注文を行っていただけるよう明示しています。

シミュレーターシステム・MyCOS(マイコス)の決済エラー画面

ログとモニタリング

決済時に発生したエラーはしっかりとログに記録しています。
そうすることで、後から分析が可能となり、決済エラーがカード側の拒否で起きたのか、
システム側の不具合で起きたのかの切り分けが可能です。
これにより、再発防止やシステム改善に役立ちます。

シミュレーターシステム・MyCOS(マイコス)のクレジット決済のエラーコードのログ画面

3Dセキュアへの対応

オンラインショッピングでのクレジットカードの不正利用の急増を受け、
経済産業省は、2025年3月末を目処に、ECサイトへの本人認証(EMV 3-Dセキュア)の導入を義務化すると発表しました。

MyCOS(マイコス)では、3Dセキュアへの対応も実施しており、現在は3Dセキュアが必須のカードのみ、外部認証サイトへ遷移して認証を行う形をとっております。
そのため、安心してご利用いただくことが可能です。

弊社では、これまでの経験をもとに、クライアントのニーズに応じた最適なシステムをご提案しています。
カスタムオーダーシミュレーターの導入をお考えの際は、ぜひご相談ください。

▼ユニフォームに特化したカスタムオーダーシミュレーター
カスタムオーダーシミュレーター「MyCOS(マイコス)」

▼アイテムやグッズに特化したカスタムオーダーシミュレーター
カスタムオーダーシミュレーター「MyCOS GOODS(マイコスグッズ)」

▼3Dモデルを利用したカスタムオーダーシミュレーター
3Dシミュレーターシステム「MyCOS 3D(マイコススリーディー)」

TOP