Sale - emvchipsale

This section describes the message parameters for EMV Chip Sale transaction processing, which you can submit using the XML API integration method. Refer to the Integration Methods section for more information.

The emvchipsale transaction obtains real-time Sale authorization for a chip credit card or debit card. Converge enters the transaction into the Unsettled batch after obtaining the authorization.

note

  • An emvchipupdatetxn transaction must be sent once an emvchipsale has been completed and the Chip card has returned additional data.
  • POS system will need to update the chip or device with the Issuer Script received from the authorization.

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:  emvchipsale
Required20alphanumeric
[Card Data]
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_pos_modePOS Device Data Entry Capability
Indicates how the POS device captures card data.
Valid values:
  • 03 - EMV chip-capable (ICC) - Contactless only
  • 04 - EMV chip-capable (ICC) - Contact only with magnetic stripe
  • 05 - EMV chip-capable (ICC) - Dual interface with magnetic stripe
Required2numeric
ssl_entry_modeTransaction Entry Indicator
Indicates how the track data was captured.
Valid values:
  • 05 - EMV (ICC) with CVV or iCVV
  • 06 - EMV (ICC) Proximity Read
  • 07 - EMV (ICC) without CVV or iCVV
Required2numeric
ssl_enc_track_data_formatEncrypted Raw Track I and/or II Data Format
Format of the track data captured from the card’s magnetic stripe.
Valid value:  ROAM_GENERIC_TDES_EMV
Required if card is read from a ROAM device.
Conditional--
ssl_vm_mobile_sourceMobile Source
Valid values:
  • BBERRY - BlackBerry Mobile Device
  • ADROID - Android Mobile Device
  • ITUNES - Apple Mobile Device
  • WIN8 - Windows WIN8-based Device
  • NOMOB - Non-mobile Device

Required for encrypting devices.
Optional-alphanumeric
ssl_vendor_idVendor ID
Unique vendor identifier assigned by Elavon.
Required for encrypting devices and certification.
Conditional8alphanumeric
ssl_decline_offlineDecline Transaction Indicator
Indicates the action for the EMV card or reader to take when terminals are offline.
Valid values:
  • Y - Chip card or reader declines transaction
  • N - Chip card or reader approves transaction
Optional1alphanumeric
[Invoice Number]Use only on terminals that are set up with the Invoice Number credit card payment option
ssl_invoice_numberInvoice/Ticket Number
Unique identifier of the invoice or ticket.
Optional25alphanumeric
[Doing Business As]Use only on terminals that are set up with the DBA Name terminal option.
ssl_dynamic_dbaDoing Business As Name
Merchant-defined descriptors that replace the merchant’s business name on credit card statements.
Format: Prefix*Descriptor
Length: Prefix = 3, 7, or 12, Asterisk = 1,  Descriptor = 21 - (Prefix + Asterisk)
Important: DBA Prefix must be set using DBA Payment Fields Settings UI if ssl_dynamic_dba is used.
Example: MANYMAG*BAKERS MONTHLY
Conditional21alphanumeric
ssl_dynamic_dba_addressDynamic DBA Address
The dynamic doing business as street address for this transaction.
This value allows a merchant use an alternate address for this transaction.
Optional30alphanumeric
ssl_dynamic_dba_auth_typeMerchant ID
The dynamic doing business as authorization type.
Valid values:
  • F - Final
  • P - Pre-authorize
Optional1alphanumeric
ssl_dynamic_dba_cityDynamic City Name
This value allows a merchant use an alternate city as part of the address for this transaction
Optional13alphanumeric
ssl_dynamic_dba_countryDynamic Country ISO Code
This value allows a merchant specify an alternate country as part of the address for this transaction.
Optional3alphanumeric
ssl_dynamic_dba_emailDynamic Email Address
This value allows a merchant specify an alternate email address for this transaction.
Optional70alphanumeric
ssl_dynamic_dba_mccDynamic Merchant Category Code
This value allows a merchant specify an alternate merchant category for this transaction.
Optional22numeric
ssl_dynamic_dba_phoneDynamic Phone Number
This value allows a merchant specify an alternate phone number for this transaction.
Optional20alphanumeric
ssl_dynamic_dba_postalDynamic Postal or ZIP Code
This value allows a merchant set an alternate postal code for a transaction.
Optional9alphanumeric
ssl_dynamic_dba_stateDynamic State Code
This value allows a merchant set an alternate state code for a transaction.
Optional2alphanumeric
ssl_dynamic_dba_submidDynamic Sub-merchant ID
This value allows a merchant set an alternate sub-merchant ID for a transaction.
Optional22numeric
ssl_dynamic_dba_taxidDynamic Merchant Tax ID
This value allows a merchant set an alternate Tax ID for this transaction.
Optional14alphanumeric
[Tokenization]Use only on terminals that are set up with the Tokenization terminal option.
ssl_get_tokenGenerate Token Indicator
Indicates whether to generate a token when submitting the card data.
Valid values:
  • Y - Generate token
  • N - Do not generate token (Default)
