Credit Card Credit - cccredit

important

Elavon advises against using Credit Card Credit to issue refunds.

Refunds issued with cccredit can exceed the amount of the original transaction and bears an increased risk for fraud and chargebacks.

If possible, we recommend using Credit Card Return to handle your refunds. ccreturn caps the total possible refunds on each transaction at the original amount and prevents even refunds from exceeding that amount.

The cccredit transaction is used to issue a return (refund) to a cardholder’s credit card using full card number.

In this section:

For the entire list of API endpoints, refer to API Endpoints.

Request

Field nameDescriptionRequiredLengthData type
ssl_transaction_typeTransaction Type
Valid value:  cccredit
Required20alphanumeric
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_enc_track_dataEncrypted Raw Track I and/or II Data
Encrypted Track I and/or II data captured from the card’s magnetic stripe or an encrypting device. The data includes beginning and ending sentinels, card’s expiry date, cardholder’s first and last name.
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 submitting ssl_enc_track_data in the transaction request.
Conditional20alphanumeric
ssl_card_numberCard Number
Unique card identification number.
Card length:
  • 18 - Gift Card
  • 19 - Credit Card
Conditional18 or 19numeric
ssl_exp_dateCard’s Expiry Date
Date when the card becomes invalid.
Format: MMYY
Required if ssl_card_number is not null.
Conditional4numeric
ssl_card_presentCard 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.
Optional1alphanumeric
ssl_amountTransaction Amount to be refunded. For those terminals processing Multi-Currency, be sure to submit the correct number of decimal places for the transaction as some currencies have no exponents and some can have three.
Format: Number with 2 decimal places
Required11numeric
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
Only applicable to terminals that are set up with the Travel Data credit payment option.
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
Only applicable to terminals that are set up with the Travel Data credit payment option.
Optional10alphanumeric
ssl_transaction_currencyTransaction Currency
The currency ISO code that the merchant applies to their goods or services.
Default: USD or CAD
Important: Only applicable to terminals that are set up with the Multi Currency credit payment option.
Optional3alphanumeric
ssl_get_tokenGenerate Token Indicator
Indicates whether to generate a token when submitting the card data.
Valid values:
  • Y - Generate token
  • N - Do not generate token (Default)

Only applicable to terminals that are set up with the Tokenization terminal option.
Optional1alphanumeric
ssl_add_tokenAdd to Card Manager Indicator
Indicates whether to generate and store the token in Card Manager.
Valid values:
  • Y - Generate and store token
  • N - Do not store token (Default)

Only applicable to terminals that are set up with the Tokenization terminal option.
Optional1alphanumeric
[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)
Important: DBA Prefix must be set using DBA Payment Fields Settings UI if ssl_dynamic_dba is used.
Example: MANYMAG*BAKERS MONTHLY
Conditional21alphanumeric
ssl_dynamic_dba_addressDynamic DBA Address
The dynamic doing business as street address for this transaction.
This value allows a merchant use an alternate address for this transaction.
Optional30alphanumeric
ssl_dynamic_dba_auth_typeMerchant ID
The dynamic doing business as authorization type.
Valid values:
  • F - Final
  • P - Pre-authorize
Optional1alphanumeric
ssl_dynamic_dba_cityDynamic City Name
This value allows a merchant use an alternate city as part of the address for this transaction
Optional13alphanumeric
ssl_dynamic_dba_countryDynamic Country ISO Code
This value allows a merchant specify an alternate country as part of the address for this transaction.
Optional3alphanumeric
ssl_dynamic_dba_emailDynamic Email Address
This value allows a merchant specify an alternate email address for this transaction.
Optional70alphanumeric
ssl_dynamic_dba_mccDynamic Merchant Category Code
This value allows a merchant specify an alternate merchant category for this transaction.
Optional22numeric
ssl_dynamic_dba_phoneDynamic Phone Number
This value allows a merchant specify an alternate phone number for this transaction.
Optional20alphanumeric
ssl_dynamic_dba_postalDynamic Postal or ZIP Code
This value allows a merchant set an alternate postal code for a transaction.
Optional9alphanumeric
ssl_dynamic_dba_stateDynamic State Code
This value allows a merchant set an alternate state code for a transaction.
Optional2alphanumeric
ssl_dynamic_dba_submidDynamic Sub-merchant ID
This value allows a merchant set an alternate sub-merchant ID for a transaction.
Optional22numeric
ssl_dynamic_dba_taxidDynamic Merchant Tax ID
This value allows a merchant set an alternate Tax ID for this transaction.
Optional14alphanumeric

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/2022 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
Returned based on merchant setup.
ssl_card_short_descriptionShort Card Brand Name
Valid values:  AMEX, CUP, DISC, MC, PP, and VISA
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_emailEmail Address
The cardholder’s or customer’s email address. Returned based on merchant setup.
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.
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
[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.
[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_conversion_rateConversion Rate
Exchange rate applied to the conversion of ssl_amount.
ssl_cardholder_amountCardholder Amount
Total amount in the cardholder’s billing currency.
[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.

Example

important

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

Request

The following example demonstrates the xml code for a credit card return transaction for $10.00 where the merchant collects all the data from the consumer:

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>cccredit</ssl_transaction_type>
    <ssl_card_number>4111111111111111</ssl_card_number>
    <ssl_exp_date>12/22</ssl_exp_date>
    <ssl_amount>25.00</ssl_amount>
    <ssl_avs_address>first street</ssl_avs_address>
    <ssl_avs_zip>95391</ssl_avs_zip>
</txn>

Response

This is the response for a credit card return approved transaction for $10.00:

<txn>   
    <ssl_card_number>41**********1111</ssl_card_number>
    <ssl_departure_date></ssl_departure_date>
    <ssl_result>0</ssl_result>
    <ssl_txn_id>220422E3B-466F21DA-D167-470B-A8A5-A82EFBF9DBC0</ssl_txn_id>
    <ssl_avs_response> </ssl_avs_response>
    <ssl_approval_code>482444</ssl_approval_code>
    <ssl_amount>25.00</ssl_amount>
    <ssl_transaction_currency>CAD</ssl_transaction_currency>
    <ssl_txn_time>04/22/2022 05:28:36 PM</ssl_txn_time>
    <ssl_exp_date>1222</ssl_exp_date>
    <ssl_card_short_description>VISA</ssl_card_short_description>
    <ssl_completion_date></ssl_completion_date>
    <ssl_customer_code></ssl_customer_code>
    <ssl_card_type>CREDITCARD</ssl_card_type>
    <ssl_transaction_type>RETURN</ssl_transaction_type>
    <ssl_salestax>0.00</ssl_salestax>
    <ssl_account_balance>0.00</ssl_account_balance>
    <ssl_result_message>APPROVAL</ssl_result_message>
    <ssl_invoice_number></ssl_invoice_number>
    <ssl_cvv2_response></ssl_cvv2_response>
    <ssl_partner_app_id>01</ssl_partner_app_id>
</txn>