Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

プッシュ通知を処理する

NFC Wallet はプッシュ通知を使用してあなたに通知します デジタルウォレットアプリケーション。通知は NFC Wallet のバックエンドによって送信されます。

NFC Wallet のプッシュ通知の処理は、次をサポートするために必要です LCM、トランザクション通知、およびデジタルカードがイシュアによって直接有効化されるカード登録フロー。

を使用して通知をルーティングします sender

読み取り userInfo["sender"] し、通知を適切なハンドラーに振り分けます:

  • CPS: デジタルカード操作 (LCM)

  • TNS: トランザクション通知

  • MG: によってトリガーされる支払いキー補充 TSP

func application(
    _ application: UIApplication,
    didReceiveRemoteNotification userInfo: [AnyHashable : Any],
    fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void
) {
    let sender = userInfo["sender"] as? String

    Task {
        do {
            switch sender {
            case "CPS":
                // デジタルカード操作 (LCM)。
                // SDK の通知ハンドラーを呼び出します。API リファレンスの `NotificationService` を参照してください。
                break

            case "TNS":
                // トランザクション通知。
                // トランザクション履歴を更新します。API リファレンスの `TransactionHistoryService` を参照してください。
                break

            case "MG":
                // TSP によってトリガーされたキー補充。
                // 補充をトリガーします。API リファレンスの `ReplenishmentService` を参照してください。
                break

            default:
                // SDK 以外の通知。
                break
            }

            completionHandler(.newData)
        } catch {
            completionHandler(.failed)
        }
    }
}

CPS 通知(デジタルカード操作)を処理する

転送する CPS プッシュ通知を SDK に NotificationService.processNotification().

NFC Wallet SDK はプッシュを処理し、NFC Wallet のバックエンドと連携します。

その後、SDK は以下を通じて通知イベントを発行できます NotificationService.notificationEventStream。これらのイベントを使用してデジタルカード操作を追跡します。

サポートされるイベント:

  • unsupportedPushContent: プッシュペイロードが SDK でサポートされていない場合にトリガーされます。

  • completed: 処理が正常に完了したときにトリガーされます(たとえば、カードプロファイルと支払いキーのプロビジョニング後)。

  • serverMessage: バックエンドが指示を返したときにトリガーされます。SDK は serverMessage オブジェクトと tokenizedId.

サーバーメッセージ

受信したら serverMessageを提供します。 serverMessage オブジェクトを解析して、バックエンドがどの操作を要求したのかを判断します。

特に:

  • requestInstallCard: カードのインストール要求。

  • requestResumeCard: カードを一時停止からアクティブに移す要求。

  • requestSuspendCard: カードをアクティブから一時停止に移す要求。

  • requestDeleteCard: カードの削除要求。

TNS 通知(トランザクション)を処理する

トランザクション通知は、完了した支払いトランザクションの詳細を提供します。 TransactionHistoryService を使用してトランザクション記録を取得します。

プッシュ通知を通じて、 デジタルウォレットアプリケーション は通知の userInfo パラメータ経由で次の情報を取得します:

  • userInfo["sender"]: TNS.

  • userInfo["action"]: TNS:PaymentTransactionNotification.

  • userInfo["digitalCardId"]: デジタルカード識別子。 TransactionHistoryService.records(forDigitalCardID:).

  • userInfo["transactionRecordType"]: コバッジカードの場合のみ存在します。 TransactionHistoryService.records(forDigitalCardID:transactionRecordType:) に渡して、関連する記録(プライマリまたは補助)のみを取得します。

MG通知を処理する(補充)

この TSP は支払いキーの補充を要求できます。 ReplenishmentService を使用してキーを補充します。

プッシュ通知を通じて、 デジタルウォレットアプリケーション は通知の userInfo パラメータ経由で次の情報を取得します:

  • userInfo["sender"]: MG.

  • userInfo["action"]: MG:ReplenishmentNeededNotification.

  • userInfo["digitalCardId"]: デジタルカード識別子。 ReplenishmentService.replenish(digitalCardID:isForced:).

最終更新

役に立ちましたか?