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:

Request

ssl_merchant_id
15 | numeric | required
Merchant ID
Elavon-assigned Converge account ID.
ssl_user_id
15 | alphanumeric | required
Converge User ID
The user ID with Hosted Payment API User status that can send transaction requests through the terminal.
ssl_pin
64 | alphanumeric | required
Terminal ID
Unique identifier of the terminal that will process the transaction request and submit to the Converge gateway.
Important: The ssl_user_id sending the transaction request must be associated with the terminal that will process the request.
ssl_transaction_type
20 | alphanumeric | required
Transaction Type
Value: ccgettoken
ssl_verify
1 | alphanumeric | optional
Account 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
ssl_first_name
20 | alphanumeric | conditional
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_last_name
30 | alphanumeric | conditional
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.
[Card Data]
Use the appropriate card data parameters for the transaction.
ssl_card_number
18 | numeric | conditional
Card Number
Card Number as it appears on the credit card.
Important: Required for hand-keyed transactions.
ssl_exp_date
4 | numeric | conditional
Card'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
ssl_exclude_account_update
1 | Boolean | optional
Exclude Account Update

A request with this field set to Y will not pass a token to the account updater.

ssl_card_present
1 | alphanumeric | optional
Card Present Indicator
Indicates whether the card is physically present during the transaction.
Valid values:
  • Y - Card present
  • N - Card not present
Recommended for hand-keyed transactions.
ssl_recurring_id
50 | alphanumeric | conditional
Recurring ID
Unique identifier of the recurring or installment record to be submitted for payment.
Important: Required for existing recurring or installment transactions.
ssl_enc_track_data
160 | alphanumeric | conditional
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 name, and the cardholder's last name.
ssl_enc_track_data_format
- | - | conditional
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
Important: Required if card is read from a ROAM device.
ssl_encrypted_track1_data
160 | alphanumeric | conditional
Encrypted 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 the cardholder's last name.
Important: Required for swiped and contactless transactions.
ssl_encrypted_track2_data
160 | alphanumeric | conditional
Encrypted Raw Track II Data
Encrypted Track II data captured from the card's magnetic stripe when using a MagTek encrypting device.
ssl_ksn
20 | alphanumeric | conditional
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.
Important: Required if using ssl_enc_track_data, ssl_encrypted_track1_data or ssl_encrypted_track2_data.
ssl_vm_mobile_source
- | alphanumeric | conditional
Mobile Source
Valid values:
  • BBERRY - BlackBerry Mobile Device
  • ADROID - Android Mobile Device
  • ITUNES - Apple Mobile Device
  • WIN8 - Windows WIN8-based Device
  • NOMOB - Non-mobile Device
Important: Required for encrypting devices.
ssl_vendor_id
8 | alphanumeric | conditional
Vendor ID
Unique vendor identifier assigned by Elavon.
Important: Required for encrypting devices.
ssl_mobile_id
50 | alphanumeric | conditional
Mobile ID
Unique assigned mobile identification number of each mobile device in use as determined by the merchant.
Important: Optional for encrypting devices.
ssl_pos_mode
2 | numeric | optional
POS 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
ssl_entry_mode
2 | numeric | optional
Transaction 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
[Tokenization]
Use only on terminals that are set up with the Tokenization   terminal option.
ssl_add_token
1 | alphanumeric | optional
Add 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)
[Address Verification Service]
 
ssl_avs_address
30 | alphanumeric | required
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.
ssl_avs_zip
9 | alphanumeric | required
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.
[Card Verification]
Use only on terminals that are set up with the CVV2, CVC2, CID   credit card payment option.
ssl_cvv2cvc2
4 | numeric | optional
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.
ssl_cvv2cvc2_indicator
1 | numeric | optional
Card 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

Response

ssl_result
 
Transaction Outcome
An ssl_result = 0 indicates a generated token.
An ssl_result = 1 indicates that a token was not generated.
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_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.
[Tokenization]
Returned only if ssl_add_token = Y.
ssl_token
 
Token
Generated from the credit card number.
ssl_token_response
 
Token Generation Outcome
A value of SUCCESS indicates Converge generted the token. Other values returned are FAILURE, Action Not Permitted, Invalid Token, Not Permitted, and Acct Verification Failed.
ssl_add_token_response
 
Add to Card Manager Outcome
Valid values are Card Added, Card Updated, Not Permitted, and FAILURE - First Name - is requried.
[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.

Examples

error_outline
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

<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

<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>