Legacy Key Exchange - caddbkeyexchange

Interac (Canadian Domestic Debit) requires a legacy key update once every 200 Interac transactions. This transaction type exists prior to EMV API and has a slightly different response format.

In this section:

For the entire list of API endpoints, refer to API Endpoints.

Request

Field nameDescriptionRequiredLengthData type
ssl_merchant_idMerchant ID
Elavon-assigned Converge Account ID (AID).
Required6 or 7numeric
ssl_user_idConverge User ID
The user ID with Hosted Payment API User status that can send transaction requests through the terminal.
Required15alphanumeric
ssl_pinTerminal 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.
Required64alphanumeric
ssl_transaction_typeTransaction Type
Valid value:  caddbkeyexchange
Required20alphanumeric

Response

Field nameDescription
ssl_statusTransaction Result Message
A result of SUCCESS indicates that the legacy keys were updated.
ssl_mac_keyPublic Key for MAC Calculation
ssl_pin_keyPIN Key
The public key for processing enciphered PIN (ssl_pin_block).
ssl_reference_numberTransaction Reference Number
ssl_sys_trace_audit_numberConverge-defined System Trace Audit Number
[Error]Returned only if an error occurs. Refer to the Error Codes section for more information.
errorCodeError 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.
errorMessageError Message
Detailed explanation of the error. This field may be changed based on merchant configuration in the user interface.
errorNameError Name
Error name or reason for the error.

Example

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

xmldata=
<txn>
    <ssl_merchant_id>my_merchant_id</ssl_merchant_id>
    <ssl_user_id>my_user_id</ssl_user_id>
    <ssl_pin>my_pin</ssl_pin>
    <ssl_transaction_type>caddbkeyexchange</ssl_transaction_type>
</txn>

Response

<response>
    <ssl_sys_trace_audit_number>017944</ssl_sys_trace_audit_number>
    <status>SUCCESS</status>
    <ssl_mac_key>E859A8F276A5E5C2</ssl_mac_key>
    <ssl_pin_key>C5BA9CB7397E2A0A</ssl_pin_key>
    <ssl_reference_number>X0000000</ssl_reference_number>
</response>