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.
error_outline
note
- An
emvchipupdatetxn
transaction must be sent once anemvchipsale
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 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: emvchipsale | Required | 20 | alphanumeric |
[Card Data] | ||||
ssl_tlv_enc | Encrypted Tag Length Value Data defining the EMV record. The data includes the following:
| Required | 4 | hex |
ssl_pos_mode | POS Device Data Entry Capability Indicates how the POS device captures card data. Valid values:
| Required | 2 | numeric |
ssl_entry_mode | Transaction Entry Indicator Indicates how the track data was captured. Valid values:
| Required | 2 | numeric |
ssl_enc_track_data_format | Encrypted 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_source | Mobile Source Valid values:
Required for encrypting devices. | Optional | - | alphanumeric |
ssl_vendor_id | Vendor ID Unique vendor identifier assigned by Elavon. Required for encrypting devices and certification. | Conditional | 8 | alphanumeric |
ssl_decline_offline | Decline Transaction Indicator Indicates the action for the EMV card or reader to take when terminals are offline. Valid values:
| Optional | 1 | alphanumeric |
[Invoice Number] | Use only on terminals that are set up with the Invoice Number credit card payment option | |||
ssl_invoice_number | Invoice/Ticket Number Unique identifier of the invoice or ticket. | Optional | 25 | alphanumeric |
[Doing Business As] | Use only on terminals that are set up with the DBA Name terminal option. | |||
ssl_dynamic_dba | Doing 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 | Conditional | 21 | alphanumeric |
ssl_dynamic_dba_address | Dynamic DBA Address The dynamic doing business as street address for this transaction. This value allows a merchant use an alternate address for this transaction. | Optional | 30 | alphanumeric |
ssl_dynamic_dba_auth_type | Merchant ID The dynamic doing business as authorization type. Valid values:
| Optional | 1 | alphanumeric |
ssl_dynamic_dba_city | Dynamic City Name This value allows a merchant use an alternate city as part of the address for this transaction | Optional | 13 | alphanumeric |
ssl_dynamic_dba_country | Dynamic Country ISO Code This value allows a merchant specify an alternate country as part of the address for this transaction. | Optional | 3 | alphanumeric |
ssl_dynamic_dba_email | Dynamic Email Address This value allows a merchant specify an alternate email address for this transaction. | Optional | 70 | alphanumeric |
ssl_dynamic_dba_mcc | Dynamic Merchant Category Code This value allows a merchant specify an alternate merchant category for this transaction. | Optional | 22 | numeric |
ssl_dynamic_dba_phone | Dynamic Phone Number This value allows a merchant specify an alternate phone number for this transaction. | Optional | 20 | alphanumeric |
ssl_dynamic_dba_postal | Dynamic Postal or ZIP Code This value allows a merchant set an alternate postal code for a transaction. | Optional | 9 | alphanumeric |
ssl_dynamic_dba_state | Dynamic State Code This value allows a merchant set an alternate state code for a transaction. | Optional | 2 | alphanumeric |
ssl_dynamic_dba_submid | Dynamic Sub-merchant ID This value allows a merchant set an alternate sub-merchant ID for a transaction. | Optional | 22 | numeric |
ssl_dynamic_dba_taxid | Dynamic Merchant Tax ID This value allows a merchant set an alternate Tax ID for this transaction. | Optional | 14 | alphanumeric |
[Tokenization] | Use only on terminals that are set up with the Tokenization terminal option. | |||
ssl_get_token | Generate Token Indicator Indicates whether to generate a token when submitting the card data. Valid values:
Hand-keyed:
| Optional | 1 | alphanumeric |
[Tip Processing] | Use only on terminals that are set up with the Market Segment set to Service | |||
ssl_tip_amount | Tip or Gratuity Amount Amount to add or update to the transaction amount. Format: Number with 2 decimals places | Optional | 11 | numeric |
ssl_server | Server ID Unique identifier of the clerk, waiter, waitress or cashier. | Optional | 8 | alphanumeric |
ssl_shift | Shift ID Unique identifier of the time period, course or service type. | Optional | 4 | alphanumeric |
[Purchasing Cards] | Use only on terminals that are set up with the Purchasing Card 2 credit card payment option | |||
ssl_customer_code | Customer Code or Purchase Order Number Customer ID or PO number specified in the billing statement of the cardholder. | Optional | 17 | alphanumeric |
ssl_salestax | Sales 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. | Optional | 8 | alphanumeric |
[Travel Data] | Use only on terminals that are set up with the Travel Data credit card payment option. | |||
ssl_departure_Date | Travel Departure Date Date sent to the Merchant Airline Risk Monitoring System (MARMS) to monitor risks associated with advanced booking. Format: MM/DD/YYYY | Optional | 10 | alphanumeric |
ssl_completion_Date | Travel Completion Date Date sent to the Merchant Airline Risk Monitoring System (MARMS) to monitor risks associated with advanced booking. Format: MM/DD/YYYY | Optional | 10 | alphanumeric |
[Optional Fields] | ||||
ssl_bin_override | Override 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 | Optional | 1 | numeric |
ssl_lane_number | Lane Number A unique identifier for point of sale devices that can be passed to satisfy Mastercard’s unique Terminal ID requirement | Optional | 8 | numeric |
ssl_partial_auth_indicator | Partial Authorization Indicator Indicates whether the integrated application supports partial authorization or approval. Valid values:
| Optional | 1 | numeric |
Response
Field name | Description |
---|---|
ssl_result | Transaction Outcome An ssl_result = 0 indicates an approved transaction.An ssl_result not equal to 0 indicates a declined and unauthorized transaction. |
ssl_result_message | Transaction 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_response | Original 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_code | Authorization Result Code Refer to the EMV Card Response Codes section for an extensive list of possible returned response codes. |
ssl_update_emv_keys | Update EMV Keys Indicator Indicates whether an EMV key exchange is needed because the Issuer keys have changed. Valid values:
Important: If set to Y, perform an emvkeyexchange transaction. |
ssl_approval_code | Transaction Approval Code Unique code returned by the credit card processor that indicates the approval status of the transaction. |
ssl_txn_id | Transaction ID Unique identifier of the transaction. |
ssl_txn_time | Processing 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_type | Account Type on File Valid values:
|
ssl_card_number | Masked Card Number Converge only returns the first 2 or last 4 digits of the regular PAN. |
ssl_amount | Transaction Amount The total transaction amount that may include the Surcharge or Cashback amount. |
ssl_cashback_amount | Cashback 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_value | Payment Account Reference (PAR) from original auth |
[Invoice Number] | Returned only if Invoice Number parameters are sent in the request. |
ssl_invoice_number | Invoice Number The invoice number or ticket number sent in the original request. |
[Tokenization] | Returned only if Tokenization parameters are sent in the request. |
ssl_token | Token Generated from the credit card number. |
ssl_token_provider | Credit Card Token Provider This code indicates the provider for the token. This value is also visible in the Converge UI. Valid values:
|
ssl_token_response | Token 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_data | Association 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:
|
[Tip Processing] | Returned only if Tip parameters are sent in the request. |
ssl_base_amount | Base Amount Original transaction amount sent in the request. Returned based on the terminal setup. |
ssl_tip_amount | Tip Amount Added or updated tip or gratuity amount. Returned based on the terminal setup. |
ssl_server | Server ID Server identifier sent in the request. Returned based on the terminal setup. |
ssl_shift | Shift Shift information sent in the request. Returned based on the terminal setup. |
[Integrated Circuit Card] | |
ssl_icc_issuerscript | Issuer Script Returns the Issuer to the POS. |
ssl_icc_csn | Card Sequence Number Differentiates the chip cards that use the same Primary Account Number (PAN). |
ssl_icc_atc | Application Transaction Counter Incrementing counter value managed by the application in the chip card. |
ssl_icc_arpc | Issuer Authentication Data Contains the data sent to the chip card for online issuer authentication. |
ssl_icc_cardtype | Transaction Card Type Valid values: Credit , Debit |
ssl_icc_cvmr | Card Verification Method Result |
ssl_icc_aid | Application ID |
ssl_icc_app_name | Application Name |
ssl_icc_tvr | Terminal Verification Result |
ssl_icc_tsi | Transaction Status Information |
ssl_icc_app_arc | Authorization Response Code |
ssl_card_scheme | Association Long Name As defined in the Converge Bank Identification Number (BIN) file. |
[Interac] | Canadian Debit Transaction |
ssl_debit_response_code | Debit Authorization Result Code Returned by the debit gateway for Canadian debit authorization attempt. |
ssl_mac_key | Message 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_key | PIN-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_value | Message Authentication Code Value Verifies that the Canadian debit message was not altered when transferred over a telecommunications network. |
ssl_mac_amount | Message Authentication Code Amount |
ssl_sys_trace_audit_no | System Trace Audit Number Used by the POS to uniquely identify the transaction to the host. This is used in the MAC calculation. |
ssl_processing_code | Processing Code Type of Canadian debit transaction. |
ssl_retrieval_reference_number | Reference Number Assigned by Elavon. |
[Card On File] | |
ssl_oar_data | Original 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_data | PS2000 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. |
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
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>