Swipe Sale - emvswipesale
This section describes the message parameters for EMV Swipe Sale transaction processing, which you can submit using the XML API integration method. Refer to the Integration Methods section for more information.
The emvswipesale
transaction obtains real-time Sale authorization for a swiped credit or debit card for an EMV terminal. This transaction covers chip cards in a fallback situation, regular swiped cards, and any non-supported chip cards. 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: emvswipesale | Required | 20 | alphanumeric |
ssl_amount | Transaction Amount The Sale amount that includes the Sales Tax amount and Tip amount (if applicable). Format: Number with 2 decimals places | Required | 11 | numeric |
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_surcharge_amount | Surcharge Amount The fee that the merchant charges for the transaction as a cost for doing business. Format: Number with 2 decimal places Important: Only applicable to terminals that are set up with the Surcharge debit payment option. | |||
[Card Data] | ||||
ssl_enc_track_data | Encrypted Raw Track I and/or II Data Encrypted Track I and/or II data captured from the card’s magnetic stripe when using an encrypting device. The data includes beginning and ending sentinels, card’s expiry date, cardholder’s first and last name. | Conditional | 160 | alphanumeric |
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_card_type | Card Type Valid values:
| Optional | 10 | alphanumeric |
ssl_ksn | Key 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 | 20 | alphanumeric |
ssl_dukpt | DUKPT Value used to encrypt the PIN of the cardholder and returned by the PIN Pad. Required if ssl_card_type = Debit. | Conditional | 20 | - |
ssl_pin_block | Encrypted PIN Block The encrypted personal identification number to authenticate ownership of the card. Required if ssl_card_type = Debit. | Conditional | 16 | - |
ssl_account_type | Bank Deposit Account Type Valid values:
Required if ssl_card_type = Debit. | Conditional | 1 | numeric |
ssl_vm_mobile_source | Mobile Source Valid values:
Required for encrypting devices. | Optional | - | alphanumeric |
ssl_mobile_id | Mobile ID Unique assigned mobile identification number of each mobile device in use as determined by the merchant. | Optional | 50 | alphanumeric |
ssl_vendor_id | Vendor ID Unique vendor identifier assigned by Elavon. Required for encrypting devices and certification. | Conditional | 8 | 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 |
[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 decimal 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_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 |
[Interac] | Canadian Debit Transaction | |||
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. | Optional | 6 | - |
ssl_processing_code | Processing Code Type of Canadian debit transaction. Valid values:
| Optional | 6 | numeric |
ssl_mac_value | Message Authentication Code Verifies that the Canadian debit message was not altered when transferred over a telecommunications network. | Optional | 8 | hex |
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_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_card_scheme | Association Long Name As defined in the Converge Bank Identification Number (BIN) file. |
ssl_amount | Transaction Amount The total transaction amount that may include the Surcharge or Cashback amount. |
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:
|
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. |
[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. |
[Interac] | Canadian Debit Transaction |
ssl_debit_response_code | Debit Authorization Result Code Returned by the debit gateway for Canadian debit authorization attempt. |
ssl_mac_value | Message Authentication Code Value Verifies that the Canadian debit message was not altered when transferred over a telecommunications network. |
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. |
[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
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_pin_block>AC405B9205A13FA1</ssl_pin_block>
<ssl_account_type>CHECKING</ssl_account_type>
<ssl_dukpt>FFFF6543210042600122</ssl_dukpt>
<ssl_amount>10.10</ssl_amount>
<ssl_ksn>FFFF44556600076001A8</ssl_ksn>
<ssl_tlv_enc>
5F3002020157114761730000000010D151220100000000009F2608A0B1AB453C86165D9F27
01805A0847617300000000105F2A0208405F2D0265659F4005F000F0A0019A031508159B02
E8009F21030122399C01004004061820159F41040000023082025C009F1E08534330313030
3438C00AFFFF44556600076000468407A00000000310105F340101950502000080005F200C
5445535420434152442030319F1A0208409F1401039F02060000000017009F3901059F3602
02899F370478813F359F0607A00000000310109F3501229F34031E03009F3303E0F8C89F03
060000000000009F0902008C9F120B56697361204372656469744F07A00000000310109F11
01019F100706010A03A000009F0702FF005F24031512319F530152D02845AF345545C28415
29B3E3673B7538E0EE4ACAA24DA3E4158BAC0763A4EF024BFABF04822E063B865F28020124
500B5649534120435245444954
</ssl_tlv_enc>
<ssl_pos_mode>04</ssl_pos_mode>
<ssl_entry_mode>07</ssl_entry_mode>
</txn>