Purchase - dbpurchase
This section describes the message parameters for Debit Card Purchase transaction processing, which you can submit using the XML API integration method. Refer to the Integration Methods section for more information.
The dbpurchase
transaction deducts the purchase amount from the debit cardholder‘s checking or savings account, debiting the account immediately.
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: dbpurchase |
ssl_amount 11 | numeric | required | Transaction Amount The base amount that does not include the Cashback or Tip amount. The system computes for the total amount to send for authorization. Format: Number with 2 decimals places |
ssl_cashback_amount 12 | numeric | required | Cashback Amount Amount to pay the cardholder for making a debit purchase transaction. Important: Only applicable to terminals that are set up with the Cashback debit payment option. Format: Number with 2 decimal places |
[Card Data] | |
ssl_track_data 76 | alphanumeric | required | Raw Track I and/or II Data Track data captured from the card's magnetic stripe. The data includes beginning and ending sentinels, card's expiry date, cardholder's first name, and the cardholder's last name. |
ssl_account_type 1 | numeric | required | Bank Deposit Account Type Valid values:
|
[PIN Pad] | Values returned by the PIN Pad device. |
ssl_dukpt 20 | - | required | DUKPT Value used to encrypt the PIN of the cardholder. |
ssl_key_pointer 1 | alphanumeric | required | Triple-DES DUKPT Pointer Indicates the encryption key used on US debit transactions. Valid value: T - Triple-DES DUKPT |
ssl_pin_block 16 | - | required | Encrypted PIN Block The encrypted personal identification number entered by the debit cardholder to authenticate ownership of the card. |
[Tip Processing] | Use only on terminals that are set up with the Market Segment set to Service. |
ssl_tip_amount 11 | numeric | optional | Tip or Gratuity Amount Amount to add or update to the transaction amount. Format: Number with 2 decimals places |
ssl_server 8 | alphanumeric | optional | Server ID Unique identifier of the clerk, waiter, waitress or cashier. |
ssl_shift 4 | alphanumeric | optional | Shift ID Unique identifier of the time period, course or service type. |
[Dynamic DBA] |   |
ssl_dynamic_dba
21 | alphanumeric
|
Dynamic DBA
The dynamic doing business as name for this transaction. Lets a merchant specify, on a per-transaction basis, wording that may be more recognizable or more service-specific to the customer than their usual business name preventing chargebacks. This can prevent chargebacks by preventing users from seeing transactions attached to unrelated names on their payment card statements. |
ssl_dynamic_dba_address
30 | alphanumeric
|
Dynamic DBA Address
The dynamic doing business as street address for this transaction. This value lets a merchant use an alternate address for this transaction. |
ssl_dynamic_dba_auth_type
1 | alphanumeric
|
Merchant ID
The dynamic doing business as authorization type. Valid values:
|
ssl_dynamic_dba_city
13 | alphanumeric
|
Dynamic City Name
The dynamic doing business as city name. This value lets a merchant use an alternate city as part of the address for this transaction |
ssl_dynamic_dba_country
3 | alphanumeric
|
Dynamic Country ISO Code
The dynamic doing business as International Standards Organization country code. This value lets a merchant specify an alternate country as part of the address for this transaction. |
ssl_dynamic_dba_email
70 | alphanumeric
|
Dynamic Email Address
The dynamic doing business as email address. This value lets a merchant specify an alternate email address for this transaction. |
ssl_dynamic_dba_mcc
22 | numeric
|
Dynamic Merchant Category Code
The dynamic doing business as merchant category code. This value lets a merchant specify an alternate merchant category for this transaction. |
ssl_dynamic_dba_phone
20 | alphanumeric
|
Dynamic Phone Number
The dynamic doing business as phone number. This value lets a merchant specify an alternate phone number for this transaction. |
ssl_dynamic_dba_postal
9 | alphanumeric
|
Dynamic Postal or ZIP Code
The dynamic doing business as postal code. This value lets a merchant set an alternate postal code for a transaction. |
ssl_dynamic_dba_state
2 | alphanumeric
|
Dynamic State Code
The dynamic doing business as state code. This value lets a merchant set an alternate state code for a transaction. |
ssl_dynamic_dba_submid
22 | numeric
|
Dynamic Sub-merchant ID
The dynamic doing business as sub merchant ID. This value lets a merchant set an alternate sub-merchant ID for a transaction. |
ssl_dynamic_dba_taxid
14 | alphanumeric
|
Dynamic Merchant Tax ID
The dynamic doing business as Merchant Tax ID. This value lets a merchant set an alternate Tax ID for this transaction. |
Response
ssl_result | Transaction Outcome An ssl_result = 0 indicates an approved transaction.An ssl_result not equal to 0 indicates a declined and unauthorized transaction. |
ssl_result_message | Transaction Result Message Refer to the Debit Card Response Codes section for an extensive list of possible returned messages. |
ssl_txn_id | Transaction ID Unique identifier of the transaction. |
ssl_txn_time | Processing Date and Time Indicates when Converge processed the transaction. 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. |
ssl_reference_number | Transaction Reference Number |
ssl_card_number | Masked Card Number Converge only returns the first 2 or last 4 digits of the regular PAN. |
ssl_exp_date | Card's Expiry Date Returned based on merchant setup. |
ssl_account_type | Bank Deposit Account Type Valid values:
|
ssl_amount | Transaction Amount The total transaction amount that may include the Surcharge or Cashback amount. |
ssl_cashback_amount | Cashback Amount Amount to pay the cardholder for making a debit purchase transaction. Important: Only applicable to terminals that are set up with the Cashback debit payment option. Format: Number with 2 decimal places |
ssl_surcharge_amount | Surcharge Amount The fee that the merchant charges for the transaction as a cost for doing business. Important: Only applicable to terminals that are set up with the Surcharge debit payment option. Format: Number with 2 decimal places |
ssl_email | Email Address The cardholder's or customer's email address. Returned based on merchant setup. |
ssl_promo_list | Promotion List This contains a list of all promo products; the data for each promo product will be nested and embedded between beginning and ending elements <ssl_promo_product> up to 5 promo products. Each promo product ssl_promo_product will contain ssl_promo_code , ssl_promo_code_name , ssl_promo_code_description , and ssl_promo_code_issue_points . |
[Tip Processing] | Returned only if Tip parameters are sent in the request. |
ssl_base_amount | Base Amount Original transaction amount sent in the request. Returned based on the terminal setup. |
ssl_tip_amount | Tip Amount Added or updated tip or gratuity amount. Returned based on the terminal setup. |
ssl_server | Server ID Server identifier sent in the request. Returned based on the terminal setup. |
ssl_shift | Shift Shift information sent in the request. Returned based on the terminal setup. |
[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. |
Integration with Loyalty Program Transactions
The Debit Card Purchase transaction can integrate the processing of the following Loyalty Program transactions:
- Lead Inquiry
- Member Inquiry
- Enrollment
Transaction Processing
These steps outline the process of integrating the Lead Inquiry, Member Inquiry, and Enrollment transactions with the Debit Card Purchase transaction.
- The integrated application sends the payment card to Converge.
- Converge sends a Lead Inquiry (
ltleadinquiry
) transaction to Elavon's loyalty program to verify the payment card's enrollment status.Refer to the Lead Inquiry transaction for information about the appropriate request parameters.
- Converge receives a response from the Elavon loyalty program.
If the Elavon loyalty program recognizes the payment card as a member, it checks for rewards and sends the rewards information (
ssl_promo_list
) with the new discounted amount (ssl_tender_amount
).If the Elavon loyalty program recognized the payment card as not a member, it sends a Join Offer message in the response.
- Converge sends the Elavon loyalty program response to the integrated application.
If the payment card is a member, the integrated application can authorize the Debit Card Purchase transaction using the rewards information and new discounted amount. At this point, the Debit Card Purchase and Loyalty Program transactions are complete.
If the payment card is not a member, the integration application prompts (
ssl_loyalty_prompt
) the cardholder to not enroll, confirm their membership, or enroll. - The cardholder selects an option from the prompt displayed by the integrated application.
If the cardholder selects to not enroll, the integrated application proceeds with the authorization of the Debit Card Purchase's original transaction amount. At this point, the Debit Card Purchase and Loyalty Program transactions are complete.
If the cardholder confirms their membership, the integrated application sends a Member Inquiry (
ltmemberinquiry
) transaction. Refer to the Member Inquiry transaction for information about the appropriate request parameters. - If the integration application sent a Member Inquiry transaction and the Elavon loyalty program recognizes the payment card as a member, it checks for rewards and sends the rewards information (
ssl_promo_list
) with the new discounted amount (ssl_tender_amount
). The integrated application can then authorize the Debit Card Purchase transaction using the rewards information and new discounted amount. At this point, the Debit Card Purchase and Loyalty Program transactions are complete.If the integrated application sent an Enrollment transaction and the cardholder uses the payment card to enroll, the integrated application sends the Debit Card Purchase transaction with the cardholder's phone number (
ssl_phone
) and Enrollment Indicator (ssl_enrollment
) (obtained from theltenrollment
transaction), and promotional codes from theltleadinquiry
response. The payment card is charged with purchase amount and enrolled in the loyalty program with a phone number. At this point, the Debit Card Purchase and Loyalty Program transactions are complete.If the integrated application sent an Enrollment transaction and the cardholder uses only their phone number to enroll or a new loyalty card is issued, the Elavon loyalty program enrolls the loyalty card and checks for rewards and responds with the rewards information and new discounted amount. The integrated application can authorize the Debit Card Purchase transaction using the rewards information and new discounted amount. At this point, the Debit Card Purchase and Loyalty Program transactions are complete.