- インテグレーションガイドライン
- サポートされている機能(支払方法)
- 対面取引の支払い
対面取引の支払い
対面取引 (CHP) の支払いとは、販売時点情報管理 (POS) 端末を使用する取引のことです。端末では、以下の方法でカードデータが読み取られます。
- EMV カードの接触
- 非接触型カードからの NFC (近距離無線通信)
- 磁気ストライプカードをカードリーダーに通す
- カード番号のキー入力
上記のすべての方法は <<webServicesIntegration>> バージョン 40 以降でサポートされています。
CHP 支払いは、端末によって開始され、Verify、Authorize、Capture、Pay または Refund 取引としてゲートウェイに送信されます。たとえば、カード上のチップによってオフラインで認証された取引は Capture としてのみ送信されますが、イシュアー(カード発行会社)による認証が必要な取引ではオンラインの Authorize 取引が使用された後に Capture 取引が使用されます。
CHP 取引はゲートウェイの他の多くの機能と相互作用します。次のことが可能です。
- カードのトークン化
- 電子商取引と同じインテグレーションの使用または UI による返金
- 電子商取引および CHP のレポートの一体化
前提条件
Your payment service provider およびアクワイアラーが対面取引を有効にしている必要があります。
CHP 取引で使用される共通フィールド
以下の API のフィールドは、ゲートウェイを介するすべての対面取引インテグレーションに関係しています。
transaction.source=CARD_PRESENT
:このフィールドが指定されていない場合は、your payment service provider によってアクワイアラーリンクで設定されているデフォルトの取引ソースが使用されます。[REST][NVP]- カード番号: カード番号を指定することは必須ですが、カードの読み取り方式、キー入力、磁気ストライプ、またはEMV チップによっては、以下の方法で指定できます。
- キー入力取引 の場合は
sourceOfFunds.provided.card.number
。 - 磁気ストライプ取引の場合は
sourceOfFunds.provided.card.track1
またはsourceOfFunds.provided.card.track2
。
カードデータが磁気ストライプ形式である非接触取引の場合は、sourceOfFunds.provided.card.emvRequest
で提供されている EMV タグ等価であるタグ 56 およびタグ 57。 - カードデータが EMV 形式である EMV 取引(接触型/非接触型)の場合は
sourceOfFunds.provided.card.emvRequest
のタグ 5A。 - カードデータが DUKPT で暗号化された形式である P2PE 取引(Point-to-Point Encryption)の場合は
sourceOfFunds.provided.card.p2pe.payload
。
- キー入力取引 の場合は
- 端末の識別子: 端末の識別子を指定することは必須ですが、カードの読み取り方式、キー入力、磁気ストライプ、または EMV チップによっては、以下の方法で指定できます。
- キー入力取引および磁気ストライプ取引の場合は
posTerminal.lane
。 - カードデータが EMV 形式である EMV 取引 (接触型/非接触型) の場合は
sourceOfFunds.provided.card.emvRequest
のタグ 9F1C。
- キー入力取引および磁気ストライプ取引の場合は
以下の POS 端末フィールドの値が、取引に対する端末でのカードデータの生成方法に基づいて正しく設定されていることを確認します。これらのフィールドのデータが使用可能である場合は、常に指定します。ゲートウェイは必要に応じてそのデータをアクワイアラーに渡します。アクワイアラーが必要としているフィールドが指定されていない場合、その取引は失敗します。
posTerminal.address
posTerminal.attended
:このフィールドを指定していない場合、ゲートウェイはデフォルト値UNKNOWN_OR_UNSPECIFIED
を使用します。posTerminal.authorizationMethod
posTerminal.cardHolderActivated
:このフィールドを指定していない場合、ゲートウェイはデフォルト値NOT_CARDHOLDER_ACTIVATED
を使用します。posTerminal.inputCapability
:このフィールドは EMV 取引では必須です。posTerminal.location
:このフィールドは EMV 取引では必須です。posTerminal.panEntryMode
posTerminal.pinEntryCapability
posTerminal.onlineReasonCode
:このフィールドは、すべてのオンライン取引でのチップ取引およびチップフォールバック取引 (取消を含む) では必須です。posTerminal.serialNumber
posTerminal.mobile.cardInputDevice
:このフィールドは、モバイル POS (mPOS) デバイスであって、PIN を入力する際にそのデバイスの画面上でタップでき、または物理的なキーパッドがあるものに適用されます。ソフトウェア PIN は、PIN 入力をサポートするハードウェアのキーパッドがないデバイスにのみ使用できます。mPOS インテグレーションの要件については、「mPOS を使用するインテグレーション」を参照してください。order.gratuityAmount
:支払いに謝礼の金額が含まれている場合は、このフィールドに入力します。
[REST][NVP]order.cashbackAmount
:支払いにキャッシュバック金額が含まれている場合は、このフィールドに入力します。
[REST][NVP]order.cashAdvance
:支払いに現金前払い金額が含まれている場合は、このフィールドに入力します。
[REST][NVP]
EMV 取引の処理
カードデータがカードのチップから読み取られた場合(EMV カードのみ)、
- これらの EMV タグ(ゲートウェイでサポートされているタグ)を端末にリクエストします。
- 返されたタグを、REST プロトコルで JSON オブジェクトとして
sourceOfFunds.provided.card.emvRequest
フィールドで指定するか、または NVP プロトコルでフィールドの集合として指定します (サポートされている EMV タグの一部が端末で提供されていない場合は、それでも構いません)。EMV タグの値は、端末から返されたのと全く同じ形式である必要があります。バイナリ値は 16 進表記の形式で表されます。 - 必須フィールドに入力します。
- 必要に応じて、任意指定フィールドに入力します。
sourceOfFunds.provided.card.emvRequest [REST][NVP]
サポートされている EMV タグの一部は、支払いの中核概念(主アカウント番号など)に対応しています。これらの概念は、API リクエストフィールド (sourceOfFunds.provided.card.number
など) にも表れています。これらの該当する API リクエストの API リファレンス文書では、説明のセクションにそれらの関連性が記載されています。たとえば、sourceOfFunds.provided.card.number
の説明には、「このフィールドは EMV タグ 5A に該当します」という記述があります。
データを EMV タグとして指定する場合は、API リクエストフィールドで同じデータを指定する必要はありません。ゲートウェイは、該当する API リクエストフィールドに EMV タグで指定された値を入力し (存在する場合)、内部処理、アクワイアラーへのメッセージ、および取引レスポンスのすべてでそれらの値を使用します。たとえば、値が "Lane_03" である sourceOfFunds.provided.card.emvRequest.9F1C を送信すると、値が "Lane_03" の posTerminal.lane が、アクワイアラーに送信され、取引応答で返されます。
必要であれば、EMV タグと該当する API リクエストの両方を取引リクエストで指定することを選択できます。「高度な使用方法」を参照してください。EMV タグと API リクエストフィールドの両方の取引データ
認証が端末においてオフラインで実行された Standalone Capture 取引に対する、REST での EMV リクエストの例を示します。
URL | https://qnbalahli.test.gateway.mastercard.com/api/rest/version/72/merchant/{merchantId}/order/{orderid}/transaction/{transactionid} |
HTTP メソッド | PUT |
{ "apiOperation": "CAPTURE", "transaction": { "currency": "EUR", "amount": "10.99", "source": "CARD_PRESENT" }, "sourceOfFunds": { "type": "CARD", "provided": { "card": { "number": "5457210089020012", "expiry": { "month": "1", "year": "39" }, "emvRequest": { "82": "0000", "95": "0000000000", "9F02": "000000001099", "9A": "161021", "5F2A": "840", "9F1A": "840", "9F10": "06011103A000000A0100000000000BB0ABAD", "9F34": "1E0300", "9F36": "0002", "9C": "00", "9F26": "D1F722D47FCA8273", "9F27": "40", "9F37": "2A4E1690", "9F33": "E0B8C8" } } } }, "posTerminal": { "inputCapability": "CONTACTLESS_CHIP", "panEntryMode": "CHIP", "pinEntryCapability": "PIN_SUPPORTED", "location": "MERCHANT_TERMINAL_ON_PREMISES", "lane": "Lane_03", "attended": "ATTENDED", "serialNumber":"123456789", "onlineReasonCode":"FORCED_BY_MERCHANT", "cardPresenceCapability":"CARD_PRESENT", "authorizationMethod":"OFFLINE", "address": { "country":"IRL", "city":"Dublin" } } }
{ "gatewayEntryPoint": "WEB_SERVICES_API", "merchant": "TESTSMOKE-RETAIL", "order": { "amount": 10.99, "creationTime": "2017-06-06T09:42:54.280Z", "currency": "EUR", "id": "sa-dfc1b030-4520-48ec-a7e0-889999d7e4ab", "status": "CAPTURED", "totalAuthorizedAmount": 10.99, "totalCapturedAmount": 10.99, "totalRefundedAmount": 0 }, "posTerminal": { "address": { "city": "Dublin", "country": "IRL" }, "attended": "ATTENDED", "authorizationMethod": "OFFLINE", "cardPresenceCapability": "CARD_PRESENT", "cardholderActivated": "NOT_CARDHOLDER_ACTIVATED", "inputCapability": "CONTACTLESS_CHIP", "lane": "Lane_03", "location": "MERCHANT_TERMINAL_ON_PREMISES", "onlineReasonCode": "FORCED_BY_MERCHANT", "panEntryMode": "CHIP", "pinEntryCapability": "PIN_SUPPORTED", "serialNumber": "123456789" }, "response": { "gatewayCode": "APPROVED" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "MASTERCARD", "emvRequest": { "82": "0000", "95": "0000000000", "5F2A": "840", "9A": "161021", "9C": "00", "9F02": "000000001099", "9F10": "06011103A000000A0100000000000BB0ABAD", "9F1A": "840", "9F26": "D1F722D47FCA8273", "9F27": "40", "9F33": "E0B8C8", "9F34": "1E0300", "9F36": "0002", "9F37": "2A4E1690" }, "emvResponse": { "4D3E": "456", "5A2F": "123" }, "expiry": { "month": "1", "year": "39" }, "fundingMethod": "DEBIT", "issuer": "CAPITAL ONE BANK (CANADA BRANCH)", "number": "545721xxxxxx0012", "scheme": "MASTERCARD" } }, "type": "CARD" }, "timeOfRecord": "2017-06-06T09:42:54.280Z", "transaction": { "acquirer": { "batch": 1, "id": "FOOBANK", "merchantId": "11223344" }, "amount": 10.99, "currency": "EUR", "frequency": "SINGLE", "id": "1", "receipt": "1706063974", "source": "CARD_PRESENT", "terminal": "0001", "type": "CAPTURE" }, "version": "43" }
ゲートウェイでサポートされている EMV タグのリストを示します。これらのいずれかが端末から返された場合は、それを sourceOfFunds.provided.card.emvRequest
フィールドに含めます。
EMV タグ |
名前 |
必須 |
---|---|---|
4F | アプリケーション識別子 (AID) 名 | - |
56 | トラック 1 | - |
57 | トラック 2 の等価データ | - |
5A | アプリケーションの 主アカウント番号 (PAN) |
- |
5F24 | アプリケーションの有効期限 | - |
5F25 | アプリケーションの有効期限 | - |
5F28 | イシュアー(カード発行会社)の国コード | - |
5F2A | 取引通貨コード | - |
5F34 | アプリケーションの主アカウント番号 (PAN) の シーケンス番号 |
- |
82 | アプリケーションインターチェンジプロファイル(AIP) | Yes |
84 | 専用ファイル名 | - |
87 | アプリケーション優先度インジケータ | - |
95 | 端末検証結果(TVR) | Yes |
9A | 取引日 | Yes |
9B | 取引ステータス情報 | - |
9C | 取引のタイプ | Yes |
9F02 | 承認金額 | Yes |
9F03 | キャッシュバック金額 | - |
9F06 | アプリケーション識別子(AID) - 端末 | - |
9F07 | アプリケーション使用制御 | - |
9F08 | アプリケーションのバージョン番号 - ICC | - |
9F09 | アプリケーションのバージョン番号 - 端末 | - |
9F0D | イシュアー(カード発行会社)のアクションコード - デフォルト | - |
9F0E | イシュアー (カード発行会社) のアクションコード - 拒否 | - |
9F0F | イシュアー (カード発行会社) のアクションコード - オンライン | - |
9F10 | イシュアー(カード発行会社)のアプリケーションデータ(IAD) | Yes |
9F1A | 端末の国コード | Yes |
9F1C | 端末の識別子 | - |
9F1E | インターフェイスデバイス(IFD)のシリアル番号 | - |
9F21 | 取引時刻 | - |
9F26 | アプリケーション暗号文(AC) | Yes |
9F27 | 暗号文情報データ(CID) | Yes |
9F33 | 端末機能 | - |
9F34 | カード所有者の確認方法 (CVM) の結果 | Yes |
9F35 | 端末タイプ | - |
9F36 | アプリケーション取引カウンタ | Yes |
9F37 | 予測不可能な数 | Yes |
9F39 | 販売時点情報管理(POS)入力モード | - |
9F40 | 追加の端末機能 | - |
9F41 | 取引シーケンスカウンタ | - |
9F49 | 動的データ認証データオブジェクトリスト(DDOL) | - |
9F53 | 取引カテゴリコード | - |
9F5A | EMV (カーネル 3) :アプリケーションプログラム識別子 (プログラム ID) EMV (カーネル 4) :メンバー製品識別子 |
- |
9F5B | EMV (カーネル 3) :イシュアー (カード発行会社) スクリプトの結果 EMV (カーネル 2):DSDOL EMV (カーネル 4):製品メンバー番号 |
- |
9F66 | EMV (カーネル 2) :PUNATC (トラック 2) EMV (カーネル 3):端末取引修飾子 (TTQ) |
- |
9F6E | フォームファクターインジケータ | - |
9F7C | お客様の専用データ(CED) | - |
EMV タグとそれに該当する API リクエストフィールドの両方を取引リクエストで指定している場合、ゲートウェイでは、該当する API リクエストフィールドで指定されている値が使用されます。たとえば、値が "Lane_03" である sourceOfFunds.provided.card.emvRequest.9F1C と 値が "Lane_04" である posTerminal.lane を送信すると、値が "Lane_04" の posTerminal.lane が、アクワイアラーに送信され、取引応答で返されます。これは、EMV タグを上書きして、フィールドごとに値を制御したい場合に役立つことがあります。そのような使用方法はまれであるため、インテグレーションで必要な場合にのみ検討する必要があります。
サポートされている EMV タグと該当する API リクエストフィールド
この表には、ゲートウェイで、EMV タグで指定された値を使用して、該当する API リクエストフィールドに入力される EMV タグのリストを示しています。
EMV タグ |
EMV タグ名 |
該当する API リクエストフィールド |
---|---|---|
56 | トラック 1 | sourceOfFunds.provided.card.track1 |
57 | トラック 2 の等価データ | sourceOfFunds.provided.card.track2 |
5A | アプリケーションの主アカウント番号(PAN) | sourceOfFunds.provided.card.number |
5F24 | アプリケーションの有効期限 | sourceOfFunds.provided.card.expiry.year sourceOfFunds.provided.card.expiry.month |
5F34 | PAN のシーケンス番号 | sourceOfFunds.provided.card.sequenceNumber |
9C | 現金前払い | order.cashAdvance |
9F03 | キャッシュバック金額 | order.cashbackAmount |
9F1A | 端末の国コード | posTerminal.address.country |
9F1C | 端末の識別子 | posTerminal.lane |
9F1E | インターフェイスデバイスのシリアル番号 | posTerminal.serialNumber |
9F33 | 端末機能 | posTerminal.inputCapability posTerminal.pinEntryCapability |
9F35 | 端末タイプ | posTerminal.attended posTerminal.cardholderActivated |
ゲートウェイは、Retrieve Order および Retrieve Transaction のレスポンスで sourceOfFunds.provided.card.emvResponse
フィールドを返します。このフィールドにはイシュアー (カード発行会社) によって生成されたデータが含まれていて、カード/機器では取引を完了または拒否するための検証にそのデータを使用できます。そのデータには、リクエストから伝達されたタグだけでなく、イシュアー (カード発行会社) からの追加の EMV タグが含まれていることもあります。
次の表には、オンラインの Authorization レスポンスで返されることがあるいくつかの EMV タグを示しています。
EMV タグ | 名前 |
---|---|
8A | 承認レスポンスコード |
89 | 承認コード |
91 | イシュアー (カード発行会社) 認証データ |
71 | イシュアー (カード発行会社) スクリプトテンプレート 1 |
72 | イシュアー (カード発行会社) スクリプトテンプレート 2 |
リクエストで指定された sourceOfFunds.provided.card.emvRequest
フィールドは、PCI 機密認証データとして識別された EMV タグが除外されて、レスポンスでそのまま送り返されています。
アクワイアラーは、EMV 取引を取り消す際に、追加の EMV データ要素を含める必要がある場合があります。たとえば、EMV タグ DF01 (イシュアー (カード発行会社) スクリプトの結果) が必要になることがあります。特定の要件についてはアクワイアラーに問い合わせてください。
磁気ストライプ取引の処理
カードのトラックデータがカードの磁気ストライプから読み取られた場合、
- トラック 1 のデータを
sourceOfFunds.provided.card.track1
フィールドに、またはトラック 2 のデータをsourceOfFunds.provided.card.track2
フィールドに指定します。端末で トラック 1 とトラック 2 の両方が使用可能な場合は、取引リクエストで両方とも指定します。 - 必須フィールドに入力します。
- 必要に応じて、任意指定フィールドに入力します。
sourceOfFunds.provided.card.track1 [REST][NVP]
sourceOfFunds.provided.card.track2 [REST][NVP]
磁気ストライプデータを使用したオンラインの Authorization 取引の例を示します。
URL | https://qnbalahli.test.gateway.mastercard.com/api/rest/version/72/merchant/{merchantId}/order/{orderid}/transaction/{transactionid} |
HTTP メソッド | PUT |
{ "apiOperation": "AUTHORIZE", "order": { "amount": 80, "currency": "AUD" }, "transaction": { "source": "CARD_PRESENT", "frequency": "SINGLE" }, "sourceOfFunds": { "type": "CARD", "provided": { "card": { "number": "5457210089020012", "sequenceNumber": "015", "expiry": { "year": "39", "month": "01" }, "track2": ";5123456789012346=17051019681143384001?", "track1": "%B5123456789012346^MR JOHN R SMITH ^17051019681143300001 840 ?;" } } }, "posTerminal": { "lane": "AdamLane", "panEntryMode": "SWIPE", "pinEntryCapability": "PIN_NOT_SUPPORTED", "attended": "UNATTENDED", "cardholderActivated": "SELF_SERVICE_TERMINAL", "inputCapability": "MAGNETIC_STRIPE", "location": "MERCHANT_TERMINAL_OFF_PREMISES" } }
{ "authorizationResponse": { "posData": "1605S0100130", "transactionIdentifier": "AmexTidTest" }, "gatewayEntryPoint": "WEB_SERVICES_API", "merchant": "TESTSMOKE-RETAIL", "order": { "amount": 80, "creationTime": "2017-05-31T07:49:46.351Z", "currency": "AUD", "id": "sa-e229682a-2163-47cf-b080-fb60dd148192", "status": "AUTHORIZED", "totalAuthorizedAmount": 80, "totalCapturedAmount": 0, "totalRefundedAmount": 0 }, "posTerminal": { "attended": "UNATTENDED", "cardholderActivated": "SELF_SERVICE_TERMINAL", "inputCapability": "MAGNETIC_STRIPE", "lane": "AdamLane", "location": "MERCHANT_TERMINAL_OFF_PREMISES", "panEntryMode": "SWIPE", "pinEntryCapability": "PIN_NOT_SUPPORTED" }, "response": { "acquirerCode": "00", "gatewayCode": "APPROVED" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "MASTERCARD", "expiry": { "month": "1", "year": "39" }, "fundingMethod": "DEBIT", "issuer": "CAPITAL ONE BANK (CANADA BRANCH)", "number": "545721xxxxxx0012", "scheme": "MASTERCARD", "sequenceNumber": "015", "trackDataProvided": true } }, "type": "CARD" }, "timeOfRecord": "2017-05-31T07:49:46.351Z", "transaction": { "acquirer": { "batch": 1, "id": "SYSTEST_ACQ1", "merchantId": "12345678" }, "amount": 80, "authorizationCode": "000001", "currency": "AUD", "frequency": "SINGLE", "id": "1", "receipt": "1705313", "source": "CARD_PRESENT", "terminal": "0006", "type": "AUTHORIZATION" }, "version": "43" }
キー入力取引の処理
カード番号が端末のキーパッドで手動で入力された場合、
- キー入力されたカード番号を
sourceOfFunds.provided.card.number
リクエストフィールドに指定します。 - 必須フィールドに入力します。
- 必要に応じて、任意指定フィールドに入力します。
sourceOfFunds.provided.card.number
[REST][NVP]
手動でキー入力されたカード番号を使用したオンラインの Authorization 取引の例を示します。
URL | https://qnbalahli.test.gateway.mastercard.com/api/rest/version/72/merchant/{merchantId}/order/{orderid}/transaction/{transactionid} |
HTTP メソッド | PUT |
{ "posTerminal": { "serialNumber": "13130PP800781435", "cardholderActivated": "NOT_CARDHOLDER_ACTIVATED", "lane": "S2_Lane", "panEntryMode": "KEYED", "pinEntryCapability": "UNKNOWN", "attended": "ATTENDED", "inputCapability": "KEY_ENTRY", "location": "MERCHANT_TERMINAL_ON_PREMISES" }, "apiOperation": "AUTHORIZE", "sourceOfFunds": { "type": "CARD", "provided": { "card": { "number": "5457210089020012", "sequenceNumber": "000", "expiry": { "year": "39", "month": "01" } } } }, "order": { "amount": "100.00", "currency": "EUR" }, "transaction": { "source": "CARD_PRESENT", "frequency": "SINGLE" } }
{ "gatewayEntryPoint": "WEB_SERVICES_API", "merchant": "TESTSMOKE-RETAIL", "order": { "amount": 100, "creationTime": "2017-05-31T08:59:47.194Z", "currency": "EUR", "id": "sa-529e784a-e11d-474d-8012-c0790531bb0f", "status": "AUTHORIZED", "totalAuthorizedAmount": 100, "totalCapturedAmount": 0, "totalRefundedAmount": 0 }, "posTerminal": { "attended": "ATTENDED", "cardholderActivated": "NOT_CARDHOLDER_ACTIVATED", "inputCapability": "KEY_ENTRY", "lane": "S2_Lane", "location": "MERCHANT_TERMINAL_ON_PREMISES", "panEntryMode": "KEYED", "pinEntryCapability": "UNKNOWN", "serialNumber": "13130PP800781435" }, "response": { "gatewayCode": "APPROVED" }, "result": "SUCCESS", "sourceOfFunds": { "provided": { "card": { "brand": "MASTERCARD", "expiry": { "month": "1", "year": "39" }, "fundingMethod": "DEBIT", "issuer": "CAPITAL ONE BANK (CANADA BRANCH)", "number": "545721xxxxxx0012", "scheme": "MASTERCARD", "sequenceNumber": "000" } }, "type": "CARD" }, "timeOfRecord": "2017-05-31T08:59:47.194Z", "transaction": { "acquirer": { "batch": 1, "id": "FOOBANK", "merchantId": "11223344" }, "amount": 100, "authorizationCode": "471223", "currency": "EUR", "frequency": "SINGLE", "id": "1", "receipt": "170531475", "source": "CARD_PRESENT", "terminal": "0001", "type": "AUTHORIZATION" }, "version": "43" }
Point-to-Point Encryption (P2PE)取引の処理
P2PE は PCI セキュリティ標準委員会 (PCI Security Standards Council) によって確立された標準です。P2PE により、カードデータが読み取られた後、機密認証データが端末で即座に暗号化されます。機密認証データを処理する必要がなくなるため、これにより対面取引のセキュリティが最大化され、PCI コンプライアンス準拠義務が軽減されます。
P2PE 取引の処理方法:
- 以下のフィールドに、端末から提供される DUKPT P2PE データを入力します。
sourceOfFunds.provided.card.p2pe.keySerialNumber
:端末から提供された DUKPT キーのシリアル番号を入力する必要があります。sourceOfFunds.provided.card.p2pe.payload
:このフィールドに入力する場合、sourceOfFunds.provided.card.number
は必須ではありません。ゲートウェイは関係するすべてのカード詳細を、指定されたペイロードデータから抽出します。posTerminal.serialNumber
:sourceOfFunds.provided.card.p2pe.cardBin
sourceOfFunds.provided.card.p2pe.encryptionState
:このフィールドを指定していない場合、ゲートウェイはデフォルト値VALID
を使用します。sourceOfFunds.provided.card.p2pe.initializationVector
:端末が暗号化を開始するための初期化ベクトルを使用していない場合、このフィールドを省略することができます。
- 必須フィールドに入力します。
- 必要に応じて、任意指定フィールドに入力します。
下記の表は、sourceOfFunds.provided.card.p2pe
パラメータグループのフィールド制約を要約したものです。
フィールドの状況 | ゲートウェイへの影響 | ||
---|---|---|---|
sourceOfFunds.provided.card.p2pe. initializationVector |
sourceOfFunds.provided.card.p2pe. keySerialNumber |
sourceOfFunds.provided.card.p2pe. payload | |
指定した場合 | 指定した場合 | 指定しなかった場合 | 取引リクエストを拒否します。 |
指定した場合 | 復号前または復号後にプレーンテキストで指定した場合 | 指定した場合 | エラーを返し、セキュリティログエントリが生成されます。 |
取引応答
sourceOfFunds.provided.card.encryption
フィールドが、カードデータが暗号化されたことを示す取引応答で DUKPT
(<<webServicesIntegration>> 43 以降) を返します。sourceOfFunds.provided.card.p2pe
パラメータグループのフィールドはレスポンスで返されません。
オンライン PIN を使用するためのインテグレーション
カード所有者が入力したオンライン PIN は、ソース、つまり PIN を入力する機器の中で暗号化されます。QNB ALAHLI は <<webServicesIntegration>> 45 以降より DUKPT (Derived Unique Key Per Transaction) で暗号化されたオンライン PIN データをサポートします。
- 以下のフィールドに、端末から提供される DUKPT で暗号化された PIN データを入力します。
sourceOfFunds.provided.card.pin.payload
sourceOfFunds.provided.card.pin.keySerialNumber
posTerminal.pinLengthCapability
sourceOfFunds.provided.card.pin.encryptionState
- 必須フィールドに入力します。
- 必要に応じて、任意指定フィールドに入力します。
mPOS を使用するインテグレーション
ゲートウェイは、モバイル POS (mPOS) デバイス上の支払いの受け入れを API v56 以降でサポートしています。この機能を有効にするには、Verify、Authorize、Capture、Pay または Refund 取引に以下を指定します。
posTerminal.cardholderActivated
=MPOS_ACCEPTANCE_DEVICE
posTerminal.mobile.cardInputDevice
にカードリーダーの値を指定しますBUILT_IN
:市販の携帯電話またはタブレットで、非接触リーダーのみがビルトインされたもの。この場合、posTerminal.pinEntryCapability は SOFTWARE_ONLINE_PIN_ONLY に設定される必要があります。この設定がない場合、ゲートウェイは取引を拒否します。INTEGRATED_DONGLE
:統合カードリーダーが付いた、専用携帯端末。この場合、posTerminal.pinEntryCapability は PIN_SUPPORTED または OFFLINE_PIN_ONLY に設定される必要があります。この設定がない場合、ゲートウェイは取引を拒否します。SEPARATE_DONGLE
:独立したカードリーダーが付いた、市販のデバイスまたは専用携帯端末。この場合、posTerminal.pinEntryCapability は PIN_SUPPORTED または OFFLINE_PIN_ONLY に設定される必要があります。この設定がない場合、ゲートウェイは取引を拒否します。
- 必須フィールドに入力します。
- 必要に応じて、任意指定フィールドに入力します。
取引応答
支払者が無効な PIN を入力して、許容されている PIN 入力試行回数を超えた場合、または取引を完了するために PIN が必要なときに PIN の入力を省略した場合は、PIN 認証が失敗することがあります。
このように PIN 認証エラーによって認証が失敗した場合、ゲートウェイは特定の承認レスポンスコードを返します。次回の取引では同じ注文 ID を再利用できます。
対面取引インテグレーションのテスト
アクワイアラー固有のテストカードを使用して、インテグレーションをテストできます。