Sale - ccsale

This section describes the message parameters for Credit Card Sale transaction processing, which you can submit using the Hosted Payments, Checkout.js, and XML API integration methods. Refer to the Integration Methods section for more information.

The ccsale transaction obtains real-time authorization for a Credit Card Sale transaction and enters the transaction into the Unsettled batch.

In this section:

Request

Field nameDescriptionRequiredLengthData type
ssl_merchant_idMerchant ID
Elavon-assigned Converge account ID.
Required15numeric
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:ccsale
Required20alphanumeric
ssl_amountTransaction Amount
The sale amount that includes the net and sales tax amounts.
For Tip Processing, the Sale amount must not include the Tip amount.
For terminals that are set up with the Multi Currency credit payment option, make sure that the number of decimal places are correct as some currencies have 0 (like JPY) or 3 (like BHD) decimal places.
Format: Number with 2 decimal places.
Required11numeric
[Card data]Use the appropriate card data parameters for the transaction.
ssl_card_numberCard number
Card number as it appears on the credit card.
Required for hand-keyed transactions.
Conditional18numeric
ssl_exp_dateCard’s Expiry Date
Date when the card becomes invalid.
Format: MMYY
Important: - Required if ssl_card_number is not null.
- Do not send the expiry date when the token is stored in Card Manager.
Conditional4numeric
ssl_card_presentCard Present Indicator
Indicates whether the card is physically present during the transaction.
Recommended for hand-keyed transactions.
Valid values:
- Y - Card present
- N - Card not present
Optional1alphanumeric
ssl_track_dataRaw Track I and/or II Data
Track data captured from the card’s magnetic stripe. The data includes beginning and ending sentinels, card’s expiry date, cardholder’s first and last name.
Required for swiped and contactless transactions.
Conditional76alphanumeric
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 name and last name.
Conditional160alphanumeric
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.
ConditionalNANA
ssl_encrypted_track1_dataEncrypted Raw Track I Data
Encrypted Track I data captured from the card’s magnetic stripe when using a MagTek encrypting device. The data includes beginning and ending sentinels, card’s expiry date, cardholder’s first name and last name.
Required for swiped and contactless transactions.
Conditional160alphanumeric
ssl_encrypted_track2_dataEncrypted Raw Track II Data
Encrypted Track II data captured from the card’s magnetic stripe when using a MagTek encrypting device.
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 if using ssl_enc_track_data, ssl_encrypted_track1_data or ssl_encrypted_track2_data.
Conditional20alphanumeric
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.
ConditionalNAalphanumeric
ssl_vendor_idVendor ID
Unique vendor identifier assigned by Elavon.
Required for encrypting devices.
Conditional8alphanumeric
ssl_mobile_idMobile ID
Unique assigned mobile identification number of each mobile device in use as determined by the merchant.
Optional for encrypting devices.[/notice]
Conditional50alphanumeric
ssl_tokenCredit Card Token
Encrypted card data that can replace ssl_card_number.
Important: - The token must already be stored in Card Manager.
- Use only if the terminal is set up with the Tokenization terminal option.
- Required if ssl_merchant_initiated_unscheduled = Y.
Conditional20alphanumeric
ssl_pos_modePOS Device Data Entry Capability
Indicates how the POS device captures card data.
Valid values:
- 01 - Manual entry only
- 02 - Magnetic swipe-capable
- 03 - Proximity or contactless-capable
- 04 - EMV chip-capable (ICC) - Contact only with magnetic stripe
- 05 - EMV chip-capable (ICC) - Dual interface with magnetic stripe
Optional2numeric
ssl_entry_modeTransaction Entry Indicator
Indicates how the track data was captured.
Valid values:
- 01 - Key entered - Card not present
- 02 - Key entered - Card present
- 03 - Swiped (default)
- 04 - Proximity/Contactless
Optional2numeric
[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)
Example: MANYMAG*BAKERS MONTHLY
Optional21alphanumeric
[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 - Authorize transaction and 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/Contactless
- ssl_track_data
Encrypted Swiped/Contactless
- ssl_enc_track_data (Ingenico)
- ssl_encrypted_track1_data (MagTek)
- ssl_encrypted_track2_data (MagTek)
Optional1alphanumeric
ssl_add_tokenAdd to Card Manager Indicator
Indicates whether to generate and store the token in Card Manager.
Valid values:
- Y - Authorize transaction, generate and store token
- N - Do not store token (Default)
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 decimal places.
Required11numeric
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
[Card Verification]Use only on terminals that are set up with the CVV2, CVC2, CID credit card payment option.
ssl_cvv2cvc2Card Verification Value / Card Validation Code
Card security code or number printed on the card and commonly used for card not present payment transactions.
Optional4numeric
ssl_cvv2cvc2_indicatorCard Verification Value / Card Validation Code Indicator
Indicates the status of the card security code or number during the transaction.
Valid values:
- 0 - Bypassed
- 1 - Present
- 2 - Illegible
- 9 - Not Present
Optional1numeric
[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
ssl_salestax_indicatorSales Tax Indicator
Whether tax is included on a transaction. This field is required for Level 3 transactions.
Valid values:
- Y - Sales Tax Included
- N or Zero - Tax Exempted Sale (card acceptor has the ability to provide tax amount, but goods/services were not taxable)
Conditional-alphanumeric
[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
[Multi-Currency Conversion]Use only on terminals that are set up with the Multi Currency credit card payment option. Refer to the Multi-Currency Conversion (MCC) section for more information on processing MCC transactions.
ssl_transaction_currencyTransaction Currency
The currency ISO code that the merchant applies to their goods or services.
Default: USD or CAD
Optional3alphanumeric
[Recurring / Installment Payment]Use only on terminals that are set up with the Recurring credit card payment option.
ssl_recurring_flagRecurring Flag
Indicates whether the transaction is a recurring or an installment payment.
Valid values:
- 1 - Recurring
- 2 - Installment
Optional1numeric
ssl_payment_numberInstallment Sequence Number
Required if ssl_recurring_flag = 2.
Conditionalnumeric
ssl_payment_countInstallment Count
Total number of payments.
Required if ssl_recurring_flag = 2.
Conditionalnumeric
[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
[Card on File]
ssl_merchant_initiated_unscheduledMerchant Initiated Unscheduled Transaction Indicator
Indicates the transaction was initiated by a merchant using a stored credential (token or stored card number) for a fixed or variable amount that does not occur on a scheduled or regularly occurring transaction date.
Valid values:
-Y - Yes
-N - No
Optional1alphanumeric
ssl_oar_dataOriginal Authorization Response Data
Include this parameter for all future Card On File transactions using Token or Card Number.
Optional60alphanumeric
ssl_ps2000_dataPS2000 Data
Include this parameter for all future Card On File transactions using Token or Card Number.
Required22alphanumeric
[Level 3]Use only on terminals that are set up with the Level 3 terminal option. A transaction can have up to 998 products (product), which are nested within the Line Item Products (LineItemProducts) parameter.
ssl_level3_indicatorLevel 3 Indicator
Valid values:
- Y - Level 3 transaction (send Level 3 data to issuer)
- N - Only save data locally (do not send Level 3 data to issuer)
Required1alphanumeric
ssl_ship_to_zipZIP Code
ZIP or postal code of the destination address.
Optional9alphanumeric
ssl_ship_to_countryCountry Code
Country ISO code of the destination address.
Optional3alphanumeric
ssl_shipping_amountFreight or Shipping AmountOptional11numeric
ssl_ship_from_postal_codeZIP Code
ZIP or postal code of the originating address.
Optional9alphanumeric
ssl_discount_amountDiscount Amount
The discount amount for the entire transaction (order).
Optional11numeric
ssl_duty_amountDuty Amount
The total charges for any import or export duties included in the transaction.
Optional11numeric
ssl_national_tax_indicatorNational Tax Indicator
Valid values:
Visa
- 0 - Tax not included in total purchase amount
- 1 - Tax included in total purchase amount
MasterCard
- Y - Tax included in total purchase amount
- N - Transaction not subject to tax
- 0 or Space - Tax information unknown
Optional1alphanumeric
ssl_national_tax_amountNational or VAT AmountOptional11numeric
ssl_order_dateOrder Date
Date when the merchant received the order.
Format: YYMMDD
Optional6numeric
ssl_other_taxOther Tax AmountOptional12numeric
ssl_summary_commodity_codeSummary Commodity Code
Indicates whether Level 3 data is in the line item detail.
Optional4alphanumeric
ssl_merchant_vat_numberMerchant VAT Number
The identification number assigned by the taxing authority to the merchant.
Optional20alphanumeric
ssl_customer_vat_numberCustomer VAT Number
The identification number assigned by the VAT authority to the buying company.
Optional13alphanumeric
ssl_freight_tax_amountVAT or Tax Amount
VAT or tax applied to the freight or shipping amount.
Optional12numeric
ssl_vat_invoice_numberVAT Invoice NumberOptional15alphanumeric
ssl_tracking_numberShipping Tracking NumberOptional25alphanumeric
ssl_shipping_companyShipping Company NameOptional50alphanumeric
ssl_other_feesOther FeesOptional12numeric
ssl_line_item_descriptionLine Item DescriptionOptional35alphanumeric
ssl_line_Item_product_codeLine Item Product Code
The part or catalog number of the line item.
Optional13alphanumeric
ssl_line_Item_commodity_codeLine Item Commodity Code
The commodity code used to classify the line item.
Optional12alphanumeric
ssl_line_Item_quantityLine Item Quantity
The number of purchased units for the line item.
Optional12numeric
ssl_line_Item_unit_of_measureLine Item Measurement Code
The unit of measure that each line item is purchased in.
Optional3alphanumeric
ssl_line_Item_unit_costLine Item Unit Cost
The cost of each purchased unit for the line item.
Optional12numeric
ssl_line_Item_discount_indicatorLine Item Discount Indicator
Indicates whether the line item is discounted.
Valid values:
- Y - Item amount is discounted
- N - Item amount is not discounted
Optional1alphanumeric
ssl_line_Item_tax_indicatorLine Item Tax Indicator
Indicates whether the line item is taxable.
Valid values:
- Y - Item amount is taxable
- N - Item amount is not taxable
Optional1alphanumeric
ssl_line_item_discount_amountDiscount Amount
The discount amount for the entire line item.
Optional11numeric
ssl_line_Item_tax_rateLine Item Tax RateOptional4numeric
ssl_line_Item_tax_amountLine Item Tax Amount
The tax amount for each purchased unit.
Optional12numeric
ssl_line_Item_tax_typeLine Item Tax Type
The type of tax applied to the line item.
Optional4alphanumeric
ssl_line_Item_extended_totalLine Item Extended Amount
The total cost of the line item for the detail record.
Computation Rule: Quantity x Unit Price
Optional9numeric
ssl_line_Item_totalLine Item Total AmountOptional12numeric
ssl_line_Item_alternative_taxAlternate Tax ID
The alternate tax identifier description for the line item.
Optional12numeric
[3D Secure]Use only on terminals that are set up with eMPI Merchant Numbers.
Refer to the 3D Secure section for more information on retrieving the following Issuer Authentication parameters.
ssl_eci_indeCommerce Indicator
Valid values:
- 5 - Fully authenticated (if eci = 02 or 05)
- 6 - Attempted VbV (if eci = 01 or 06)
- 7 - Non-VbV (if eci = 07 or )
Required1numeric
ssl_3dsecure_valueCardholder Authentication Verification (CAVV) (Visa)
Universal Cardholder Authentication Field (UCAF) (MasterCard)
Validates the integrity of the Verified by Visa (VbV) transaction data.
Required80Base64 Encoded
ssl_xideMPI Transaction ID
Unique transaction identifier generated by the Elavon Merchant Plug In (eMPI) engine.
Optional20alphanumeric
[MasterPass]Use only on terminals that are set up with the MasterPass processing option, Market Segment set to Internet, and Region set to Canada.
Refer to the MasterPass section for more information on processing MasterPass wallet transactions.
ssl_eWalletWallet Identifier
Indicates the wallet payment type offered by the merchant.
Valid values:
MasterPass
Required10alphanumeric
ssl_callback_urlCallback URL
The URL of the merchant that will host the response.
Required200alphanumeric
ssl_eWallet_shippingShipping Information Indicator
Indicates the shipping information to use for the wallet purchase.
Valid values:
- Y - Use MasterPass shipping information
- N - Use shipping information from merchant’s website or payment form
Optional1alphanumeric
ssl_product_stringProduct String
List of products purchased from the merchant website. All the products appear as Line Items on the MasterPass website along with the total amount.
Format: Unit Price::Quantity::Description::Image URL
Multi-Product Format: Unit Price::Quantity::Description::Image URL
Optional200alphanumeric
[Apple Pay on the Web]Use only on terminals that are set up with the Apple Pay on the Web terminal option.
Refer to the Apple Pay on the Web section for more information on processing Apple Pay wallet transactions.
ssl_transaction_sourceTransaction Source
The source of the transaction request.
Required20alphanumeric
ssl_applepay_webRequired4000alphanumeric
ssl_applepay_billingBilling Address
The billing address in the cardholder’s Apple Pay account.
Optional4000alphanumeric
ssl_applepay_shippingShipping Address
The shipping address in the cardholder’s Apple Pay account.
Optional4000alphanumeric
[Visa Checkout]Use only on terminals that are set up with the VisaCheckout processing option.
Refer to the Visa Checkout section for more information on processing Visa Checkout wallet transactions.
ssl_visapayloadVisa PayloadRequired4000alphanumeric
[Optional Fields]
ssl_avs_addressAddress Line 1
Commonly the house number and street name on the cardholder’s / customer’s account or billing address.
Address Verification Service (AVS) data compared with the address on the card issuer’s file.
Recommended for hand-keyed transactions to qualify for better interchange rates.
Optional30alphanumeric
ssl_avs_zipPostal or ZIP Code
ZIP code on the cardholder’s account or billing address.
(AVS) data compared with the postal or ZIP code on the card issuer’s file.
Recommended for hand-keyed transactions to qualify for better interchange rates.
Optional9alphanumeric
ssl_descriptionMerchant-defined Transaction Description
Short and custom text to describe the transaction.
Optional255alphanumeric
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
[Healthcare]Only use on terminals with Healthcare enabled.
ssl_healthcare_amountHealthcare Amount
Total amount in a healthcare transaction. ssl_healthcare_amount is equal to ssl_otc_amount + ssl_prescription_amount + ssl_clinic_other_amount + ssl_dental_amount. If this amount is not included in the transaction, then Converge will calculate based off the other healthcare fields. If you do include this field in the transaction, then Converge will validate the field. If the validation fails, Converge will decline the transaction.
Optional11numeric
ssl_otc_amountOver the Counter Amount
Amount of over the counter medical expenditures.
Defaults to 0.00 if not sent.
Optional11numeric
ssl_prescription_amountPrescription Amount
Amount of prescription drug expenditures.
Defaults to 0.00 if not sent.
Optional11numeric
ssl_clinic_other_amountClinic/Other Amount
Amount of expenditures for clinic or other medical office services.
Defaults to 0.00 if not sent.
Optional11numeric
ssl_dental_amountDental Amount
Amount of dental expenditures.
Defaults to 0.00 if not sent.
Optional11numeric
ssl_vision_amountVision Amount
Amount of vision expenditures.
Defaults to 0.00 if not sent.
Optional11numeric
ssl_transit_amountTransit Amount
Amount of transit expenditures.
Defaults to 0.00 if not sent.
Requests that include Transit Amount must be sent separately from healthcare transactions that include other healthcare amount fields.
Optional11numeric

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 Payment 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_approval_codeTransaction Approval Code
Unique code returned by the credit card processor that indicates the approval status of the transaction.
ssl_amountTotal Authorized/Approved Transaction Amount
The amount includes the Tip amount, if submitted in the request.
ssl_card_numberMasked Card Number
Converge only returns the first 2 or last 4 digits of the regular PAN, or the last 4 digits of the actual card number if it is an association token (example, ApplePay).
ssl_card_short_descriptionShort Card Brand Name
Valid values:
- AMEX
- CUP
- DISC
- MC
- PP
- VISA
ssl_card_typePayment Type
Valid value:CREDITCARD
ssl_promo_listPromotion List
This contains a list of all promo products; the data for each promo product will be nested and embedded between beginning and ending elements ssl_promo_product up to 5 promo products. Each promo product ssl_promo_product will contain ssl_promo_code, ssl_promo_code_name, ssl_promo_code_description, and ssl_promo_code_issue_points.
[Tokenization]Returned only if Tokenization parameters are sent in the request.
ssl_tokenToken
Generated from the credit card number.
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_add_token_responseAdd to Card Manager Outcome
Valid values:
- Card Added
- Card Updated
- Not Permitted
- FAILURE - First Name - is required
[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.
[Address Verification Service]Returned only if AVS parameters are sent in the request.
ssl_avs_responseAddress Verification Response Code
Refer to the AVS Response Codes section for a complete list of AVS response codes.
[Card Verification]Returned only if CVV / CVC / CID parameters are sent in the request.
ssl_cvv2_responseCard Verification Response Code
Refer to the CVV2/CVC2 Response Codes section for a complete list of CVV/CVC2 response codes.
[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.
[Multi-Currency Conversion]Returned only if MCC parameters are sent in the request.
ssl_transaction_currencyTransaction Currency
[Dynamic Currency Conversion]Returned only if the terminal is set up with the Dynamic Currency credit card payment option.
Refer to the Dynamic Currency Conversion (DCC) section for more information on retrieving the following DCC transaction parameters.
ssl_txn_currency_codeTransaction Currency Code
The cardholder’s billing currency code.
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_cardholder_base_amountBase Amount
Base amount in the cardholder currency. Returned only if Tip Processing parameters are sent in the request.
ssl_cardholder_tip_amountTip Amount
Tip amount in the cardholder currency. Returned only if Tip Processing parameters are sent in the request.
[Partial Approval]Returned only if Partial Approval parameters are sent in the request.
If the customer indicates that they do not wish to continue with the additional tender type, the point of sale application must send a reversal to cancel this payment and reestablish the balance back to the card.
A reversal can be achieved by sending a ccdelete in terminal-based terminals or ccvoid in host-based terminals.
ssl_requested_amountRequested Amount
Original requested amount on partial approvals.
ssl_balance_dueRemaining Balance
The difference between the requested amount and the authorized amount, which the merchant will collect from the customer.
ssl_account_balanceAccount Balance
Available balance on the card, which is 0.00 for a partially authorized transaction.
[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.

Examples

important

  • In all of 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.

Basic Sale Transaction

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_test_mode>false</ssl_test_mode>
    <ssl_transaction_type>ccsale</ssl_transaction_type>
    <ssl_card_number>000000000000000</ssl_card_number>
    <ssl_exp_date>1215</ssl_exp_date>
    <ssl_amount>1.00</ssl_amount>
</txn>

Response

<txn>
    <ssl_card_number>00********0000</ssl_card_number>
    <ssl_exp_date>1215</ssl_exp_date>
    <ssl_amount>1.00</ssl_amount>
    <ssl_result>0</ssl_result>
    <ssl_result_message>APPROVAL</ssl_result_message>
    <ssl_txn_id>101641221593ACBA6-BAFD-76B7-4948-B3DE68CFD0CC</ssl_txn_id>
    <ssl_approval_code>CMC142</ssl_approval_code>
    <ssl_account_balance>1.00</ssl_account_balance>
    <ssl_txn_time>01/20/2011 01:07:23 PM</ssl_txn_time>
</txn>

Sale with Tip

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_test_mode>false</ssl_test_mode>
    <ssl_transaction_type>ccsale</ssl_transaction_type>
    <ssl_card_number>0000000000000000</ssl_card_number>
    <ssl_exp_date>1215</ssl_exp_date>
    <ssl_amount>10.00</ssl_amount>
    <ssl_tip_amount>2.00</ssl_tip_amount>
    <ssl_shift>Dinner</ssl_shift>
    <ssl_server>Joe123</ssl_server>
</txn>

Response

<txn>
    <ssl_result>0</ssl_result>
    <ssl_approval_code>N25032</ssl_approval_code>
    <ssl_result_message>APPROVAL</ssl_result_message>
    <ssl_txn_id>TEST43B-D0638677-26EB-40F5-B2F9-3AF2545DE144</ssl_txn_id>
    <ssl_txn_time>10/03/2012 10:25:03 PM</ssl_txn_time>
    <ssl_card_number>00********0000</ssl_card_number>
    <ssl_exp_date>1215</ssl_exp_date>
    <ssl_base_amount>10.00</ssl_base_amount>
    <ssl_amount>12.00</ssl_amount>
    <ssl_tip_amount>2.00</ssl_tip_amount>
    <ssl_shift>Dinner</ssl_shift>
    <ssl_server>Joe1</ssl_server>
</txn>

Sale with Multi-Currency Conversion

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_test_mode>false</ssl_test_mode>
    <ssl_transaction_type>ccsale</ssl_transaction_type>
    <ssl_card_number>0000000000000000</ssl_card_number>
    <ssl_exp_date>1215</ssl_exp_date>
    <ssl_amount>200</ssl_amount>
    <ssl_transaction_currency>JPY</ssl_transaction_currency>
    <ssl_invoice_number>XMLXSSJPYNVISA20-200</ssl_invoice_number>
</txn>

Response

<txn>
    <ssl_approval_code>CVI032</ssl_approval_code>
    <ssl_exp_date>1222</ssl_exp_date>
    <ssl_result_message>APPROVAL</ssl_result_message>
    <ssl_invoice_number>XMLXSSJPYNVISA20-200</ssl_invoice_number>
    <ssl_amount>200</ssl_amount>
    <ssl_transaction_currency>JPY</ssl_transaction_currency>
    <ssl_result>0</ssl_result>
    <ssl_txn_id>AA47AE-BD32FF54-BE12-4046-98E9-F78E9D75212D</ssl_txn_id>
    <ssl_card_number>00**********0000</ssl_card_number>
    <ssl_txn_time>11/19/2013 12:02:29 AM</ssl_txn_time>
</txn>

Sale with Partial Approval

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_test_mode>false</ssl_test_mode>
    <ssl_transaction_type>ccsale</ssl_transaction_type>
    <ssl_card_number>0000000000000000</ssl_card_number>
    <ssl_exp_date>1212</ssl_exp_date>
    <ssl_amount>10.10</ssl_amount>
    <ssl_first_name>Test</ssl_first_name>
    <ssl_partial_auth_indicator>1</ssl_partial_auth_indicator>
</txn>

Response

If the balance on a card is not enough to cover for the entire purchase, the point of sale application must be able to read the additional returned fields and collect the balance that remains by other means. In this example, the amount requested was 10.10 and only 10.05 was approved. The integrated application must display the balance left to pay as 0.05.

<txn>
    <ssl_card_number>00********0000></ssl_card_number>
    <ssl_exp_date>1212</ssl_exp_date>
    <ssl_amount>10.05</ssl_amount>
    <ssl_requested_amount>10.10</ssl_requested_amount>
    <ssl_balance_due>0.05</ssl_balance_due>
    <ssl_result>0</ssl_result>
    <ssl_result_message>PARTIAL APPROVAL</ssl_result_message>
    <ssl_txn_id>AA48439-9D9AFF76-AFEC-0B8D-DC7F-43A5F97BF81B</ssl_txn_id>
    <ssl_approval_code>CVI788</ssl_approval_code>
    <ssl_account_balance>0.00</ssl_account_balance>
    <ssl_txn_time>10/25/2011 10:49:52 PM</ssl_txn_time>
</txn>

Sale with Dynamic Currency Conversion

Cardholder Accepts DCC and Charged in Foreign Currency

  1. Send a ccsale 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_test_mode>false</ssl_test_mode>
        <ssl_transaction_type>ccsale</ssl_transaction_type>
        <ssl_card_number>0000000000000000</ssl_card_number>
        <ssl_exp_date>1219</ssl_exp_date>
        <ssl_amount>1.00</ssl_amount>
    </txn>
    
  2. Receive a DCC decision response.

    <txn>
        <id>ekU9j0L0iFO9m9FELAqK8E6</id>
        <ssl_txn_currency_code>EUR</ssl_txn_currency_code>
        <ssl_markup>3.25</ssl_markup>
        <ssl_conversion_rate>.76373</ssl_conversion_rate>
        <ssl_amount>1.00</ssl_amount>
        <ssl_cardholder_amount>0.76</ssl_cardholder_amount> <dccoption>
        <option label="Please charge my purchase in my home currency.">Y</option>
        <option label="Do not charge me in my home currency. Charge my purchase in US dollars.">N</option>
        </dccoption>
    </txn>
    
  3. Cardholder accepts DCC and a second request is sent requesting the card to be charged in foreign currency.

    xmldata=
    <txn>
        <ID>ekU9j0L0iFO9m9FELAqK8E6</ID>
        <dccoption>Y</dccoption>
    </txn>
    
  4. Receive a final response and print receipt.

    <txn>
        <ssl_card_number>00********0000</ssl_card_number>
        <ssl_exp_date>1219</ssl_exp_date>
        <ssl_amount>1.00</ssl_amount>
        <ssl_cardholder_amount>0.76</ssl_cardholder_amount>
        <ssl_cardholder_currency>EUR</ssl_cardholder_currency>
        <ssl_conversion_rate>.76373</ssl_conversion_rate>
        <ssl_markup>3.25</ssl_markup>
        <ssl_invoice_number/>
        <ssl_result>0</ssl_result>
        <ssl_result_message>APPROVAL</ssl_result_message>
        <ssl_txn_id>101641221295DB876-F2A9-7B6A-B173-2737983B7693</ssl_txn_id>
        <ssl_approval_code>N05465</ssl_approval_code>
        <ssl_txn_time>01/20/2011 01:05:44 PM</ssl_txn_time>
    </txn>
    

Cardholder Declines DCC and Charged in Home Currency

  1. Send a ccsale 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_test_mode>false</ssl_test_mode>
        <ssl_transaction_type>ccsale</ssl_transaction_type>
        <ssl_card_number>0000000000000000</ssl_card_number>
        <ssl_exp_date>1219</ssl_exp_date>
        <ssl_amount>1.00</ssl_amount>
    </txn>
    
  2. Receive a DCC decision response.

    <txn>
        <id>ekU9j0L0iFO9m9FELAqK8E6</id>
        <ssl_txn_currency_code>EUR</ssl_txn_currency_code>
        <ssl_markup>3.25</ssl_markup>
        <ssl_conversion_rate>.76373</ssl_conversion_rate>
        <ssl_amount>1.00</ssl_amount>
        <ssl_cardholder_amount>0.76</ssl_cardholder_amount> <dccoption>
        <option label="Please charge my purchase in my home currency.">Y</option>
        <option label="Do not charge me in my home currency. Charge my purchase in US dollars.">N</option>
        </dccoption>
    </txn>
    
  3. Cardholder declines DCC and a second request is sent requesting the card to be charged in home currency.

    xmldata=
    <txn>
        <ID>iQ4AezhcjmJznh3BYLZ0-W9</ID>
        <dccoption>N</dccoption>
    </txn>
    
  4. Receive a final response.

    <txn>
        <ssl_card_number>00********0000</ssl_card_number>
        <ssl_exp_date>1219</ssl_exp_date>
        <ssl_amount>1.00</ssl_amount>
        <ssl_result>0</ssl_result>
        <ssl_result_message>APPROVAL</ssl_result_message>
        <ssl_txn_id>101641221593ACBA6-BAFD-76B7-4948- B3DE68CFD0CC</ssl_txn_id>
        <ssl_approval_code>CMC142</ssl_approval_code>
        <ssl_account_balance>1.00</ssl_account_balance>
        <ssl_txn_time>01/20/2011 01:07:23 PM</ssl_txn_time>
    </txn>
    

Sale with Token Generation

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>ccsale</ssl_transaction_type>
    <ssl_card_number>0000000000000000</ssl_card_number>
    <ssl_exp_date>1222</ssl_exp_date>
    <ssl_cvv2cvc2_indicator>1</ssl_cvv2cvc2_indicator>
    <ssl_cvv2cvc2>321</ssl_cvv2cvc2>
    <ssl_amount>12.00</ssl_amount>
    <ssl_avs_address>7300</ssl_avs_address>
    <ssl_avs_zip>12345</ssl_avs_zip>
    <ssl_get_token>Y</ssl_get_token>
</txn>

Response

<txn>
    <ssl_approval_code>CVI194</ssl_approval_code>
    <ssl_dynamic_dba/>21, 17, or 12 length>
    <ssl_exp_date>1222</ssl_exp_date>
    <ssl_server />
    <ssl_account_balance>12.00</ssl_account_balance>
    <ssl_token>7876275006683003</ssl_token>
    <ssl_get_token>Y</ssl_get_token>
    <ssl_result_message>APPROVAL</ssl_result_message>
    <ssl_token_response>SUCCESS</ssl_token_response>
    <ssl_base_amount>12.00</ssl_base_amount>
    <ssl_amount>12.00</ssl_amount>
    <ssl_txn_id>AA4843B-0E98A88D-6923-4A77-B546-38CFDDCE4DA4</ssl_txn_id>
    <ssl_result>0</ssl_result>
    <ssl_card_number>00**********0000</ssl_card_number>
    <ssl_txn_time>03/26/2013 02:50:56 PM</ssl_txn_time>
    <ssl_avs_response>S</ssl_avs_response>
    <ssl_cvv2_response>M</ssl_cvv2_response>
</txn>

Sale with Token Generation and Store to Card Manager

This Sale transaction includes the token generation and add to Card Manager parameters.

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>ccsale</ssl_transaction_type>
        <ssl_amount>10.00</ssl_amount>
        <ssl_card_number>0000000000000000</ssl_card_number>
        <ssl_exp_date>1219</ssl_exp_date>
        <ssl_invoice_number>1234</ssl_invoice_number>
        <ssl_first_name>John</ssl_first_name>
        <ssl_last_name>Doe</ssl_last_name>
        <ssl_avs_address>123 Main</ssl_avs_address>
        <ssl_city>Atlanta</ssl_city>
        <ssl_state>GA</ssl_state>
        <ssl_avs_zip>30123</ssl_avs_zip>
        <ssl_country>USA</ssl_country>
        <ssl_cvv2cvc2_indicator>1</ssl_cvv2cvc2_indicator>
        <ssl_cvv2cvc2>123</ssl_cvv2cvc2>
        <ssl_get_token>Y</ssl_get_token>
        <ssl_add_token>Y</ssl_add_token>
</txn>

Response

<txn>
        <ssl_approval_code>CVI371</ssl_approval_code>
        <ssl_cvv2_response>M</ssl_cvv2_response>
        <ssl_add_token_response>Card Added</ssl_add_token_response>
        <ssl_account_balance>10.00</ssl_account_balance>
        <ssl_token>7098165265161885</ssl_token>
        <ssl_token_response>SUCCESS</ssl_token_response>
        <ssl_result_message>APPROVAL</ssl_result_message>
        <ssl_invoice_number>1234</ssl_invoice_number>
        <ssl_amount>10.00</ssl_amount>
        <ssl_txn_id>AA4843B-0E213944-FEBA-4841-ADEA-8804C127AB3</ssl_txn_id>
        <ssl_result>0</ssl_result>
        <ssl_card_number>00**********0000</ssl_card_number>
        <ssl_txn_time>02/18/2014 04:06:41 PM</ssl_txn_time>
        <ssl_avs_response>D</ssl_avs_response>
        <ssl_invoice_number>1234</ssl_invoice_number>
        <ssl_first_name>John</ssl_first_name>
        <ssl_last_name>Doe</ssl_last_name>
        <ssl_avs_address>123 Main</ssl_avs_address>
        <ssl_city>Atlanta</ssl_city>
        <ssl_state>GA</ssl_state>
        <ssl_avs_zip>30123</ssl_avs_zip>
        <ssl_country>USA</ssl_country>
</txn>

Request

Now that the token is stored in Card Manager, any succeeding Sale request can be submitted using the generated 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>ccsale</ssl_transaction_type>
    <ssl_amount>10.00</ssl_amount>
    <ssl_token>7098165265161885</ssl_token>
</txn>                        

Sale with Level 3 Data

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>ccsale</ssl_transaction_type>
    <! -- CCAUTHONLY --!>
    <ssl_card_number>5000******3003</ssl_card_number>
    <ssl_exp_date>****</ssl_exp_date>
    <ssl_amount>10.00</ssl_amount>
    <ssl_cvv2cvc2_indicator>1</ssl_cvv2cvc2_indicator>
    <ssl_cvv2cvc2>123</ssl_cvv2cvc2>
    <ssl_avs_address>100 Test Street</ssl_avs_address>
    <ssl_avs_zip>96210</ssl_avs_zip>
    <ssl_salestax>1.30</ssl_salestax>
    <ssl_customer_code>ABC12345</ssl_customer_code>
    <! -- System fields, used in Level 3 Clearing File --!>
    <ssl_ship_to_zip>L4W2C8</ssl_ship_to_zip>
    <ssl_ship_to_country>123</ssl_ship_to_country>
    <! -- Level 3 fields --!>
    <ssl_ship_from_postal_code>111</ssl_ship_from_postal_code>
    <ssl_discount_amount>2</ssl_discount_amount>
    <ssl_duty_amount>5</ssl_duty_amount>
    <ssl_shipping_amount>10</ssl_shipping_amount>
    <ssl_national_tax_indicator>1</ssl_national_tax_indicator>
    <ssl_national_tax_amount>4</ssl_national_tax_amount>
    <ssl_order_date>01/22/2014</ssl_order_date>
    <ssl_other_tax>3</ssl_other_tax>
    <ssl_summary_commodity_code>444</ssl_summary_commodity_code>
    <ssl_merchant_vat_number>222</ssl_merchant_vat_number>
    <ssl_customer_vat_number>333</ssl_customer_vat_number>
    <ssl_freight_tax_amount>8</ssl_freight_tax_amount>
    <ssl_freight_tax_rate>9</ssl_freight_tax_rate>
    <ssl_vat_invoice_number>224</ssl_vat_invoice_number>
    <! -- Indicator to include the Level3 data in clearing File --!>
    <ssl_level3_indicator>Y</ssl_level3_indicator>
    <! -- Indicator to include the Level3 data in clearing File --!>
    <ssl_tracking_number>TN12345</ssl_tracking_number>
    <ssl_shipping_company>Elavon</ssl_shipping_company>
    <ssl_other_fees>5.00</ssl_other_fees>
    <LineItemProducts>
        <product>
            <ssl_line_item_description>First Product</ssl_line_item_description>
            <ssl_line_Item_product_code>P-001</ssl_line_Item_product_code>
            <ssl_line_Item_commodity_code>CMD1</ssl_line_Item_commodity_code>
            <ssl_line_Item_quantity>101</ssl_line_Item_quantity>
            <ssl_line_Item_unit_of_measure>M1</ssl_line_Item_unit_of_measure>
            <ssl_line_Item_unit_cost>5.00</ssl_line_Item_unit_cost>
            <ssl_line_Item_discount_indicator>1</ssl_line_Item_discount_indicator>
            <ssl_line_item_discount_amount>1.00</ssl_line_item_discount_amount>
            <ssl_line_Item_tax_Indicator>1</ssl_line_Item_tax_Indicator>
            <ssl_line_Item_tax_rate>20</ssl_line_Item_tax_rate>
            <ssl_line_Item_tax_amount>1.00</ssl_line_Item_tax_amount>
            <ssl_line_Item_tax_type>1</ssl_line_Item_tax_type>
            <ssl_line_Item_extended_total>20</ssl_line_Item_extended_total>
            <ssl_line_Item_total>30</ssl_line_Item_total>
            <ssl_line_Item_alternative_tax>GST</ssl_line_Item_alternative_tax>
        </product>
        <product>
            <ssl_line_item_description>Second Product</ssl_line_item_description>
            <ssl_line_Item_product_code>P-002</ssl_line_Item_product_code>
            <ssl_line_Item_commodity_code>CMD2</ssl_line_Item_commodity_code>
            <ssl_line_Item_quantity>102</ssl_line_Item_quantity>
            <ssl_line_Item_unit_of_measure>M2</ssl_line_Item_unit_of_measure>
            <ssl_line_Item_unit_cost>10.00</ssl_line_Item_unit_cost>
            <ssl_line_Item_discount_indicator>1</ssl_line_Item_discount_indicator>
            <ssl_line_item_discount_amount>2.00</ssl_line_item_discount_amount>
            <ssl_line_Item_tax_Indicator>2</ssl_line_Item_tax_Indicator>
            <ssl_line_Item_tax_rate>40</ssl_line_Item_tax_rate>
            <ssl_line_Item_tax_amount>2.00</ssl_line_Item_tax_amount>
            <ssl_line_Item_tax_type>2</ssl_line_Item_tax_type>
            <ssl_line_Item_extended_total>40</ssl_line_Item_extended_total>
            <ssl_line_Item_total>60</ssl_line_Item_total>
            <ssl_line_Item_alternative_tax>PST</ssl_line_Item_alternative_tax>
        </product>
    </LineItemProducts>
</txn>

Integration with Loyalty Program Transactions

The Credit Card Sale transaction can integrate the processing of the following Loyalty Program transactions:

  • Lead Inquiry
  • Member Inquiry
  • Enrollment

Transaction Processing

These steps outline the process of integrating the Lead Inquiry, Member Inquiry, and Enrollment transactions with the Credit Card Sale transaction.

  1. The integrated application sends the payment card to Converge.
  2. Converge sends a Lead Inquiry (ltleadinquiry) transaction to Elavon’s loyalty program to verify the payment card’s enrollment status.

    Refer to the Lead Inquiry transaction for information about the appropriate request parameters.

  3. Converge receives a response from the Elavon loyalty program.

    If the Elavon loyalty program recognizes the payment card as a member, it checks for rewards and sends the rewards information (ssl_promo_list) with the new discounted amount (ssl_tender_amount).

    If the Elavon loyalty program recognized the payment card as not a member, it sends a Join Offer message in the response.

  4. Converge sends the Elavon loyalty program response to the integrated application.

    If the payment card is a member, the integrated application can authorize the Credit Card Sale transaction using the rewards information and new discounted amount. At this point, the Credit Card Sale and Loyalty Program transactions are complete.

    If the payment card is not a member, the integration application prompts (ssl_loyalty_prompt) the cardholder to not enroll, confirm their membership, or enroll.

  5. The cardholder selects an option from the prompt displayed by the integrated application.

    If the cardholder selects to not enroll, the integrated application proceeds with the authorization of the Credit Card Sale’s original transaction amount. At this point, the Credit Card Sale and Loyalty Program transactions are complete.

    If the cardholder confirms their membership, the integrated application sends a Member Inquiry (ltmemberinquiry) transaction. Refer to the Member Inquiry transaction for information about the appropriate request parameters.

  6. If the integration application sent a Member Inquiry transaction and the Elavon loyalty program recognizes the payment card as a member, it checks for rewards and sends the rewards information (ssl_promo_list) with the new discounted amount (ssl_tender_amount). The integrated application can then authorize the Credit Card Sale transaction using the rewards information and new discounted amount. At this point, the Credit Card Sale and Loyalty Program transactions are complete.

    If the integrated application sent an Enrollment transaction and the cardholder uses the payment card to enroll, the integrated application sends the Credit Card Sale transaction with the cardholder’s phone number (ssl_phone) and Enrollment Indicator (ssl_enrollment) (obtained from the ltenrollment transaction), and promotional codes from the ltleadinquiry response. The payment card is charged with purchase amount and enrolled in the loyalty program with a phone number. At this point, the Credit Card Sale and Loyalty Program transactions are complete.

    If the integrated application sent an Enrollment transaction and the cardholder uses only their phone number to enroll or a new loyalty card is issued, the Elavon loyalty program enrolls the loyalty card and checks for rewards and responds with the rewards information and new discounted amount. The integrated application can authorize the Credit Card Sale transaction using the rewards information and new discounted amount. At this point, the Credit Card Sale and Loyalty Program transactions are complete.