エラー処理
チェックアウトまたは支払い処理中に問題が発生した場合に、明確で実用的なガイダンスを提供して、人々が問題を迅速に解決し、取引を完了できるようにします。
データの検証
支払いシートが表示されたとき、人々が支払いシートの特定のフィールド値を変更したとき、および取引を認証した後、あなたのアプリまたは Web サイトはユーザー入力に応答できます。これらの機会を利用して、データ入力の問題をチェックし、明確で一貫したメッセージを提供してください。
iOS | Web |
データが無効な場合、システムが提供するエラーメッセージにより、支払いシートの関連フィールドに注意が向けられます。人々はフィールドを選択して追加の詳細を表示し、問題を解決できます。人々が問題のあるフィールドを選択したときに表示される詳細ビューに、カスタマイズされたエラーメッセージを提供します。
開発者向けガイダンスについては、PKPaymentAuthorizationViewControllerDelegate (PKPaymentAuthorizationViewControllerDelegate) (iOS、watchOS) および Web 上の Apple Pay (Apple Pay on the Web) (Web) を参照してください。
注意
プライバシー上の理由から、人々が取引を承認しようとするまで、あなたのアプリまたは Web サイトからのデータへのアクセスは制限されています。認証前は、カードの種類と編集済みの配送先住所のみにアクセスできます。認証が失敗したときにエラーを表示することは重大ですが、可能な限り、あなたのアプリは利用可能な情報を検証し、認証の前に問題を報告する必要があります。
あなたの職務上の論理への準拠を強制することは避けてください。 無関係なデータを無視し、可能な限り欠落しているデータを推測するのに十分なほどインテリジェントなデータ検証プロセスを設計します。たとえば、あなたのアプリで 5 桁の郵便番号が必要な場合に、誰かが Zip+4 コードを入力した場合、修正を求めるのではなく、追加の数字を無視します。ダッシュの有無、国コードの有無など、人々が複数の形式で電話番号を入力してもエラーは発生しません。
システムに正確な状態のレポートを提供します。 問題が発生した場合、システムが支払いシートに最も関連性の高いエラーメッセージを表示できるように、あなたのアプリまたは Web サイトが問題の種類を正確に示すことが不可欠です。これは、カスタムエラーメッセージに正しいステータスコードを付加することによって行われます。開発者向けガイダンスについては、PKPaymentError (PKPaymentError) (iOS、watchOS) および Apple Pay ステータスコード (Apple Pay status codes) (Web) を参照してください。
支払い手続き
中断を正しく処理します。 キャンセルなどのユーザー由来のイベントや、タイムアウトなどのシステム由来のイベントによって、支払いフローが中断され、支払いシートが破棄される可能性があります。そのようなイベントが発生した場合、進行中の支払いをキャンセルしなければなりません。支払いシートが消えてしまった後、Apple Pay ボタンをもう一度選択することでプロセスを再開できます。開発者向けガイダンスについては、PKPaymentAuthorizationViewControllerDelegate (PKPaymentAuthorizationViewControllerDelegate) (iOS、watchOS) および oncancel (oncancel) (Web) を参照してください。
リソース
関連
開発者用文書
PassKit > Apple Pay (Apple Pay)
Web 上の Apple Pay (Apple Pay on the Web)
WKInterfacePaymentButton (WKInterfacePaymentButton)