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 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 Value: ccgettoken | Required | 20 | alphanumeric |
ssl_verify | Account Verification Indicator Indicates whether the Converge needs to verify the account before generating a token. Valid values:
| Optional | 1 | alphanumeric |
ssl_first_name | First 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. | Conditional | 50 | alphanumeric |
ssl_last_name | Last 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. | Conditional | 50 | alphanumeric |
[Card Data] | Use the appropriate card data parameters for the transaction. | |||
ssl_bin_lookup | To access Bank Identification Number (BIN) of a card Valid values:
| Required | 1 | alpha |
ssl_card_number | Card Number Card Number as it appears on the credit card. Important: Required for hand-keyed transactions. | Conditional | 18 | numeric |
ssl_exp_date | Card’s Expiry Date Date when the card becomes invalid. Important:
| Conditional | 4 | numeric |
ssl_exclude_account_update | Exclude Account Update A request with this field set to Y will not pass a token to the account updater. | Optional | 1 | Boolean |
ssl_card_present | Card Present Indicator Indicates whether the card is physically present during the transaction. Recommended for hand-keyed transactions. Valid values:
| Optional | 1 | alphanumeric |
ssl_recurring_id | Recurring ID Unique identifier of the recurring or installment record to be submitted for payment. Required for existing recurring or installment transactions. | Conditional | 50 | alphanumeric |
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 Ingenico encrypting device. The data includes beginning and ending sentinels, card’s expiry date, cardholder’s first and last name. | Conditional | 160 | alphanumeric |
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_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 if using ssl_enc_track_data . | Conditional | 20 | alphanumeric |
ssl_vm_mobile_source | Mobile Source Valid values:
| Conditional | - | alphanumeric |
ssl_vendor_id | Vendor ID Unique vendor identifier assigned by Elavon. Required for encrypting devices and certification. | Conditional | 8 | alphanumeric |
ssl_mobile_id | Mobile ID Unique assigned mobile identification number of each mobile device in use as determined by the merchant. Optional for encrypting devices. | Conditional | 50 | alphanumeric |
ssl_pos_mode | POS Device Data Entry Capability Indicates how the POS device captures card data. Valid values:
| Optional | 2 | numeric |
ssl_entry_mode | Transaction Entry Indicator Indicates how the track data was captured. Valid values:
| Optional | 2 | numeric |
[Tokenization] | Use only on terminals that are set up with the Tokenization terminal option. | |||
ssl_add_token | Add to Card Manager Indicator Indicates whether to add the token and the cardholder details to Card Manager. Valid values:
| Optional | 1 | alphanumeric |
[Address Verification Service] | ||||
ssl_avs_address | Address 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. | Required | 30 | alphanumeric |
ssl_avs_zip | Postal 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. | Required | 9 | alphanumeric |
[Card Verification] | Use only on terminals that are set up with the CVV2, CVC2, CID credit card payment option. | |||
ssl_cvv2cvc2 | Card 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. | Optional | 4 | numeric |
ssl_cvv2cvc2_indicator | Card Verification Value / Card Validation Code Indicator Indicates the status of the card security code or number during the transaction. Valid values:
| Optional | 1 | numeric |
Response
Field name | Description |
---|---|
ssl_account_balance | Account Balance Available balance on the card. |
ssl_address2 | Address Line 2 Apartment or condominium unit number and floor number on the cardholder’s or customer’s account or billing address. |
ssl_bin_lookup_response | Response for the bin lookup A value of SUCCESS indicates that the bin lookup has been performed. Other values returned are:
|
ssl_company | Company Name Company name on the cardholder’s / customer’s account or billing address. |
ssl_card_short_description | Short Card Brand Name Valid values: AMEX , CUP , DISC , MC , PP , and VISA . |
ssl_card_type | Payment Type Valid value: CREDITCARD |
ssl_credit_surcharge_amount | Credit Surcharge Amount The amount in USD added to ssl_amount as a surcharge. |
ssl_customer_id | Customer ID Merchant-defined unique customer identifier. |
ssl_exp_date | Card’s Expiry Date Returned based on merchant setup. |
ssl_last_name | Last Name Last name on the cardholder’s / customer’s account or billing address. |
ssl_phone | Phone Phone number on the cardholder’s / customer’s account or billing address. Important: Accepts dashes. |
ssl_result | Transaction Outcome An ssl_result = 0 indicates a generated token.An ssl_result = 1 indicates that a token was not generated. |
ssl_state | State Code State or province code on the cardholder’s / customer’s account or billing address. |
ssl_email | Email Address The cardholder’s or customer’s email address. Returned based on merchant setup. |
ssl_avs_zip | Postal 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_code | Customer Code or Purchase Order Number Customer ID or PO number specified in the billing statement of the cardholder. |
ssl_country | Country ISO Code Country ISO code on the cardholder’s / customer’s account or billing address. Returned based on merchant setup. |
ssl_card_type | Card Type Payment method to use for the transaction. Valid values: CREDITCARD , DEBITCARD , FOODSTAMP , CASHBENEFIT , ELECTRONICCHECK , GIFTCARD , CASH |
ssl_first_name | First 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_message | Account 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_id | Transaction ID Unique identifier of the transaction. Returned only when ccgettoken is requested with ssl_verify = Y. |
ssl_txn_time | Processing 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_salestax | Sales Tax Tax amount added to the purchase or sales amount. Format: Amount with 2 decimal places. |
ssl_approval_code | Transaction 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_address | Address 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_number | Invoice/Ticket Number Unique identifier of the invoice or ticket. |
ssl_transaction_type | Transaction Type Value: gettoken |
[Tokenization] | Returned only if ssl_add_token = Y. |
ssl_token | Token Generated from the credit card number. Returned if the transaction was approved. Not returned if the transation was failed/rejected. |
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:
|
ssl_add_token_response | Add to Card Manager Outcome Valid values:
|
[Address Verification Service] | Returned only if ssl_verify = Y. |
ssl_avs_response | Address 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_response | Card 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. |
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. |
[Bin Lookup] | Returned only if ssl_bin_lookup = Y. |
debit | Debit Check Shows whether the card was a debit card. Possible Values:
This field is specific to binlookup operations. |
surchargeAllowed | Surcharge Allowed Indicates whether a credit surcharge can be applied to this card. Possible Values:
This field is specific to binlookup operations. |
fundingSource | Funding Source Indicates whether this card is using credit or debit as a funding source. Possible Values:
This field is specific to binlookup operations. |
pinlessDebitEnabled | Pinless Supported for debit card Shows whether the debit card supports pinless transactions.
This field is specific to binlookup operations. |
hsa | Health Savings Account Linked Shows whether the card is linked to a health savings account. Possible Values:
This field is specific to binlookup operations. |
billPaymentSupport | Bill Payment Support Shows whether the card supports online bill payment. Possible Values:
This field is specific to binlookup operations. |
businessCard | Business Card Support Shows whether the card supports L2, which includes customer codes and sales tax. Possible Values:
This field is specific to binlookup operations. |
cardProductTypeCode | Code indicating the card product type. This field is specific to binlookup operations. |
Country Code | Country Code Returns the ISO Country code for the card. This field is specific to binlookup operations. |
dbIntchFraudInd | Regulated With Fraud Indicates whether this card is regulated with fraud. Possible Values:
This field is specific to binlookup operations. |
ecommSupport | Ecommerce Supported Indicates whether this card supports online, one-off transactions. Possible Values:
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. |
internationalSupport | InternationalSupport Indicates whether this card supports international transactions. Possible Values:
This field is specific to binlookup operations. |
networkRoutingCode | Network 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. |
prepaidSupport | Prepaid Support Indicates whether the card is a prepaid card. Possible Values:
This field is specific to binlookup operations. |
signatureSupport | Signature Supported Indicates whether this card supports debit signature with no PIN. Possible Values:
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:
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>