If set to Y, the following parameters are mandatory:
Hand-keyed:
  • ssl_card_number
  • ssl_exp_date
Swiped:
  • ssl_track_data
Encrypted Swiped/Contactless:
  • ssl_enc_track_data
Chip/Contactless:
  • ssl_tlv_enc
Optional1alphanumeric
[Tip Processing]Use only on terminals that are set up with the Market Segment set to Service
ssl_tip_amountTip or Gratuity Amount
Amount to add or update to the transaction amount.
Format: Number with 2 decimals places
Optional11numeric
ssl_serverServer ID
Unique identifier of the clerk, waiter, waitress or cashier.
Optional8alphanumeric
ssl_shiftShift ID
Unique identifier of the time period, course or service type.
Optional4alphanumeric
[Purchasing Cards]Use only on terminals that are set up with the Purchasing Card 2 credit card payment option
ssl_customer_codeCustomer Code or Purchase Order Number
Customer ID or PO number specified in the billing statement of the cardholder.
Optional17alphanumeric
ssl_salestaxSales Tax
Tax amount to add to the purchase or sales amount. For a tax exempt transaction, enter 0.00.
Format: Amount with 2 decimal places.
Optional8alphanumeric
[Travel Data]Use only on terminals that are set up with the Travel Data credit card payment option.
ssl_departure_DateTravel Departure Date
Date sent to the Merchant Airline Risk Monitoring System (MARMS) to monitor risks associated with advanced booking.
Format: MM/DD/YYYY
Optional10alphanumeric
ssl_completion_DateTravel Completion Date
Date sent to the Merchant Airline Risk Monitoring System (MARMS) to monitor risks associated with advanced booking.
Format: MM/DD/YYYY
Optional10alphanumeric
[Optional Fields]
ssl_bin_overrideOverride Bank Identification Number (BIN)
Allows the integrated application to pass the ssl_Customer_code and/or ssl_salestax values for non-corporate cards.
Valid value:  1 - Pass customer code and/or sales tax for non-corporate card transaction requests
Optional1numeric
ssl_lane_numberLane Number
A unique identifier for point of sale devices that can be passed to satisfy Mastercard’s unique Terminal ID requirement
Optional8numeric
ssl_partial_auth_indicatorPartial Authorization Indicator
Indicates whether the integrated application supports partial authorization or approval.
Valid values:
  • 0 - Partial authorization not supported (Default)
  • 1 - Partial authorization supported
Optional1numeric

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 Debit Card Response Codes section for an extensive list of possible returned messages.
Important: When the Chip sends a decline by card, submit an emvreverse transaction to reverse an approved authorization.
ssl_issuer_responseOriginal Issuer Response
The issuer response returned during the authorization attempt.
An ssl_issuer_response = 00 indicates success.
An ssl_issuer_response not equal to 00 indicates a decline or failure.
ssl_response_codeAuthorization Result Code
Refer to the EMV Card Response Codes section for an extensive list of possible returned response codes.
ssl_update_emv_keysUpdate EMV Keys Indicator
Indicates whether an EMV key exchange is needed because the Issuer keys have changed.
Valid values:
  • Y - Perform EMV key exchange
  • N - Do not perform EMV key exchange

Important: If set to Y, perform an emvkeyexchange transaction.
ssl_approval_codeTransaction Approval Code
Unique code returned by the credit card processor that indicates the approval status of the transaction.
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_account_typeAccount Type on File
Valid values:
  • Checking
  • Savings
  • Default
