EMV DCC Check - emvdcccheck

The EMVDCCCHECK transaction type lets EMV cards use Dynamic Currency Conversion. At a high level, EMVDCCCHECK passes amount and card data to determine whether a transaction can take advantage of DCC. If the transaction is eligible, Converge will return a token to initiate the transaction.

To process dynamic currency conversion on an EMV transaction, you must first process an API request for <ssl_transaction_type>EMVDCCCHECK</ssl_transaction_type>. If the card being processed as part of the EMVDCCCHECK transaction is eligible for dynamic currency conversion, Converge will return a ssl_dcc_token and DCC values. Include the ssl_dcc_token with an authorization request - Do not include the DCC values with this request.

note

An ssl_dcc_token expires after 15 minutes. If a DCC transaction is not completed during that time, you must send a new EMVDCCCHECK transaction request.

In this section:

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

Data Requirements

You will need to define either ssl_tlv_enc or ssl_enc_track_data. ssl_tlv_enc requires that tags 9F02 (authorization amount), C0 (KSN), D0 (encrypted track2 equivalent) are correctly populated. ssl_enc_track_data must include ssl_ksn, ssl_amount, and ssl_enc_track_data_format (if appropriate).

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:  emvdcccheck
Required20alphanumeric
ssl_txn_idTransaction ID
Unique identifier of the approved EMV Chip Sale (emvchipsale) transaction to be refunded or the approved EMV Chip Auth Only (emvchipauthonly) transaction to be completed.
Required46alphanumeric
ssl_tlv_encEncrypted Tag Length Value
Data defining the EMV record. The data includes the following:
  • Total Authorization Amount
  • Tip Amount (if available)
Required4hex
ssl_amountTransaction Amount
The Sale amount that includes the Net and Sales Tax amounts.
Format: Number with 2 decimal places
Required11numeric
ssl_enc_track_dataEncrypted Raw Track I and/or II Data
Encrypted Track I and/or II data captured from the card’s magnetic stripe when using an Ingenico encrypting device. The data includes beginning and ending sentinels, card’s expiry date, cardholder’s first and last name.
Conditional160alphanumeric
ssl_ksnKey Serial Number
Unique identifier generated from the swiped payment card and returned by the encrypting device. The KSN encrypts the PAN data through the DUKPT method.
Required when sending track data from an encrypting device.
Conditional20alphanumeric
ssl_card_typeCard Type
Payment method to use for the transaction.
Valid values:  CREDITCARD, DEBITCARD
Optional10alphanumeric

Response

Field nameDescription
ssl_resultTransaction Outcome
An ssl_result = 0 indicates an approved transaction.
An ssl_result not equal to 0 indicates a declined and unauthorized transaction.
ssl_result_messageTransaction Result Message
Refer to the EMV Card Response Codes section for an extensive list of possible returned messages.
ssl_txn_idTransaction ID
Unique identifier of the transaction.
ssl_txn_timeProcessing Date and Time
Indicates when Converge processed the transaction.
Format: MM/DD/YYYY hh:mm:ss AM/PM
Example: 03/18/2010 10:34:10 AM
ssl_markupMarkup
The markup applied to the Reference Exchange Rate when calculating the ssl_conversion_rate value to use for converting the merchant’s Pricing Currency to ssl_txn_currency_code.
ssl_conversion_rateConversion Rate
Exchange rate applied to the conversion of ssl_amount.
ssl_cardholder_amountCardholder Amount
Total amount in the cardholder’s billing currency.
ssl_cardholder_currencyCardholder Currency
ssl_merchant_currencyMerchant Currency
ssl_dcc_tokenDCC Token
Enables EMV transactions for DCC.

Errors

CodeDescription
4017Time-Out
The request has timed out. The allotted time to complete the request has ended. Please try again.
5002Amount Invalid
The amount supplied in the authorization request appears to be invalid.
5000Credit Card Number Invalid
The Credit Card Number supplied in the authorization request appears to be invalid.

Examples

important

  • In these examples, 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.

TLV 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>emvdcccheck</ssl_transaction_type>
    <ssl_tlv_enc>
        5F3002020157114761730000000010D151220100000000009F2608A0B1AB453C86165D9F27
        01805A0847617300000000105F2A0208405F2D0265659F4005F000F0A0019A031508159B02
        E8009F21030122399C01004004061820159F41040000023082025C009F1E08534330313030
        3438C00AFFFF44556600076000468407A00000000310105F340101950502000080005F200C
        5445535420434152442030319F1A0208409F1401039F02060000000017009F3901059F3602
        02899F370478813F359F0607A00000000310109F3501229F34031E03009F3303E0F8C89F03
        060000000000009F0902008C9F120B56697361204372656469744F07A00000000310109F11
        01019F100706010A03A000009F0702FF005F24031512319F530152D02845AF345545C28415
        29B3E3673B7538E0EE4ACAA24DA3E4158BAC0763A4EF024BFABF04822E063B865F28020124
        500B5649534120435245444954
    </ssl_tlv_enc>
