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

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
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.
Conditional20alphanumeric
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.
Conditional30alphanumeric
[Card Data]Use the appropriate card data parameters for the transaction.
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_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 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.
Conditional-alphanumeric
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.
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)
- 04 - Proximity/Contactless
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 generate and store the token in Card Manager.
Valid values:
- Y - Authorize transaction, generate and store token
- N - Do not store token (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_resultTransaction Outcome
An ssl_result = 0 indicates a generated token.
An ssl_result = 1 indicates that a token was not generated.
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_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.
[Tokenization]Returned only if ssl_add_token = Y.
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
- 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.

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

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