ssl_card_numberMasked Card Number
Converge only returns the first 2 or last 4 digits of the regular PAN.
ssl_amountTransaction Amount
The total transaction amount that may include the Surcharge or Cashback amount.
ssl_cashback_amountCashback Amount
Amount to pay the cardholder for making a debit purchase transaction.
Format: Number with 2 decimal places
Important: Only applicable to terminals that are set up with the Cashback debit payment option.
ssl_par_valuePayment Account Reference (PAR) from original auth
[Invoice Number]Returned only if Invoice Number parameters are sent in the request.
ssl_invoice_numberInvoice Number
The invoice number or ticket number sent in the original request.
[Tokenization]Returned only if Tokenization parameters are sent in the request.
ssl_tokenToken
Generated from the credit card number.
ssl_token_providerCredit Card Token Provider
This code indicates the provider for the token. This value is also visible in the Converge UI.
Valid values:
  • P for legacy tokens.
  • V for Voltage tokens
ssl_token_responseToken Generation Outcome
A value of SUCCESS indicates Converge generated the token. Other values returned are FAILURE, Action Not Permitted, Invalid Token, Not Permitted, and Acct Verification Failed
ssl_association_token_dataAssociation token indidcator
Used to identify if the data in the account data field contains an association defined token replacement value instead of the original account data.
Valid values:
  • 0 - No association token used
  • 1 - The data in the account data field is an association defined token value
[Tip Processing]Returned only if Tip parameters are sent in the request.
ssl_base_amountBase Amount
Original transaction amount sent in the request. Returned based on the terminal setup.
ssl_tip_amountTip Amount
Added or updated tip or gratuity amount. Returned based on the terminal setup.
ssl_serverServer ID
Server identifier sent in the request. Returned based on the terminal setup.
ssl_shiftShift
Shift information sent in the request. Returned based on the terminal setup.
[Integrated Circuit Card]
ssl_icc_issuerscriptIssuer Script
Returns the Issuer to the POS.
ssl_icc_csnCard Sequence Number
Differentiates the chip cards that use the same Primary Account Number (PAN).
ssl_icc_atcApplication Transaction Counter
Incrementing counter value managed by the application in the chip card.
ssl_icc_arpcIssuer Authentication Data
Contains the data sent to the chip card for online issuer authentication.
ssl_icc_cardtypeTransaction Card Type
Valid values:  Credit, Debit
ssl_icc_cvmrCard Verification Method Result
ssl_icc_aidApplication ID
ssl_icc_app_nameApplication Name
ssl_icc_tvrTerminal Verification Result
ssl_icc_tsiTransaction Status Information
ssl_icc_app_arcAuthorization Response Code
ssl_card_schemeAssociation Long Name
As defined in the Converge Bank Identification Number (BIN) file.
[Interac]Canadian Debit Transaction
ssl_debit_response_codeDebit Authorization Result Code
Returned by the debit gateway for Canadian debit authorization attempt.
ssl_mac_keyMessage Authentication Code Key
Converge attempts to retrieve the updated keys and populates this parameter if the authorization attempt declines with an ssl_debit_response_code value of 63, 85, 86, 87 or 88.
ssl_pin_keyPIN-Encrypting Key
Converge attempts to retrieve the updated keys and populates this parameter if the authorization attempt declines with an ssl_debit_response_code value of 63, 85, 86, 87 or 88.
ssl_mac_valueMessage Authentication Code Value
Verifies that the Canadian debit message was not altered when transferred over a telecommunications network.
ssl_mac_amountMessage Authentication Code Amount
ssl_sys_trace_audit_noSystem Trace Audit Number
Used by the POS to uniquely identify the transaction to the host. This is used in the MAC calculation.
ssl_processing_codeProcessing Code
Type of Canadian debit transaction.
ssl_retrieval_reference_numberReference Number
Assigned by Elavon.
[Card On File]
ssl_oar_dataOriginal Authorization Response Data
This data will be as received during the original authorization processing.
This is a retain and return value for terminal-based settlement messages.
You may store this field with the payment details from the transaction to make future Card On File transactions.
ssl_ps2000_dataPS2000
This data will be as received during the original authorization processing.
This is a retain and return value for terminal-based settlement messages.
You must store this field with the payment details from the transaction to make future Card On File transactions.
[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

A Chip Visa sale of 17.00.

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>
</txn>