iOS
Push Provisioning SDKログの取得
Push Provisioning SDKデバッグライブラリを使用してログを取得できます。次の場所で行ってください Console.app:
フィルタ:
TPCSDKでConsole.app.の
Console.appウィンドウで、次の両方が有効になっていることを確認してください情報メッセージを含めるおよびデバッグメッセージを含めるが選択されていることを確認します。以下を参照してください。

本番環境でもログを取得できます。Push Provisioning SDKデバッグライブラリを使用する必要があります。
Apple Payログの取得
次のデバイスには、Appleの特定のプロビジョニングプロファイルを使用してください:
iPhone: iOSプロビジョニングプロファイル.
iWatch: iWatchプロビジョニングプロファイル.
アプリケーションが実行されていると、Console.appで
PassbookUIServiceプロセスをフィルタリングしてログを表示できます。
詳細については、次を参照してください Apple Payのプロファイルとログ.
サーバーエラー
サーバー関連のエラーが発生した場合、APIリクエストIDを次の TPCError requestId パラメータから取得できる場合があります。問題をサポートチームに報告する際はこのリクエストIDを使用してください。
一般的なエラー
サンドボックス環境でカードを追加できない
考えられる原因:
デバイスがSandboxのiCloudアカウントでサインインされていない。
使用中のPANがSandbox PANではない。詳細は次を参照してください Appleのサンドボックステスト.
Push Provisioning SDK getToken/getCardDigitizationResult APIはまだ nil/CardNotDigitized を返します。カードのプロビジョニング処理後に。
考えられる原因:
本番環境でのテストでは、必要な承認の後、Ad Hocプロビジョニングプロファイル、TestFlight、またはApp Store(例えばプロモコード経由)を使用して本番デバイスでテストしてください。
プロビジョニングプロファイルに正しいエンタイトルメントが含まれていません。この ガイド を参照してエンタイトルメントを設定してください。
発行者アプリケーションの詳細が支払いネットワーク事業者(PNO)のシステム(VisaおよびMastercard)で誤って構成されている可能性があります。Appleの仕様に従い、PNOシステムで発行者アプリケーションの詳細を次の形式で構成してください:
associatedApplicationIdentifiers:TeamId.BundleIdassociatedStoreIdentifier:AdamIdappLaunchUrl: あなたのアプリケーションのURL.
次の図は、どこに構成するかを示しています アプリケーション識別子/ADAM IDおよび アプリケーションURL をMastercardで。

利用規約より前にカードが追加されていない

右上の検索バーにデバイスのSEIDを入力します。これによりリクエストとレスポンスを含むログが返されます。ログ出力を確認し、 request メッセージ(下図のように)を選択します。強調表示されたフィールドは選択したメッセージのデータを示します。
このユースケースでは、次を検証します encryptedPassData および ephemeralPublicKey. これはデバイスからサーバーに送信されたデータです。
下の図では、ログアーカイブのリクエスト/レスポンスも表示できます。サーバーの応答はより読みやすい形式で示され、エラーコードが強調表示されます。レスポンスは エラー500を返します。これは汎用エラーです。解決策は次のセクションに記載されています。

考えられる原因:
暗号化エラー、不正なデータエンコーディング、または無効なJSON辞書。
暗号実装とデータ形式を検証してこれを解決してください。
ホワイトリスト(誤ったAdam IDがホワイトリスト化されている)
これは本番環境でのテストにのみ適用されます。
発行者はアプリのAdam IDのホワイトリスト登録をリクエストしていますか?
はいの場合、発行者はAppをTestFlightで配布していますか?TestFlightでは、サポートされる最小ビルドをiOS 10.3に設定する必要があります。発行者アプリケーションがApp Store向けにビルドされたら、サポートされる最小iOSバージョンをiOS 9.0以降に戻すことができます。
利用規約やカードアートなどのリソースの読み込みに問題がある。
これは可能性が低いです。通常は、支払いネットワークポータルの構成が頻繁に変更されるプレプロダクション環境で発生します。
これを除外するために、Apple Walletでカードを手動で追加してみてください。利用規約が表示されればこの問題は除外できます。手動でのプロビジョニングが失敗する場合は、PNOに連絡して利用規約を再アップロードしてください。
適格でないカード

「利用規約より前にカードが追加されていない」シナリオとは異なり、サーバーはステータスコード 200を返します。これはリクエストが正常に完了したことを意味します。ただし、レスポンスはカードが適格でないことを示します(例えば、 eligibilityStatus=0).
この問題は、Apple Payに適格でないカード詳細が原因です(例えば、PNO/発行者によって許可リストに載っていない)。
カードが正しく構成されているかPNOに確認してください。
発行者がプロビジョニングを拒否:'レッドフロー'の応答

エンドユーザーが利用規約に同意した後の失敗は、発行者側の拒否によって引き起こされることが多いです。この拒否は レッドレスポンス.
で表されます。 40403これは発行者が試行を拒否した場合、または応答の処理に時間がかかりすぎるためにPNOが発行者の代わりに応答した場合に発生することがあります。このエラーのログには通常エラーコード
が表示されます。デバイスは「カードを追加できませんでした。後でもう一度お試しください、または詳細はカード発行会社にお問い合わせください」と表示することがあります。 レッドフローは発行者のPNOによって返されます。PNOに連絡してconversationID
を提供してください。PNOはそれを使用して根本的な理由を特定できます。
不明なカードタイプ
mediaType = com.apple.AppleMediaServices.accountmediatype.production 1
Push provisioningはステータスコードを返します Appleのサンドボックステスト PPROD: Apple Sandboxテストアカウントを使用してテストがトリガーされていません。サンドボックステストの手順については、次のページを参照してください。
PROD: 発行者アプリケーションがApp Storeに公開されておらず、Appleがこれを制限しています。
エラーの例は以下の通りです:
mediaType = com.apple.AppleMediaServices.accountmediatype.production 403
このエラーはプッシュプロビジョニングフローが発行者バックエンドによって拒否されたときに発生しますが、フロー自体はその他は成功している(レッドフロー)場合に発生します。エラーの詳細は以下の通りです:
[PassbookUIService error] Received Status Code 403.
Push provisioningは次を返します 500
このエラーは、Apple Sandboxテストアカウントがテストデバイスに設定されていないときに発生します。
エラーの例は以下の通りです:
最終更新
役に立ちましたか?