Generate Token - ccgettoken

This section describes the message parameters for Credit Card Tokenization, 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 ccgettoken transaction generates a token from a card number or an existing recurring/installment in the recurring batch. The token generated can be used in place of a credit card number in any subsequent transactions. Additionally, you can request to add the generated token to Card Manager.

This transaction is supported only when a terminal is setup for tokenization for hand-keyed cards only. Refer to the Tokenization section for more information.

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
Value:  ccgettoken
Required20alphanumeric
ssl_verifyAccount Verification Indicator
Indicates whether the Converge needs to verify the account before generating a token.
Valid values:
  • Y - Verify account prior to token generation
  • N - Generate token without account verification
Optional1alphanumeric
ssl_first_nameFirst Name
First name on the cardholder’s / customer’s account or billing address.
Important: If ssl_add_token is set to Y, the first name is mandatory.
Conditional50alphanumeric
ssl_last_nameLast Name
Last name on the cardholder’s / customer’s account or billing address.
Important: If ssl_add_token is set to Y, the last name is mandatory.
Conditional50alphanumeric
[Card Data]Use the appropriate card data parameters for the transaction.
ssl_bin_lookupTo access Bank Identification Number (BIN) of a card
Valid values: 
  • Y - Perform bin data lookup
  • N - Does not perform bin data lookup
 Important: Only applicable to terminals that are set up with the Tokenization  terminal option. 
Required1alpha
ssl_card_numberCard Number
Card Number as it appears on the credit card.
Important: Required for hand-keyed transactions.
Conditional18numeric
ssl_exp_dateCard’s Expiry Date
Date when the card becomes invalid.
Important:
  • Required if ssl_card_number is not null.
  • Do not send the expiry date when the token is stored in Card Manager.
Format: MMYY
Conditional4numeric
ssl_exclude_account_updateExclude Account Update
A request with this field set to Y will not pass a token to the account updater.
Optional1Boolean
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_recurring_idRecurring ID
Unique identifier of the recurring or installment record to be submitted for payment.
Required for existing recurring or installment transactions.
Conditional50alphanumeric
ssl_enc_track_dataEncrypted Raw Track I and/or II Data
Encrypted Track I and/or II data captured from the card’s magnetic stripe when using an Ingenico encrypting device. The data includes beginning and ending sentinels, card’s expiry date, cardholder’s first and last name.
Conditional160alphanumeric
ssl_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_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.
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.
Conditional-alphanumeric
ssl_vendor_idVendor ID
Unique vendor identifier assigned by Elavon.
Required for encrypting devices and certification.
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.
Conditional50alphanumeric
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)
Optional2numeric
[Tokenization]Use only on terminals that are set up with the Tokenization terminal option.
ssl_add_tokenAdd to Card Manager Indicator
Indicates whether to add the token and the cardholder details to Card Manager.
Valid values:
  • Y - Add or update the generated token and the cardholder details if the transaction is approved.
  • N - Do not add the token or cardholder details (Default).
