Stripe Terminal をテストする
注
Stripe Terminal をテストするプロセスの大半は、Stripe のオンライン決済のテストと類似しています。また、テスト環境では Stripe Terminal でモバイルウォレット (Apple Pay や Google Pay など) を使用することは使用できません。詳細については、Stripe の一般テストガイドをご覧ください。
Terminal の実装を成功させる最善の方法は、組み込みの各部分をテストすることです。Stripe は各ステージ用のテストツールを用意しています。
- リーダーを注文する前に、リーダーシミュレーターで組み込みをテストします。
- 物理テストカードでハードウェアの組み込みをテストします。
シミュレーションされたリーダー
Stripe Terminal SDK およびサーバー主導型の連携にはシミュレーションされた内蔵カードリーダーが付属しているため、物理ハードウェアに接続することなくアプリを開発してテストすることができます。連携が完了している場合も、構築中であっても、シミュレーションされたリーダーを使用してアプリ内のすべての Terminal フローをエミュレートします。
シミュレート済みのリーダーは UI を表示しません。アプリでこのリーダーに接続した後、Stripe SDK または API への呼び出しが成功すると、これが機能していることを確認できます。
SDK のシミュレーションされたリーダーは、必要に応じて自動的にカード提示をシミュレーションします。サーバー主導型のシステムでは、構築済みのシステムを更新して、カード提示をシミュレーションします。
シミュレーションされたテストカード
シミュレーションされたリーダーは、シミュレーションされたテストカードを使用するよう設定できます。これにより、POS アプリケーション内のさまざまなフローをテストできるようになります。
支払い方法を収集する前に、以下のテストカード番号またはテスト支払い方法のいずれかを使用して特定のレスポンスを生成するよう、シミュレーションされたリーダーを設定します。
標準的なテストカード
テストカード番号 | テスト支払い方法 | ブランド |
---|---|---|
visa | Visa | |
visa_debit | Visa (デビット) | |
mastercard | Mastercard | |
mastercard_debit | Mastercard (デビット) | |
mastercard_prepaid | Mastercard (プリペイド) | |
amex | アメリカン・エキスプレス | |
amex2 | アメリカン・エキスプレス | |
discover | ディスカバー | |
discover2 | ディスカバー | |
diners | ダイナースクラブ | |
diners_14digits | ダイナースクラブ (14 桁のカード) | |
jcb | JCB | |
unionpay | 銀聯 | |
interac | Interac | |
eftpos_au_debit | eftpos オーストラリア | |
eftpos_au_visa_debit | eftpos オーストラリア/Visa | |
eftpos_au_mastercard_debit | eftpos オーストラリア/Mastercard |
特定の成功のためのテストカード
テストカード番号 | テスト支払い方法 | 結果 |
---|---|---|
offline_pin_cvm | カード保有者にプロンプトが表示され、保有者がオフライン PIN を入力する操作がシミュレーションされます。生成される支払いで、cardholder_verification_method が offline_pin に設定されます。 | |
offline_pin_sca_retry | SCA トリガーの再試行フローがシミュレーションされます。このフローでは、カード保有者の初回の非接触型支払いが失敗し、リーダーから、ユーザーにカードを挿入し、オフライン PIN を入力するように求めるプロンプトが表示されます。生成される支払いで、cardholder_verification_method が offline_pin に設定されます。 | |
online_pin_cvm | カード保有者にプロンプトが表示され、保有者がオンライン PIN を入力する操作がシミュレーションされます。生成される支払いで、cardholder_verification_method が online_pin に設定されます。 | |
online_pin_sca_retry | SCA トリガーの再試行フローがシミュレーションされます。このフローでは、カード保有者の初回の非接触型支払いが失敗し、リーダーから、ユーザーにオンライン PIN を入力するように求めるプロンプトが表示されます。最終的な支払いで、cardholder_verification_method が online_pin に設定されます。 |
特定のエラーのためのテストカード
テストカード番号 | テスト支払い方法 | 結果 |
---|---|---|
charge_declined | 支払いは card_declined コードで拒否されます。 | |
charge_declined_insufficient_funds | 支払いは card_declined コードで拒否されます。decline_code 属性は insufficient_funds です。 | |
charge_declined_lost_card | 支払いは card_declined コードで拒否されます。decline_code 属性は lost_card です。 | |
charge_declined_stolen_card | 支払いは card_declined コードで拒否されます。decline_code 属性は stolen_card です。 | |
charge_declined_expired_card | 支払いは expired_card コードで拒否されます。 | |
charge_declined_processing_error | 支払いは processing_error コードで拒否されます。 | |
refund_fail | 支払いは成功しますが、非同期的に expired_or_canceled_card の failure_reason で、キャプチャーされた支払いの返金が失敗します。返金の失敗は非同期のため、最初は返金が成功したように見えますが、その後の取得では failed ステータスが返されることに注意してください。また、返金の失敗は、charge.refund.updated Webhook イベントを使用して行われます。このシミュレーションされたエラーは、JavaScript SDK でのみサポートされています。 |
注
請求せずに直接保存するために上記のカードを使用すると、SetupIntents で、setup_intent_authentication_failure レスポンスが返されます。
テスト用の法人カード
テスト用の法人カードを使用し、Stripe Terminal リーダーで支払いをテストします。Stripe ダッシュボードの Terminal タブからリーダーおよびテスト用の法人カードを購入できます。
このテスト用の法人カードは、チップ型および非接触型のどちらの支払いにも対応しています。Stripe の認証済みリーダーで、テスト環境の Stripe API に対してのみ機能します。テスト用の法人カードを本番環境で使用しようとすると、Stripe API はエラーを返します。特に記載がない限り、要求された場合は PIN 1234
を使用してください。
テスト用の法人カードを使用して支払いを作成する際は、末尾が以下の値になる金額を使用して特定のレスポンスを生成します。
小数 | 結果 |
---|---|
00 | 支払いは承認されます。 |
01 | 支払いは call_issuer コードで拒否されます。 |
02 | カード保有者向けの画面を備えたリーダーを使用する場合、テストカードを挿入し (アメリカ以外に所在する場合は、カードをタップすることもできます)、画面の指示に従って取引を完了します。PIN を求められたら、1234 を入力します。カードに PIN が必要で、リーダーにカード保有者向けの画面がない場合は、offline_pin_required コードで支払いが拒否されることがあります。 |
03 | カード保有者向けの画面を備えたリーダーを使用する場合、テストカードを挿入し (アメリカ以外に所在する場合は、カードをタップすることもできます)、画面の指示に従って取引を完了します。PIN を求められたら、任意の 4 桁の PIN を入力します。カードに PIN が必要で、リーダーにカード保有者向けの画面がない場合は、online_or_offline_pin_required コードで支払いが拒否されることがあります。 |
05 | 支払いは generic_decline コードで拒否されます。 |
55 | 支払いは incorrect_pin コードで拒否されます。 |
60 | 支払いは online_or_offline_pin_required コードで拒否されています。 |
65 | 支払いは withdrawal_count_limit_exceeded コードで拒否されます。 |
75 | 支払いは pin_try_exceeded コードで拒否されます。 |
たとえば、テスト用の法人カードを使用して処理された $25.00 の支払いは成功しますが、$10.05 の支払いは拒否されます。
Interac テストカード カナダのみ
Interac の連携をテストするには、シミュレーションされた interac
テストカード、または「Interac の物理テストカード」を使用できます。このカードは、ダッシュボードの Terminal ハードウェアショップで注文できます。Stripe ブランドの物理テストカードは、Interac カードとして使用できません。
Interac テストカードは、interac_present
支払いと interac_present
返金の両方で機能します。card_present
支払いをテストする際に使用するのと同じテスト金額を使用できます。特に記載がない限り、要求された場合は PIN 1234
を使用してください。拒否された返金をテストするには、末尾が 01
、05
、55
、65
または 75
の金額で一部返金を作成します。
注
Interac テストカードは、非接触型決済に対応していません。
eftpos テストカード オーストラリアのみ
eftpos の連携をテストするには、シミュレーション済みの eftpos
テストカード、または「eftpos の物理テストカード」を使用できます。このカードは、ダッシュボードの Terminal ハードウェアショップで注文できます。Stripe ブランドの物理テストカードは、eftpos
カードとして使用できません。
card_present
支払いをテストする際に使用するのと同じテスト金額を使用できます。特に記載がない限り、要求された場合は PIN 1234
を使用してください。
シミュレーションされたカード提示
サーバー主導型の実装を使用する場合、リーダーでのカード保有者のタップまたはリーダーへのカードの挿入をシミュレーションするには、present_payment_method エンドポイントを使用します。
{ "id": "tmr_xxx", "object": "terminal.reader", "action": { "failure_code": null, "failure_message": null, "process_payment_intent": { "payment_intent": "pi_xxx" }, "status": "succeeded", "type": "process_payment_intent" }, … }
パラメーターを指定しない場合、シミュレーションされた支払いは、PaymentIntent の決済手段のタイプに基づき、デフォルトで有効なテストカードになります。以下は、Terminal 決済手段タイプ用のデフォルトのテストカードです。
決済手段のタイプ | テストカード番号 | テスト支払い方法 |
---|---|---|
card_present | visa | |
card_present と interac_present | visa | |
interac_present | interac |
標準的なテストカードでは、テスト金額を使用して失敗シナリオをシミュレーションすることもできます
シミュレーションされたリーダーの更新
シミュレーションされた Bluetooth リーダーに接続している間に、シミュレーションされたリーダーの更新を設定できます。