Key Exchange - emvkeyexchange
This section describes the message parameters for EMV Keys Request transaction processing, which you can submit using the XML API integration method. Refer to the Integration Methods section for more information.
The emvkeyexchange
transaction requests EMV keys:
- To update the device
- To initially get the EMV keys
- When an EMV Chip Sale (
emvchipsale
) transaction response returns anssl_update_emv_keys
value of Y - When an EMV Chip Auth Only (
emvchipauthonly
) transaction response returns anssl_update_emv_keys
value of Y - When an EMV Swipe Sale (
emvswipesale
) transaction response returns anssl_update_emv_keys
value of Y
In this section:
For the entire list of API endpoints, refer to API Endpoints.
Request
Field name | Description | Required | Length | Data type |
---|---|---|---|---|
ssl_merchant_id | Merchant ID Elavon-assigned Converge Account ID (AID). | Required | 6 or 7 | numeric |
ssl_user_id | Converge User ID The user ID with Hosted Payment API User status that can send transaction requests through the terminal. | Required | 15 | alphanumeric |
ssl_pin | Terminal ID Unique identifier of the terminal that will process the transaction request and submit to the Converge gateway. The ssl_user_id sending the transaction request must be associated with the terminal that will process the request. | Required | 64 | alphanumeric |
ssl_transaction_type | Transaction Type Valid value: emvkeyexchange | Required | 20 | alphanumeric |
Response
Field name | Description |
---|---|
ssl_result | Transaction Outcome An ssl_result = 0 indicates a successful EMV keys request. |
ssl_result_message | Transaction Result Message A result of SUCCESS indicates that the EMV keys were requested. |
ssl_emv_key_date | Date of Last Update Date of last host EMV key update. Format: MMDDYYYY |
emv_key_collection | Parent Element of EMV Key Collection |
emv_key | EMV Key Parent element of key definition. |
public_key_index | Public Key Index Indicates the public key in conjunction with the RID. |
hash_id | Hash ID Identifier of the hash algorithm used to produce the hash results in the digital signature scheme. |
signature_id | Signature ID Identifier of the digital signature algorithm used with the public key. Value: 01 - Default (always) |
public_key | Public Key Value |
public_key_length | Public Key Length A Public Key element used to confirm the size of the public key in the cryptography process. |
exponent | Exponent The value of the exponent part of the Public Key. |
ssl_checksum | Checksum A check value calculated on the concatenation of all parts of the Public Key. |
[Error] | Returned only if an error occurs. Refer to the Error Codes section for more information. |
errorCode | Error Code Typically, when the transaction failed validation or the request is incorrect. This will prevent the transaction from going to authorization. This is a numeric field. |
errorMessage | Error Message Detailed explanation of the error. This field may be changed based on merchant configuration in the user interface. |
errorName | Error Name Error name or reason for the error. |
Example
error_outline
important
- In this example, you will have to change the data values, such as
my_merchant_id
,my_user_id
,my_pin
, and transaction data to match your Converge account and meet the needs of your website. - Code samples provided are for demonstration only and should not be used for live transactions. All sensitive merchant data, including transaction amounts and your Converge credentials, should be placed in server side code.
Request
<txn>
<ssl_transaction_type>EMVKEYEXCHANGE</ssl_transaction_type>
<ssl_result>0</ssl_result>
<ssl_result_message>SUCCESS</ssl_result_message>
<ssl_emv_key_date>06182015</ssl_emv_key_date>
<emv_key_collection>
<emv_key>
<index>0</index>
<rid>A000000003</rid>
<public_key_index>94</public_key_index>
<hash_id>01</hash_id>
<signature_id>01</signature_id>
<public_key>ACD2B12302EE644F3F835ABD1FC7A6F62CCE48FFEC622AA8EF062BEF6F</public_key>
<public_key_length>80</public_key_length>
<exponent>03</exponent>
<checksum>C4A3C43CCF87327D136B804160E47D43B60E6E0F</checksum>
</emv_key>
<emv_key>
<index>1</index>
<rid>A000000003</rid>
<public_key_index>95</public_key_index>
<hash_id>01</hash_id>
<signature_id>01</signature_id>
<public_key>BE9E1FA5E9A803852999C4AB432DB28600DCD9DAB76DFAAA47355A0FE37B</public_key>
<public_key_length>90</public_key_length>
<exponent>03</exponent>
<checksum>EE1511CEC71020A9B90443B37B1D5F6E703030F6</checksum>
</emv_key>
<emv_key>
<index>2</index>
<rid>A000000003</rid>
<public_key_index>99</public_key_index>
<hash_id>01</hash_id>
<signature_id>01</signature_id>
<public_key>AB79FCC9520896967E776E64444E5DCDD6E13611874F3985722520425295E</public_key>
<public_key_length>80</public_key_length>
<exponent>03</exponent>
<checksum>4ABFFD6B1C51212D05552E431C5B17007D2F5E6D</checksum>
</emv_key>
</emv_key_collection>
</txn>