Optional1alphanumeric
[Address Verification Service]
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 if ssl_verify = Y.
Required30alphanumeric
ssl_avs_zipPostal or ZIP Code
ZIP code on the cardholder’s account or billing address.
Address Verification Service (AVS) data compared with the postal or ZIP code on the card issuer’s file.
Recommended if ssl_verify = Y.
Required9alphanumeric
[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.
Recommended if ssl_verify = Y.
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

Response

Field nameDescription
ssl_account_balanceAccount Balance
Available balance on the card.
ssl_address2Address Line 2
Apartment or condominium unit number and floor number on the cardholder’s or customer’s account or billing address.
ssl_bin_lookup_responseResponse for the bin lookup
A value of SUCCESS indicates that the bin lookup has been performed. Other values returned are:
  • FAILURE
ssl_companyCompany Name
Company name on the cardholder’s / customer’s account or billing address.
ssl_card_short_descriptionShort Card Brand Name
Valid values:  AMEX, CUP, DISC, MC, PP, and VISA.
ssl_card_typePayment Type
Valid value:  CREDITCARD
ssl_credit_surcharge_amountCredit Surcharge Amount
The amount in USD added to ssl_amount as a surcharge.
ssl_customer_idCustomer ID
Merchant-defined unique customer identifier.
ssl_exp_dateCard’s Expiry Date
Returned based on merchant setup.
ssl_last_nameLast Name
Last name on the cardholder’s / customer’s account or billing address.
ssl_phonePhone
Phone number on the cardholder’s / customer’s account or billing address.
Important: Accepts dashes.
ssl_resultTransaction Outcome
An ssl_result = 0 indicates a generated token.
An ssl_result = 1 indicates that a token was not generated.
ssl_stateState Code
State or province code on the cardholder’s / customer’s account or billing address.
ssl_emailEmail Address
The cardholder’s or customer’s email address.
Returned based on merchant setup.
ssl_avs_zipPostal or ZIP Code
Postal or ZIP code on the cardholder’s or customer’s account or billing address.
Returned based on merchant setup.
ssl_customer_codeCustomer Code or Purchase Order Number
Customer ID or PO number specified in the billing statement of the cardholder.
ssl_countryCountry ISO Code
Country ISO code on the cardholder’s / customer’s account or billing address.
Returned based on merchant setup.
ssl_card_typeCard Type
Payment method to use for the transaction.
Valid values:  CREDITCARDDEBITCARDFOODSTAMPCASHBENEFITELECTRONICCHECKGIFTCARD,   CASH
ssl_first_nameFirst Name
First name on the cardholder’s / customer’s account or billing address.
Important: If ssl_add_token is set to Y, the first name is mandatory.
ssl_result_messageAccount Verification Result Message
Refer to the Payment Card Response Codes section for an extensive list of possible returned messages.
Returned only when ccgettoken is requested with ssl_verify = Y.
ssl_txn_idTransaction ID
Unique identifier of the transaction.
Returned only when ccgettoken is requested with ssl_verify = Y.
ssl_txn_timeProcessing Date and Time
Indicates when Converge processed the transaction.
Returned only when ccgettoken is requested with ssl_verify = Y.
Format: MM/DD/YYYY hh:mm:ss AM/PM
Example: 03/18/2010 10:34:10 AM
ssl_salestaxSales Tax
Tax amount added to the purchase or sales amount.
Format: Amount with 2 decimal places.
ssl_approval_codeTransaction Approval Code
Unique code returned by the credit card processor that indicates the approval status of the transaction.
Returned only when ccgettoken is requested with ssl_verify = Y.
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.
ssl_invoice_numberInvoice/Ticket Number
Unique identifier of the invoice or ticket.
ssl_transaction_typeTransaction Type
Value:  gettoken
[Tokenization]Returned only if ssl_add_token = Y.
ssl_tokenToken
Generated from the credit card number.
Returned if the transaction was approved.
Not returned if the transation was failed/rejected.
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
  • Acct Verification Failed
ssl_add_token_responseAdd to Card Manager Outcome
Valid values:
  • Card Added
  • Card Updated
  • Not Permitted
  • FAILURE - First Name - is required
[Address Verification Service]Returned only if ssl_verify = Y.
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 ssl_verify = Y.
ssl_cvv2_responseCard Verification Response Code
Refer to the CVV2/CVC2 Response Codes section for a complete list of CVV/CVC2 response codes.
[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.
[Bin Lookup]Returned only if ssl_bin_lookup = Y.
debitDebit Check
Shows whether the card was a debit card.
Possible Values:
  • Y - Returned if the card is a debit card.
  • N - Returned if the card is not a debit card.

This field is specific to binlookup operations.
surchargeAllowedSurcharge Allowed
Indicates whether a credit surcharge can be applied to this card.
Possible Values:
  • Y - Returned if a credit surcharge can be applied to this card.
  • N - Returned if a credit surcharge cannot be applied to this card.

This field is specific to binlookup operations.
fundingSourceFunding Source
Indicates whether this card is using credit or debit as a funding source.
Possible Values:
  • C - Returned if the card is a credit card.
  • D - Returned if the card is a debit card.

This field is specific to binlookup operations.
pinlessDebitEnabled  Pinless Supported for debit card
Shows whether the debit card supports pinless transactions.
  • Y - Returned if the debit card supports pinless transactions.
  • N - Returned if the debit card doesn’t support pinless transactions.

This field is specific to binlookup operations.  
hsaHealth Savings Account Linked
Shows whether the card is linked to a health savings account.
Possible Values:
  • Y - Returned if the card is linked to a health savings account.
  • N - Returned if the card is not linked to a health savings account.

This field is specific to binlookup operations.
billPaymentSupportBill Payment Support
Shows whether the card supports online bill payment.
Possible Values:
  • Y - Returned if the card supports online bill payment.
  • N - Returned if the card does not support online bill payment.

This field is specific to binlookup operations.
businessCardBusiness Card Support
Shows whether the card supports L2, which includes customer codes and sales tax.
Possible Values:
  • Y - Returned if the card supports L2.
  • N - Returned if the card does not support L2.

This field is specific to binlookup operations.
cardProductTypeCode  Code indicating the card product type.
This field is specific to binlookup operations. 
Country CodeCountry Code
Returns the ISO Country code for the card.
This field is specific to binlookup operations.
dbIntchFraudIndRegulated With Fraud
Indicates whether this card is regulated with fraud.
Possible Values:
  • Y - Returned if the card supports regulated with fraud.
  • N - Returned if the card does not support regulated with fraud.

This field is specific to binlookup operations.
ecommSupportEcommerce Supported
Indicates whether this card supports online, one-off transactions.
Possible Values:
  • Y - Returned if the card supports eCommerce.
  • N - Returned if the card does not support eCommerce.

This field is specific to binlookup operations.
institutionName The issuing bank name for China Union Pay debit cards  
This field is specific to binlookup operations.
internationalSupportInternationalSupport
Indicates whether this card supports international transactions.
Possible Values:
  • Y - Returned if the card supports international transactions.
  • N - Returned if the card does not support international transactions.

This field is specific to binlookup operations.
networkRoutingCodeNetwork Routing Code
Indicates the processor network for a card.
If this result returns Elavon, the card is a credit card. Otherwise, the card will return the debit network the card transaction was routed over.
This field is specific to binlookup operations.
posEligible  Indicates whether the card is eligible for POS
This field is specific to binlookup operations.  
prepaidSupportPrepaid Support
Indicates whether the card is a prepaid card.
Possible Values:
  • Y - Returned if the card is a prepaid card.
  • N - Returned if the card is not a prepaid card.

This field is specific to binlookup operations.
signatureSupportSignature Supported
Indicates whether this card supports debit signature with no PIN.
Possible Values:
  • Y - Returned if the card supports debit signature with no PIN.
  • N - Returned if the card does not support debit signature with no PIN.

This field is specific to binlookup operations.
quickServeSupport  Debit Quick Serve (QSR) indicator without PIN under $50
This field is specific to binlookup operations.  
octeligible  Used to identify if the transaction is eligible for a disbursement as an Original Credit Transaction (OCT). 
Possible Values:
  • Y - Transaction is eligible for OCT Disbursement
  • N - Transaction is NOT eligible for OCT Disbursement

This field is specific to binlookup operations.

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 Token Generation 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_transaction_type>ccgettoken</ssl_transaction_type>
    <ssl_card_number>0000000000000000</ssl_card_number>
    <ssl_exp_date>1222</ssl_exp_date>
    <ssl_avs_address>7300</ssl_avs_address>
    <ssl_avs_zip>12345</ssl_avs_zip>
    <ssl_verify>N</ssl_verify>
</txn>

Response

<txn>
    <ssl_result>0</ssl_result>
    <ssl_token_response>SUCCESS</ssl_token_response>
    <ssl_token>7876275006683003</ssl_token>
</txn>

Token Generation with Card Verification

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>ccgettoken</ssl_transaction_type>
    <ssl_card_number>0000000000000000</ssl_card_number>
    <ssl_exp_date>1222</ssl_exp_date>
    <ssl_avs_address>7300</ssl_avs_address>
    <ssl_avs_zip>12345</ssl_avs_zip>
    <ssl_verify>Y</ssl_verify>
</txn>

Response

<txn>
    <ssl_transaction_type>ccgettoken</ssl_transaction_type>
    <ssl_result>0</ssl_result>
    <ssl_token_response>SUCCESS</ssl_token_response>
    <ssl_token>7876275006683003</ssl_token>
    <ssl_result_message>SUCCESS</ssl_result_message>
    <ssl_avs_response>A<ssl_avs_response>
    <ssl_cvv2_response>M</ssl_cvv2_response>
</txn>

BIN Lookup as a Parameter

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>CCGETTOKEN</ssl_transaction_type>
    <ssl_card_number>my_card_number</ssl_card_number>
    <ssl_exp_date>1222/</ssl_exp_date>
    <ssl_bin_lookup>Y</ssl_bin_lookup>     
</txn>

Response

<txn>
    <ssl_last_name/>
    <Description/>
    <ssl_company/>
    <ssl_phone/>
    <ssl_card_number>47**********1955</ssl_card_number>
    <ssl_result>0</ssl_result>
    <ssl_txn_id/>
    <ssl_avs_response/>
    <ssl_approval_code/>
    <ssl_email/>
    <ssl_avs_zip/>
    <ssl_txn_time>09/02/2021 09:24:56 AM</ssl_txn_time>
    <ssl_exp_date>1222</ssl_exp_date>
    <ssl_card_short_description>VISA</ssl_card_short_description>
    <ssl_address2/>
    <ssl_token_response>SUCCESS</ssl_token_response>
    <custom3/>
    <ssl_credit_surcharge_amount/>
    <custom1/>
    <InvoiceNumber/>
    <custom2/>
    <ssl_customer_code/>
    <ssl_country/>
    <ssl_card_type>CREDITCARD</ssl_card_type>
    <ssl_transaction_type>GETTOKEN</ssl_transaction_type>
    <ssl_salestax/>
    <ssl_avs_address/>
    <ssl_customer_id/>
    <ssl_account_balance>0.00</ssl_account_balance>
    <ssl_state/>
    <old_txn_id/>
    <ssl_city/>
    <ssl_result_message/>
    <Custom_1/>
    <ssl_first_name/>
    <ssl_invoice_number/>
    <ssl_cvv2_response/>
    <ssl_token>7388883093161955</ssl_token> 
    <ssl_bin_lookup_response>SUCCESS</ssl_bin_lookup_response> 
    <debit>Y</debit>
    <surchargeAllowed>N</surchargeAllowed>
    <fundingSource/>
    <pinlessDebitEnabled>N</pinlessDebitEnabled>
    <hsa>N</hsa>
    <billPaymentSupport>N</billPaymentSupport>
    <businessCard>N</businessCard>
    <cardProductTypeCode/>
    <countryCode/>
    <dbIntchFraudInd/>
    <ecommSupport>N</ecommSupport>
    <institutionName/>
    <internationalSupport>N</internationalSupport>
    <networkRoutingCode/>
    <posEligible>N</posEligible>
    <prepaidSupport>N</prepaidSupport>
    <signatureSupport>N</signatureSupport>
    <quickServeSupport>N</quickServeSupport>
    <octeligible/>
</txn>