</txn>

Encrypted Swipe 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>emvdcccheck</ssl_transaction_type>
    <ssl_amount>7</ssl_amount>
    <ssl_ksn>x</ssl_ksn>
    <ssl_enc_track_data>x</ssl_enc_track_data>
</txn>

DCC Eligible Response

<txn>
    <ssl_result>0</ssl_result>
    <ssl_result_message>APPROVAL</ssl_result_message>
    <ssl_txn_time>12/13/2018 10:48:10 AM</ssl_txn_time>
    <ssl_conversion_rate>81346</ssl_conversion_rate>
    <ssl_dcc_exponent>5</ssl_dcc_exponent>
    <ssl_amount>11.5</ssl_amount>
    <ssl_cardholder_amount>9.35</ssl_cardholder_amount>
    <ssl_cardholder_currency>GBP</ssl_cardholder_currency>
    <ssl_merchant_currency>USD</ssl_merchant_currency>
    <ssl_markup>3.75</ssl_markup>
    <ssl_dcc_rate_provider>US Bank</ssl_dcc_rate_provider>
    <ssl_dcc_token>0e33871de37b660101648411d75e1c93f211d5d1</ssl_dcc_token>
</txn>

Not DCC Eligible Response (ssl_dcc_token not returned)

<txn>
    <ssl_result>1</ssl_result>
    <ssl_result_message/>
    <ssl_txn_time>12/13/2018 10:33:23 AM</ssl_txn_time>
    <ssl_conversion_rate/>
    <ssl_dcc_exponent/>
    <ssl_amount>11.5</ssl_amount>
    <ssl_cardholder_amount/>
    <ssl_cardholder_currency/>
    <ssl_merchant_currency/>
    <ssl_markup/>
    <ssl_dcc_rate_provider/>
</txn>

EMVCHIPSALE Request With DCC Token

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>emvchipsale</ssl_transaction_type>
    <ssl_tlv_enc>
        5F3002020157114761730000000010D151220100000000009F2608A0B1AB453C86165D9F27
        01805A0847617300000000105F2A0208405F2D0265659F4005F000F0A0019A031508159B02
        E8009F21030122399C01004004061820159F41040000023082025C009F1E08534330313030
        3438C00AFFFF44556600076000468407A00000000310105F340101950502000080005F200C
        5445535420434152442030319F1A0208409F1401039F02060000000017009F3901059F3602
        02899F370478813F359F0607A00000000310109F3501229F34031E03009F3303E0F8C89F03
        060000000000009F0902008C9F120B56697361204372656469744F07A00000000310109F11
        01019F100706010A03A000009F0702FF005F24031512319F530152D02845AF345545C28415
        29B3E3673B7538E0EE4ACAA24DA3E4158BAC0763A4EF024BFABF04822E063B865F28020124
        500B5649534120435245444954
    </ssl_tlv_enc>
    <ssl_entry_mode>05</ssl_entry_mode>
    <ssl_pos_mode>05</ssl_pos_mode>
    <ssl_dcc_token>0e33871de37b660101648411d75e1c93f211d5d1</ssl_dcc_token>
</txn>

EMVSWIPESALE Request with DCC Token

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>emvswipesale</ssl_transaction_type>
    <ssl_amount>7</ssl_amount>
    <ssl_ksn>x</ssl_ksn>
    <ssl_enc_track_data>x</ssl_enc_track_data>
    <ssl_entry_mode>05</ssl_entry_mode>
    <ssl_pos_mode>08</ssl_pos_mode>
    <ssl_dcc_token>0e33871de37b660101648411d75e1c93f211d5d1</ssl_dcc_token>
</txn>

Auth Response with DCC

An EMV Chip Sale request can have DCC applied by adding the following fields to the end of the request.

	<ssl_cardholder_amount>9.35</ssl_cardholder_amount>
	<ssl_cardholder_currency>GBP</ssl_cardholder_currency>
	<ssl_conversion_rate>0.81346</ssl_conversion_rate>
	<ssl_dcc_rate_provider>US Bank</ssl_dcc_rate_provider>
    <ssl_markup>3.75</ssl_markup>