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.

デバイスバインディングを作成する(イエローフロー)

Visaクラウドトークンフレームワーク(CTF)デバイスバインディング イエローフロー イシュアが要求する場合に発生します ステップアップ認証 を使用して 本人確認(ID&V) 方式。

このフローは、次と同じ方法で開始されます デバイスバインディングの作成(グリーンフロー)、その後エンドユーザーがステップアップ認証を完了するまで一時停止します。

前提条件:

  • 支払いカードは既にトークン化されています。

  • あなたは vProvisionedTokenId.

  • エンドユーザーはデバイス上で認証できます(PIN、パスコード、指紋、Face IDなど)。

  • エンドユーザーは選択したID&V方式を完了できます(例:OTP)。

フロー

デバイスバインディング イエローフロー。
ステップ
説明

1

Thales SDKを使用してマーチャントアプリケーションからデバイスバインディングフローを開始します。

2

Thales SDKはデバイスIDとCTFキーペアを生成し、CTFキーペアをデバイスに安全に保存します。

3

Thales SDKはデバイス上でエンドユーザー認証をトリガーします。

4

Thales SDKはVisa定義のペイロードを生成して署名します。

5

Thales SDKは署名済みペイロードとCTF公開鍵をThalesバックエンドに送信します。

6

Thalesバックエンドは公開鍵をVisaのCAを使用して証明書に変換します。

7

Thalesバックエンドはデバイスを登録し、VTSにデバイスバインディングをリクエストします。

8

VTSはイシュアの決定を確認します。

9

イシュアはステップアップ認証を要求し、サポートされるID&V方式を提供します(例:OTPやアプリ間連携)。

10

Thalesバックエンドはイシュアの決定を通知されます。

11

Thales SDKはID&V方式の一覧を取得してマーチャントアプリケーションに渡します。

12

マーチャントアプリケーションはエンドユーザーに異なるオプションを表示します。

SDK統合

バインディングを作成する

呼び出す createBinding Thales SDKから。

イシュアがステップアップ認証を要求する場合、SDKは IDVSession を返します:

  • onIssuerAuthenticationRequired (Android)

  • idvSessionHandler (iOS)

ID&V方式の一覧を取得する

ID&V方式の一覧は、オブジェクトから取得できます。 IDVSession object。

を使用して IDVSession オブジェクトを使って呼び出します getIdvMethods サポートされている方式の一覧を取得するには 本人確認(ID&V) methods。

ID&V方式を選択する

選択した方式がOTPベースの場合、SDKは onIssuerAuthenticationReady を呼び出し、 OtpActivationStatus.

OtpActivationStatus を提供します は次の場合にのみ返されます, OTP_EMAILOTP_SMS 、および.

completionHandler

バインディングを有効化する

OTPフロー フローが中断され、バインディング状態がPENDING_ACTIVATION の場合は、を使用して再開します.

resumeBinding

使用 の場合は、を使用して再開します 保留中のバインディングを再開する フローが中断され、バインディング状態が.

バインディング状態が IDVSession オブジェクトを取得する

エラーが発生した場合、コールバックが呼び出され、そうでない場合はオブジェクトが返されます。 onError callbackは呼び出されます、そうでない場合は IDVSession オブジェクトが返されます。

後に、 の場合は、を使用して再開します はを返すと、 IDVSessionを使用してID&V方式の一覧を取得し、1つを選択して前述のようにバインディングを有効化します。

オプション:フロー再開の例(Android/iOS)

List<IDVMethod> idvMethods = idvSession.getIdvMethods();guard let idvSession = VisaService.shared.idvSession else { // idvセッションがない return}// 1. idv方式の一覧を表示do { let idvMethods = try idvSession.idvMethods} catch let error { // 2. エラーを処理}

ID&V方式を選択する

IDVMethod selectedIdvMethod;idvSession.selectIdvMethod(selectedIdvMethod);アプリケーションが選択したID&V方式を送信すると、onIssuerAuthenticationReadyコールバックがアプリケーションに返されます.guard let idvSession = VisaService.shared.idvSession else { // idvセッションがない return}// 1. idv方式の一覧を表示do { let idvMethods = try idvSession.idvMethods let selectedIdvMethod = idvMethods[0] // ユーザーが利用可能なidv方式のうち1つを選択 // 2. idv方式を送信 idvSession.selectIDVMethod(selectedIdvMethod) { (result) in if let otpActivationStatus = result { // 3.1. OTP値を入力するページを表示 } else { // 3.2. 顧客サポートに問い合わせるなど、OTPに関連しない選択されたidvの処理 } }} catch let error { // エラーを処理}// 4. ステップ2(selectIDVMethod)の失敗はcompletionHandlerで処理されます。VisaService.shared.completionHandler = { (session, error) in // 5. それがselectIDVMethodエラーかどうか確認する。 if let session = session, let error = error, error.description == TMGError.invalidIdvMethod.description { VisaService.shared.idvSession = session // 6. IDVフローを再試行。 }}上記に示したTMGErrorは網羅的ではありません。ケースに最も適したエラーコードを使用してください。

completionHandler

バインディングの有効化は、選択された方式に従って次の手順を実行することで行えます:

最終更新

役に立ちましたか?