E-xact Knowledge Base

HOWTO: Integrate Hosted Checkout with ZenCart

  1. Download the file attached to this article that corresponds to your ZenCart version (1.3.8a or 1.3.9d)
  2. Rename it as authorizenet_sim.php
  3. Use the renamed file from step 2 to replace this file: ./includes/modules/payment/authorizenet.php
  4. Log in to your ZenCart administration panel
  5. Click on Modules -> Payment
  6. Select Authorize.net (SIM) (install it if it's not already installed)
  7. Configure as in the screenshot below
  8. Press update to complete the configuration


Note: There is no Silent Post handler in the ZenCart source code so this receipting option is not available to customers using Hosted Checkout with a ZenCart shopping cart. Developers would need to build a customized handler to use this feature or use a different method (i.e. Relay Response or Receipt Link).

IF a customized handler for Silent Post is built it is important to not set the Silent Post URL as the checkout process URL. This could result in the display of a non-receipt being  at the end of a payment.

For example, if there are multiple connections for the same payment session sending transaction result data to the checkout process URL, the first will be processed and redirected to the proper receipt page while the subsequent one(s) will not. This is because the payment session has been completed by that first connection. The order of data sent from Silent Post/Receipt Link/Relay Response/REDI to the checkout process handler is not guaranteed. Therefore, while the Silent Post connection may receive the proper receipt page the user could still be redirected to the default main or session expired page.

Default Hosted Receipt

Shopping Cart

  1. Using a text editor open, "[installation root]/includes/modules/payment/authorizenet.php"
  2. Find the line: "var $exact_mode;"
  3. Change it to: "var $exact_mode = self::hosted;"

Payment request will include:

    * x_receipt_link_url set to checkout process URL
    * x_receipt_link_method set to POST

HCO Payment Page

Uncheck the "Allow Relay Response' option.

Sample Request Parameters (Version 1.3.8a)

x_login = WSP-E-XAC-8-47
x_amount = 32.49
x_version = 3.0
x_method = CC
x_type = auth_capture
x_cust_ID = 2
x_email_customer = TRUE
x_company =
x_first_name = Jane
x_last_name = Zencart
x_address = 1234 First St
x_city = Vancouver
x_state = British Columbia
x_zip = V3X 7R8
x_country = Canada
x_phone = (604) 123 1233
x_fax =
x_email = test@sample.com
x_ship_to_company =
x_ship_to_first_name = Jane
x_ship_to_last_name = Zencart
x_ship_to_address = 1234 First St
x_ship_to_city = Vancouver
x_ship_to_state = British Columbia
x_ship_to_zip = V3X 7R8
x_ship_to_country = Canada
x_Customer_IP = 10.70.20.106
x_relay_form = TRUE
x_invoice_num =
x_description = Website Purchase from Zen Cart Test
x_duplicate_window = 120
x_fp_sequence = 578
x_fp_timestamp = 1271353448
x_fp_hash = b3c0e8402228fb6e6cdbf4957a1ee757
x_show_form = PAYMENT_FORM
x_receipt_link_method = POST
x_receipt_link_text = Click here to complete your order.
x_receipt_link_url = http://10.70.20.123/zencart/index.php?main_page=checkout_process
x_Test_Request = TRUE
zenid = o9pfgch349otvnuc722gu627o5

Sample Request Parameters (Version 1.3.9d)

x_login = WSP-E-XAC-80-765
x_amount = 25.00
x_version = 3.1
x_method = CC
x_type = AUTH_ONLY
x_cust_ID = 2
x_email_customer = FALSE
x_company =
x_first_name = Jane
x_last_name = Zencart
x_address = 1234 Maple Drive
x_city = Vancouver
x_state = British Columbia
x_zip = V5N C3D
x_country = Canada
x_phone = 16041231234
x_fax =
x_email = test@sample.com
x_ship_to_company =
x_ship_to_first_name = Jane
x_ship_to_last_name = Zencart
x_ship_to_address = 1234 Maple Drive
x_ship_to_city = Vancouver
x_ship_to_state = British Columbia
x_ship_to_zip = V5N C3D
x_ship_to_country = Canada
x_Customer_IP = 10.70.20.50
x_relay_response = TRUE
x_invoice_num =
x_duplicate_window = 120
x_allow_partial_Auth = FALSE
x_description = Website Purchase from Zen Cart Test 139d
x_fp_sequence = 239
x_fp_timestamp = 1277425023
x_fp_hash = 4e520a8595ffc644f3cc913e015c1f4b
x_show_form = PAYMENT_FORM
x_receipt_link_method = POST
x_receipt_link_text = Click here to complete your order.
x_receipt_link_url = http://lin2.vc.e-xact.com:8888/zencart-139d/index.php?main_page=checkout_process
x_Test_Request = TRUE
zenid = s5bu4af6bnkrrplt2778rdui54


Relay Response


The option, "Pass HTTP Redirects to the Customer's Browser" can be enabled since Zen Cart's checkout process handler returns a redirect (HTTP Status 302) to the destination page. The destination page is,  "[base URL]/index.php?main_page=checkout_success" for a successful payment and, "[base URL]/index.php?main_page=checkout_payment" for a failed payment.
Shopping Cart

  1. Using a text editor open, "[installation root]/includes/modules/payment/authorizenet.php"
  2. Find the line: "var $exact_mode;"
  3. Change it to: "var $exact_mode = self::relay;"
Payment request will include:
  •     x_relay_url set to checkout process URL
HCO Payment Page
  1. Check "Allow Relay Response"
  2. Set "Relay Response URL" to the checkout process URL
Sample Request Parameters (Version 1.3.8a)

x_login = WSP-E-XAC-8-47
x_amount = 57.49
x_version = 3.0
x_method = CC
x_type = auth_capture
x_cust_ID = 2
x_email_customer = TRUE
x_company =
x_first_name = Jane
x_last_name = Zencart
x_address = 1234 First St
x_city = Vancouver
x_state = British Columbia
x_zip = V3X 7R8
x_country = Canada
x_phone = (604) 123 1233
x_fax =
x_email = test@sample.com
x_ship_to_company =
x_ship_to_first_name = Jane
x_ship_to_last_name = Zencart
x_ship_to_address = 1234 First St
x_ship_to_city = Vancouver
x_ship_to_state = British Columbia
x_ship_to_zip = V3X 7R8
x_ship_to_country = Canada
x_Customer_IP = 10.70.20.106
x_relay_form = TRUE
x_relay_URL = http://10.70.20.123/zencart/index.php?main_page=checkout_process
x_invoice_num =
x_description = Website Purchase from Zen Cart Test
x_duplicate_window = 120
x_fp_sequence = 210
x_fp_timestamp = 1271354206
x_fp_hash = d9f697d58a6cb7e22ea2c8d7d571bc1e
x_show_form = PAYMENT_FORM
x_receipt_link_method = POST
x_receipt_link_text = Click here to complete your order.
x_receipt_link_url = http://10.70.20.123/zencart/index.php?main_page=checkout_process
x_Test_Request = TRUE
zenid = o9pfgch349otvnuc722gu627o5

Sample Request Parameters (Version 1.3.9d)

x_login = WSP-E-XAC-80-765
x_amount = 32.50
x_version = 3.1
x_method = CC
x_type = AUTH_ONLY
x_cust_ID = 2
x_email_customer = FALSE
x_company =
x_first_name = Jane
x_last_name = Zencart
x_address = 1234 Maple Drive
x_city = Vancouver
x_state = British Columbia
x_zip = V5N C3D
x_country = Canada
x_phone = 16041231234
x_fax =
x_email = test@sample.com
x_ship_to_company =
x_ship_to_first_name = Jane
x_ship_to_last_name = Zencart
x_ship_to_address = 1234 Maple Drive
x_ship_to_city = Vancouver
x_ship_to_state = British Columbia
x_ship_to_zip = V5N C3D
x_ship_to_country = Canada
x_Customer_IP = 10.70.20.50
x_relay_response = TRUE
x_relay_URL = http://lin2.vc.e-xact.com:8888/zencart-139d/index.php?main_page=checkout_process
x_invoice_num =
x_duplicate_window = 120
x_allow_partial_Auth = FALSE
x_description = Website Purchase from Zen Cart Test 139d
x_fp_sequence = 421
x_fp_timestamp = 1277422325
x_fp_hash = 2813a3cbcdac02b7a2416e482059129b
x_show_form = PAYMENT_FORM
x_receipt_link_method = POST
x_receipt_link_text = Click here to complete your order.
x_receipt_link_url = http://lin2.vc.e-xact.com:8888/zencart-139d/index.php?main_page=checkout_process
x_Test_Request = TRUE
zenid = l3n0iqq5mle8ogu09ltugsv637


REDI  


Shopping Cart

  1. Using a text editor open, "[installation root]/includes/modules/payment/authorizenet.php"
  2. Find this line: "var $exact_mode;"
  3. Change it to: "var $exact_mode = self::redir;"
Payment request will include:
  •     x_receipt_link_url set to checkout process URL
  •     x_receipt_link_method set to REDI

HCO Payment Page
  1. Set "Maximum Number of Payment Attempts" to 1 (recommended)
Sample Request Parameters (Version 1.3.8a)

x_login = WSP-E-XAC-8-47
x_amount = 32.50
x_version = 3.0
x_method = CC
x_type = auth_capture
x_cust_ID = 2
x_email_customer = TRUE
x_company =
x_first_name = Jane
x_last_name = Zencart
x_address = 1234 First St
x_city = Vancouver
x_state = British Columbia
x_zip = V3X 7R8
x_country = Canada
x_phone = (604) 123 1233
x_fax =
x_email = test@sample.com
x_ship_to_company =
x_ship_to_first_name = Jane
x_ship_to_last_name = Zencart
x_ship_to_address = 1234 First St
x_ship_to_city = Vancouver
x_ship_to_state = British Columbia
x_ship_to_zip = V3X 7R8
x_ship_to_country = Canada
x_Customer_IP = 10.70.20.106
x_relay_form = TRUE
x_invoice_num =
x_description = Website Purchase from Zen Cart Test
x_duplicate_window = 120
x_fp_sequence = 978
x_fp_timestamp = 1271354677
x_fp_hash = ee569d037cb7a986dfbafbab81768a5b
x_show_form = PAYMENT_FORM
x_receipt_link_method = REDI
x_receipt_link_text = Click here to complete your order.
x_receipt_link_url = http://10.70.20.123/zencart/index.php?main_page=checkout_process
x_Test_Request = TRUE
zenid = o9pfgch349otvnuc722gu627o5

Sample Request Parameters (Version 1.3.9d)

x_login = WSP-E-XAC-80-765
x_amount = 89.99
x_version = 3.1
x_method = CC
x_type = AUTH_ONLY
x_cust_ID = 2
x_email_customer = FALSE
x_company =
x_first_name = Jane
x_last_name = Zencart
x_address = 1234 Maple Drive
x_city = Vancouver
x_state = British Columbia
x_zip = V5N C3D
x_country = Canada
x_phone = 16041231234
x_fax =
x_email = test@sample.com
x_ship_to_company =
x_ship_to_first_name =
x_ship_to_last_name =
x_ship_to_address =
x_ship_to_city =
x_ship_to_state =
x_ship_to_zip =
x_ship_to_country =
x_Customer_IP = 10.70.20.50
x_relay_response = TRUE
x_invoice_num =
x_duplicate_window = 120
x_allow_partial_Auth = FALSE
x_description = Website Purchase from Zen Cart Test 139d
x_fp_sequence = 913
x_fp_timestamp = 1277424959
x_fp_hash = e89c92d341e329c767d30bfd868f8234
x_show_form = PAYMENT_FORM
x_receipt_link_method = REDI
x_receipt_link_text = Click here to complete your order.
x_receipt_link_url = http://lin2.vc.e-xact.com:8888/zencart-139d/index.php?main_page=checkout_process
x_Test_Request = TRUE
zenid = s5bu4af6bnkrrplt2778rdui54



Article Details

Last Updated
13th of July, 2010

Would you like to...

Print this page Print this page

Email this page Email this page

Post a comment Post a comment

Subscribe me

Add to favorites Add to favorites

Remove Highlighting Remove Highlighting

Edit this Article

Quick Edit

Export to PDF

User Opinions (0 votes)

No users have voted.

How would you rate this answer?



Thank you for rating this answer.

Continue