Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.

Google Pay のパーソナライズ

TSHはGoogle Payソリューション向けのEMVアプリケーションを完全にパーソナライズすることが可能です。以下は「submitTokenData」操作でTSPから必要とされるデータのセットです。

注1:

データ要素名は大文字小文字を区別しません。 例えば、DEK_KCV と dek_kcv は同等です

注2:

プロジェクト構成に応じて、いくつかのデータ要素が追加または削除される場合があります

PUREおよびDISCOVERの共通データ要素

名前
フォーマット
長さ
説明

kek_label

ASCII 文字列

最大64

支払い用キー暗号化に使用されるキーのラベル。値はキーセレモニー中に定義されます。

"G062C.TEST.SGKEK.TKSUK.01"

kek_kcv

16進文字列

6

支払い用キー暗号化に使用されるキーのKCV。 KEKキーのKCVは、ECBモードを使用して8バイトの00h(3DESの場合)を暗号化するか、16バイトの00hに対してCMACを使用して(AESの場合)計算されます。

"E95500"

dek_label

ASCII 文字列

最大64

Track2データ("track2_data")暗号化に使用される鍵のラベル。値は鍵のセレモニー中に定義されます。

"G062C.TEST.SGDEK.MKDATA.01"

dek_kcv

16進文字列

6

トラック2データ暗号化に使用されるキーのKCV。 KCVは、DEKキーを使用してECBモードで8バイトの00h(3DESの場合)または16バイトの01h(AESの場合)を暗号化することにより計算されます。

"50FE57"

track2_data

16進文字列

最大64

Track 2 同等データ(最大長は 19 バイト) クリアテキストでのフォーマットは:

  • トークン PAN 最大 19 桁: 'ppppppppppppppppppp'

  • 'D'

  • 有効期限: 'yymm'

  • サービスコード: 'sss'

  • (オプション)裁量データ(PAN の長さに依存)

  • 'F'(必要に応じて全バイトを確保するため) track2_dataは暗号アルゴリズムのブロックサイズに到達するように80h + 00h..00hでパディングされます(ISO7816-4パディング)。 track2_dataはDEK鍵の下でCBCモードを用いて暗号化されます。 暗号アルゴリズムはプロジェクト設定時に定義されます。

"FAB7FF4EFE1989AC25EBBEC2ED72378BDA79D244B89F7F25"

payment_keys

文字列

-

以下のフォーマットを参照してください。

-

psn

16進文字列

2

アプリケーションにパーソナライズする PAN シーケンス番号。

"01"

par

ASCII バイト

58

支払い口座参照。

"323352305041594D454E544143434F554E545245464552454E43455858" は "23R0PAYMENTACCOUNTREFERENCEXX" を表します

app_preferred_name

ASCII バイト

最大 16

アプリケーション優先名

"4465626974" は "Debit" を表します

PUREの追加データ要素

名前
フォーマット
長さ
説明

cmk_ac_dki

16進文字列

2

アプリケーションクリプトグラム鍵のDKI。

"01"

cmk_rp_dki

16進文字列

2

リモートペイメントキーのDKI。

"02"

DISCOVERの追加データ要素

名前
フォーマット
長さ
説明

track1_data

16進文字列

最大64

トラック1データ 復号後の形式はASCIIバイトです。デコード後の形式は次の通りです:

  • 'B'

  • トークン PAN 最大 19 桁: 'ppppppppppppppppppp'

  • '^'

  • 名前、2から26文字(姓、名などの間の区切り文字を含む場合がある)

  • '^'

  • 有効期限:'yymm' または '^'

  • サービスコード:'sss' または '^'

  • (オプション)裁量データ(PAN の長さに依存)

track1_dataは暗号化アルゴリズムのブロックサイズに到達するように80h + 00h..00hでパディングされます(ISO7816-4パディング)。 track1_dataはDEKキーでCBCモードを用いて暗号化されます。 暗号化アルゴリズムはプロジェクト設定時に定義されます。

"FAB7FF4EFE1989AC25EBBEC2ED72378BDA79D244B89F7F25"

cmk_emv_dki

16進文字列

2

EMVキーのDKI。

"01"

cmk_cavv_dki

16進文字列

2

CAVVキーのDKI。

"02"

payment_keysのフォーマット

payment_keysは以下に定義されたJSON配列の文字列表現です:

注3: 設定されるSU Kの最大数(上記のobjectと呼ばれる)は40です。

Note4: AES SUKの場合、暗号化アルゴリズムはRFC 3394に従ったAES-KWとし、KCVアルゴリズムはRFC4493に従い16バイトの00hに対するCMACとします。 3DES SUKの場合、暗号化アルゴリズムは3DES-ECBとし、KCVアルゴリズムはEMV-CPSに従って、関連するキーでECBモードにより8バイトの00hを暗号化して計算します。 いずれの場合も、上位3バイトがKCVとして使用されます。

PUREのpayment_keysフォーマット

上記で定義した配列の各オブジェクトは、以下のように定義されたJSONオブジェクトです:

JSONパラメータ名
M/O/C
説明

acKey

必須(M)

KEKキーで暗号化されたアプリケーションクリプトグラムSUK

acKeyKcv

必須(M)

アプリケーションクリプトグラムSUKのKCV

rpKey

任意(O)

KEKキーで暗号化されたリモートペイメントSUK

rpKeyKcv

条件(C)

リモートペイメントSUKのKCV rpKeyが存在する場合に提供されるもの

lcKey

必須(M)

KEKキーで暗号化されたローカルCDCVMスタンプ生成SUK

lcKeyKcv

必須(M)

ローカルCDCVMスタンプ生成SUKのKCV

atc

必須(M)

アプリケーショントランザクションカウンタ

例:

DISCOVERのpayment_keysフォーマット

上記で定義した配列の各オブジェクトは、以下のように定義されたJSONオブジェクトです:

JSONパラメータ名
M/O/C
説明

emvKey

必須(M)

KEKキーで暗号化されたEMVアプリケーションクリプトグラムSUK

emvKeyKcv

必須(M)

EMVアプリケーションクリプトグラムSUKのKCV

cavvKey

任意(O)

KEKキーで暗号化された顧客認証検証値(CAVV)SUK

cavvKeyKcv

条件(C)

CAVV SUKのKCV cavvKeyが存在する場合に提供されるもの

msKey

任意(O)

KEKキーで暗号化されたマグストライブSUK

msKeyKcv

条件(C)

マグストライブSUKのKCV msKeyが存在する場合に提供されるもの

atc

必須(M)

アプリケーショントランザクションカウンタ

例:

CPACE Girocard データ要素

名前
フォーマット
長さ
説明

type

文字列

最大64

CPACEパーソナライズタイプ。 値は「Girocard」である必要があります。

"Girocard"

profile

Base64文字列

-

Perso FF仕様に準拠したトークンプロファイル

"ANcB1wLXAA8AhAEBAHFl+OnQaqq2...Fwkf6n"

diversifier

16進文字列

32

セッションキー生成の導出データとして使用される16バイトのダイバシファイア値

"F5CFEA0C7C17EE5275566A33DAA1DFA9"

最終更新

役に立ちましたか?