snubbr.com

Secure(Verisign SSL): No, Error Number: 0x800CCCF4?

Get a Verisign SSL certificate for 30 days FREE. Click here to use coupon...

Get a free trial of Verisign SSL certificates. Click here for this special deal...
Got a quick question: Secure(Verisign SSL): No, Error Number: 0x800CCCF4? Hoping for any answer. Another question... I have a big problem. After my customers place an order and click confirm, their credit cards are charged but my web Verisign site doesn't confirm their order. It kicks them back to the payment information page without any type of successful order confirmation. This leaves my customers re-entering their credit cards and going through the whole process again which charges their card again.

They would get a "congratuations, your order is being processed" message and it would empty their cart. Has somthing changed recently..

Thank you for your help..

Hookamo..

Comments (128)

I'm stumped. I'm not so sure what is the answer to that question. I'll do some poking around and get back to you if I find an good answer. You should email the people at Verisign as they probably could give you an answer..

Comment #1

Yes, the orders are making it into my order database. I had one lady enter her credit card 4x because when she clicked confirm, she was sent back to the payment information page. Her order made it into my order database 4x and her credit card was charged 4x. Clicking confirm use to give my customers a "successful order" message and their carts would empty. That doesn't happen any more. The change I have made since last december was loading the stat-tracker.php..

Please help...

Comment #2

Sorry, busy day. Please post your checkout_process.php page or PM it to me and I will take a look...

Comment #3

Here is my Checkout_process php..

Thanks for the help..

<?php.

/*.

QT Pro Version 4.1 modifications.

Copyright © 2004, 2005 Ralph Day.

Released under the GNU General Public License.

Based on prior works released under the GNU General Public License:.

QT Pro prior versions.

Ralph Day, October 2004.

Tom Wojcik aka TomThumb 2004/07/03 based on work by Michael Coffman aka coffman.

FREEZEHELL - 08/11/2003.

Copyright © 2003 IBWO.

Released under the GNU General Public License.

*/.

Include('includes/application_top.php');.

// if the customer is not logged on, redirect them to the login page.

If (!tep_session_is_registered('customer_id')) {.

$navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));.

Tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));.

}.

If (!tep_session_is_registered('sendto')) {.

Tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));.

}.

If ( (tep_not_null(MODULE_PAYMENT_INSTALLED)) && (!tep_session_is_registered('payment')) ) {.

Tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));.

}.

// avoid hack attempts during the checkout procedure by checking the internal cartID.

If (isset($cart->cartID) && tep_session_is_registered('cartID')) {.

If ($cart->cartID != $cartID) {.

Tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));.

}.

}.

Include(DIR_WS_LANGUAGES$language'/'FILENAME_CHECKOUT_PROCESS);.

// load selected payment module.

Require(DIR_WS_CLASSES'payment.php');.

$payment_modules = new payment($payment);.

// load the selected shipping module.

Require(DIR_WS_CLASSES'shipping.php');.

$shipping_modules = new shipping($shipping);.

Require(DIR_WS_CLASSES'order.php');.

$order = new order;.

// load the before_process function from the payment modules.

$payment_modules->before_process();.

Require(DIR_WS_CLASSES'order_total.php');.

$order_total_modules = new order_total;.

$order_totals = $order_total_modules->process();.

$sql_data_array = array('customers_id' => $customer_id,.

'customers_name' => $order->customer['firstname']' '$order->customer['lastname'],.

'customers_company' => $order->customer['company'],.

'customers_street_address' => $order->customer['street_address'],.

'customers_suburb' => $order->customer['suburb'],.

'customers_city' => $order->customer['city'],.

'customers_postcode' => $order->customer['postcode'],.

'customers_state' => $order->customer['state'],.

'customers_country' => $order->customer['country']['title'],.

'customers_telephone' => $order->customer['telephone'],.

'customers_email_address' => $order->customer['email_address'],.

'customers_address_format_id' => $order->customer['format_id'],.

'delivery_name' => $order->delivery['firstname']' '$order->delivery['lastname'],.

'delivery_company' => $order->delivery['company'],.

'delivery_street_address' => $order->delivery['street_address'],.

'delivery_suburb' => $order->delivery['suburb'],.

'delivery_city' => $order->delivery['city'],.

'delivery_postcode' => $order->delivery['postcode'],.

'delivery_state' => $order->delivery['state'],.

'delivery_country' => $order->delivery['country']['title'],.

'delivery_address_format_id' => $order->delivery['format_id'],.

'billing_name' => $order->billing['firstname']' '$order->billing['lastname'],.

'billing_company' => $order->billing['company'],.

'billing_street_address' => $order->billing['street_address'],.

'billing_suburb' => $order->billing['suburb'],.

'billing_city' => $order->billing['city'],.

'billing_postcode' => $order->billing['postcode'],.

'billing_state' => $order->billing['state'],.

'billing_country' => $order->billing['country']['title'],.

'billing_address_format_id' => $order->billing['format_id'],.

'payment_method' => $order->info['payment_method'],.

'cc_type' => $order->info['cc_type'],.

'cc_owner' => $order->info['cc_owner'],.

'cc_number' => $order->info['cc_number'],.

'cc_expires' => $order->info['cc_expires'],.

'date_purchased' => 'now()',.

'orders_status' => $order->info['order_status'],.

'currency' => $order->info['currency'],.

'currency_value' => $order->info['currency_value']);.

Tep_db_perform(TABLE_ORDERS, $sql_data_array);.

$insert_id = tep_db_insert_id();.

For ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {.

$sql_data_array = array('orders_id' => $insert_id,.

'title' => $order_totals[$i]['title'],.

'text' => $order_totals[$i]['text'],.

'value' => $order_totals[$i]['value'],.

'class' => $order_totals[$i]['code'],.

'sort_order' => $order_totals[$i]['sort_order']);.

Tep_db_perform(TABLE_ORDERS_TOTAL, $sql_data_array);.

}.

$customer_notification = (SEND_EMAILS == 'true') ? '1' : '0';.

$sql_data_array = array('orders_id' => $insert_id,.

'orders_status_id' => $order->info['order_status'],.

'date_added' => 'now()',.

'customer_notified' => $customer_notification,.

'comments' => $order->info['comments']);.

Tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);.

// initialized for the email confirmation.

$products_ordered = '';.

$subtotal = 0;.

$total_tax = 0;.

For ($i=0, $n=sizeof($order->products); $i<$n; $i++) {.

// Stock Update - Joao Correia.

//++++ QT Pro: Begin Changed code.

$products_stock_attributes=null;.

If (STOCK_LIMITED == 'true') {.

$products_attributes = $order->products[$i]['attributes'];.

// if (DOWNLOAD_ENABLED == 'true') {.

//++++ QT Pro: End Changed Code.

$stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename.

FROM "TABLE_PRODUCTS" p.

LEFT JOIN "TABLE_PRODUCTS_ATTRIBUTES" pa.

ON p.products_id=pa.products_id.

LEFT JOIN "TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD" pad.

ON pa.products_attributes_id=pad.products_attributes_id.

WHERE p.products_id = '"tep_get_prid($order->products[$i]['id'])"'";.

// Will work with only one option for downloadable products.

// otherwise, we have to build the query dynamically with a loop.

//++++ QT Pro: Begin Changed code.

// $products_attributes = $order->products[$i]['attributes'];.

//++++ QT Pro: End Changed Code.

If (is_array($products_attributes)) {.

$stock_query_raw .= " AND pa.options_id = '"$products_attributes[0]['option_id']"' AND pa.options_values_id = '"$products_attributes[0]['value_id']"'";.

}.

$stock_query = tep_db_query($stock_query_raw);.

If (tep_db_num_rows($stock_query) > 0) {.

$stock_values = tep_db_fetch_array($stock_query);.

//++++ QT Pro: Begin Changed code.

$actual_stock_bought = $order->products[$i]['qty'];.

$download_selected = false;.

If ((DOWNLOAD_ENABLED == 'true') && isset($stock_values['products_attributes_filename']) && tep_not_null($stock_values['products_attributes_filename'])) {.

$download_selected = true;.

$products_stock_attributes='$$DOWNLOAD$$';.

}.

// If not downloadable and attributes present, adjust attribute stock.

If (!$download_selected && is_array($products_attributes)) {.

$all_nonstocked = true;.

$products_stock_attributes_array = array();.

Foreach ($products_attributes as $attribute) {.

//**si** 14-11-05 fix missing att list.

// if ($attribute['track_stock'] == 1) {.

// $products_stock_attributes_array[] = $attribute['option_id']"-"$attribute['value_id'];.

$products_stock_attributes_array[] = $attribute['option_id']"-"$attribute['value_id'];.

If ($attribute['track_stock'] == 1) {.

//**si** 14-11-05 end.

$all_nonstocked = false;.

}.

}.

If ($all_nonstocked) {.

$actual_stock_bought = $order->products[$i]['qty'];.

//**si** 14-11-05 fix missing att list.

Asort($products_stock_attributes_array, SORT_NUMERIC);.

$products_stock_attributes = implode(",", $products_stock_attributes_array);.

//**si** 14-11-05 end.

} else {.

Asort($products_stock_attributes_array, SORT_NUMERIC);.

$products_stock_attributes = implode(",", $products_stock_attributes_array);.

$attributes_stock_query = tep_db_query("select products_stock_quantity from "TABLE_PRODUCTS_STOCK" where products_stock_attributes = '$products_stock_attributes' AND products_id = '"tep_get_prid($order->products[$i]['id'])"'");.

If (tep_db_num_rows($attributes_stock_query) > 0) {.

$attributes_stock_values = tep_db_fetch_array($attributes_stock_query);.

$attributes_stock_left = $attributes_stock_values['products_stock_quantity'] - $order->products[$i]['qty'];.

Tep_db_query("update "TABLE_PRODUCTS_STOCK" set products_stock_quantity = '"$attributes_stock_left"' where products_stock_attributes = '$products_stock_attributes' AND products_id = '"tep_get_prid($order->products[$i]['id'])"'");.

$actual_stock_bought = ($attributes_stock_left < 1) ? $attributes_stock_values['products_stock_quantity'] : $order->products[$i]['qty'];.

} else {.

$attributes_stock_left = 0 - $order->products[$i]['qty'];.

Tep_db_query("insert into "TABLE_PRODUCTS_STOCK" (products_id, products_stock_attributes, products_stock_quantity) values ('"tep_get_prid($order->products[$i]['id'])"', '"$products_stock_attributes"', '"$attributes_stock_left"')");.

$actual_stock_bought = 0;.

}.

}.

}.

// $stock_query = tep_db_query("select products_quantity from "TABLE_PRODUCTS" where products_id = '"tep_get_prid($order->products[$i]['id'])"'");.

// }.

// if (tep_db_num_rows($stock_query) > 0) {.

// $stock_values = tep_db_fetch_array($stock_query);.

// do not decrement quantities if products_attributes_filename exists.

If (!$download_selected) {.

$stock_left = $stock_values['products_quantity'] - $actual_stock_bought;.

Tep_db_query("UPDATE "TABLE_PRODUCTS".

SET products_quantity = products_quantity - '"$actual_stock_bought"'.

WHERE products_id = '"tep_get_prid($order->products[$i]['id'])"'");.

//++++ QT Pro: End Changed Code.

If ( ($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false') ) {.

Tep_db_query("update "TABLE_PRODUCTS" set products_status = '0' where products_id = '"tep_get_prid($order->products[$i]['id'])"'");.

}.

}.

}.

//++++ QT Pro: Begin Changed code.

}.

//**si** 14-11-05 fix missing att list.

Else {.

If ( is_array($order->products[$i]['attributes']) ) {.

$products_stock_attributes_array = array();.

Foreach ($order->products[$i]['attributes'] as $attribute) {.

$products_stock_attributes_array[] = $attribute['option_id']"-"$attribute['value_id'];.

}.

Asort($products_stock_attributes_array, SORT_NUMERIC);.

$products_stock_attributes = implode(",", $products_stock_attributes_array);.

}.

}.

//**si** 14-11-05 end.

//++++ QT Pro: End Changed Code.

// Update products_ordered (for bestsellers list).

Tep_db_query("update "TABLE_PRODUCTS" set products_ordered = products_ordered + "sprintf('%d', $order->products[$i]['qty'])" where products_id = '"tep_get_prid($order->products[$i]['id'])"'");.

//++++ QT Pro: Begin Changed code.

If (!isset($products_stock_attributes)) $products_stock_attributes=null;.

$sql_data_array = array('orders_id' => $insert_id,.

'products_id' => tep_get_prid($order->products[$i]['id']),.

'products_model' => $order->products[$i]['model'],.

'products_name' => $order->products[$i]['name'],.

'products_price' => $order->products[$i]['price'],.

'final_price' => $order->products[$i]['final_price'],.

'products_tax' => $order->products[$i]['tax'],.

'products_quantity' => $order->products[$i]['qty'],.

'products_stock_attributes' => $products_stock_attributes);.

//++++ QT Pro: End Changed Code.

Tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array);.

$order_products_id = tep_db_insert_id();.

//insert customer choosen option to order.

$attributes_exist = '0';.

$products_ordered_attributes = '';.

If (isset($order->products[$i]['attributes'])) {.

$attributes_exist = '1';.

For ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {.

If (DOWNLOAD_ENABLED == 'true') {.

$attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename.

From "TABLE_PRODUCTS_OPTIONS" popt, "TABLE_PRODUCTS_OPTIONS_VALUES" poval, "TABLE_PRODUCTS_ATTRIBUTES" pa.

Left join "TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD" pad.

On pa.products_attributes_id=pad.products_attributes_id.

Where pa.products_id = '"$order->products[$i]['id']"'.

And pa.options_id = '"$order->products[$i]['attributes'][$j]['option_id']"'.

And pa.options_id = popt.products_options_id.

And pa.options_values_id = '"$order->products[$i]['attributes'][$j]['value_id']"'.

And pa.options_values_id = poval.products_options_values_id.

And popt.language_id = '"$languages_id"'.

And poval.language_id = '"$languages_id"'";.

$attributes = tep_db_query($attributes_query);.

} else {.

$attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from "TABLE_PRODUCTS_OPTIONS" popt, "TABLE_PRODUCTS_OPTIONS_VALUES" poval, "TABLE_PRODUCTS_ATTRIBUTES" pa where pa.products_id = '"$order->products[$i]['id']"' and pa.options_id = '"$order->products[$i]['attributes'][$j]['option_id']"' and pa.options_id = popt.products_options_id and pa.options_values_id = '"$order->products[$i]['attributes'][$j]['value_id']"' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '"$languages_id"' and poval.language_id = '"$languages_id"'");.

}.

$attributes_values = tep_db_fetch_array($attributes);.

$sql_data_array = array('orders_id' => $insert_id,.

'orders_products_id' => $order_products_id,.

'products_options' => $attributes_values['products_options_name'],.

'products_options_values' => $attributes_values['products_options_values_name'],.

'options_values_price' => $attributes_values['options_values_price'],.

'price_prefix' => $attributes_values['price_prefix']);.

Tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array);.

If ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename'])) {.

$sql_data_array = array('orders_id' => $insert_id,.

'orders_products_id' => $order_products_id,.

'orders_products_filename' => $attributes_values['products_attributes_filename'],.

'download_maxdays' => $attributes_values['products_attributes_maxdays'],.

'download_count' => $attributes_values['products_attributes_maxcount']);.

Tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array);.

}.

$products_ordered_attributes .= "\n\t"$attributes_values['products_options_name']' '$attributes_values['products_options_values_name'];.

}.

}.

//insert customer choosen option eof.

$total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']);.

$total_tax += tep_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty'];.

$total_cost += $total_products_price;.

$products_ordered .= $order->products[$i]['qty']' x '$order->products[$i]['name']' ('$order->products[$i]['model']') = '$currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty'])$products_ordered_attributes"\n";.

}.

// lets start with the email confirmation.

$email_order = STORE_NAME"\n" ..

EMAIL_SEPARATOR"\n" ..

EMAIL_TEXT_ORDER_NUMBER' '$insert_id"\n" ..

EMAIL_TEXT_INVOICE_URL' 'tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id='$insert_id, 'SSL', false)"\n" ..

EMAIL_TEXT_DATE_ORDERED' 'strftime(DATE_FORMAT_LONG)"\n\n";.

If ($order->info['comments']) {.

$email_order .= tep_db_output($order->info['comments'])"\n\n";.

}.

$email_order .= EMAIL_TEXT_PRODUCTS"\n" ..

EMAIL_SEPARATOR"\n" ..

$products_ordered ..

EMAIL_SEPARATOR"\n";.

For ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {.

$email_order .= strip_tags($order_totals[$i]['title'])' 'strip_tags($order_totals[$i]['text'])"\n";.

}.

If ($order->content_type != 'virtual') {.

$email_order .= "\n"EMAIL_TEXT_DELIVERY_ADDRESS"\n" ..

EMAIL_SEPARATOR"\n" ..

Tep_address_label($customer_id, $sendto, 0, '', "\n")"\n";.

}.

$email_order .= "\n"EMAIL_TEXT_BILLING_ADDRESS"\n" ..

EMAIL_SEPARATOR"\n" ..

Tep_address_label($customer_id, $billto, 0, '', "\n")"\n\n";.

If (is_object($$payment)) {.

$email_order .= EMAIL_TEXT_PAYMENT_METHOD"\n" ..

EMAIL_SEPARATOR"\n";.

$payment_class = $$payment;.

$email_order .= $payment_class->title"\n\n";.

If ($payment_class->email_footer) {.

$email_order .= $payment_class->email_footer"\n\n";.

}.

}.

Tep_mail($order->customer['firstname']' '$order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);.

// send emails to other people.

If (SEND_EXTRA_ORDER_EMAILS_TO != '') {.

Tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);.

}.

// load the after_process function from the payment modules.

$payment_modules->after_process();.

$cart->reset(true);.

// unregister session variables used during checkout.

Tep_session_unregister('sendto');.

Tep_session_unregister('billto');.

Tep_session_unregister('shipping');.

Tep_session_unregister('payment');.

Tep_session_unregister('comments');.

Tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL'));.

Require(DIR_WS_INCLUDES'application_bottom.php');.

?>..

Comment #4

Did you ever get this figured out???? I am having the same problem..

Joe..

Comment #5

I still haven't figured this out. I think this has stumped everyone. 400 plus views and no solutions. Let me know if you figure anything out and I will do the same...

Comment #6

I realized my issue is different and I figured mine out. It had to do with the ssl server. I chose to disable it and not use it. I would think that if your store worked fine for 3 months and you didn't change anything, then it would have to be with your Verisign hosting company. They had to of made a change. Check there.

That is assuming you did make backups..

Joe..

Comment #7

I have exactly the same problem here and don't know how to resolve it. Althrough, I have this error in the bottom of the page:.

Fatal error: Maximum execution time of 30 seconds exceeded in D:\LocalUser\dcplus\includes\functions\database.php on line 44..

Comment #8

Fatal error: Maximum execution time of 30 seconds exceeded in D:\LocalUser\dcplus\includes\functions\database.php on line 44 is a server related error and You need to chase Your Verisign hosting company and ask them to provide a more stable environment..

Satish..

Comment #9

The problem happen only when I log on. If I'm only a visitor, I don't have that problem..

Also, I solved my checkout_process by removing WOnline contrib....

Http://addons.oscommerce.com/info/943.

This post has been edited by.

DuFF1.

: 12 January 2009, 06:04..

Comment #10

Maybe the page can't be found because ssl is not configured correctly, or it maybe in your configure.php files that ssl is not defined correctly...

Comment #11

I removed the add-on.

Visitor Web Stats.

Http://addons.oscommerce.com/info/4067.

Loading completly at the end of footer.php and everything seem to be correct now. This contrib seem to take a bunch of time to load so the page take long time to completly load and caused problem with checkout if pressing the next step before the page completly load...

Comment #12

I have a big problem. After my customers place an order and click confirm, their credit cards are charged but my web Verisign site doesn't confirm their order. It kicks them back to the payment information page without any type of successful order confirmation. This leaves my customers re-entering their credit cards and going through the whole process again which charges their card again. Three months ago this was not happening. They would get a "congratuations, your order is being processed" message and it would empty their cart.



Thank you for your help..

Hookamo..

Comment #13

That should be a rhetorical question. lol. Have you made any changes recently?.

The issue seems to be somewhere on checkout_process.php. Is the order making it into the order database?..

Comment #14


This question was taken from a support group/message board and re-posted here so others can learn from it.

 

Categories: Home | Diet & Weight Management | Vitamins & Supplements | Herbs & Cleansing |

Sexual Health | Medifast Support | Nutrisystem Support | Medifast Questions |

Web Hosting | Web Hosts | Website Hosting | Hosting |

Web Hosting | GoDaddy | Digital Cameras | Best WebHosts |

Web Hosting FAQ | Web Hosts FAQ | Hosting FAQ | Hosting Group |

Hosting Questions | Camera Tips | Best Cameras To Buy | Best Cameras This Year |

Camera Q-A | Digital Cameras Q-A | Camera Forum | Nov 2010 - Cameras |

Oct 2010 - Cameras | Oct 2010 - DSLRs | Oct 2010 - Camera Tips | Sep 2010 - Cameras |

Sep 2010 - DSLRS | Sep 2010 - Camera Tips | Aug 2010 - Cameras | Aug 2010 - DSLR Tips |

Aug 2010 - Camera Tips | July 2010 - Cameras | July 2010 - Nikon Cameras | July 2010 - Canon Cameras |

July 2010 - Pentax Cameras | Medifast Recipes | Medifast Recipes Tips | Medifast Recipes Strategies |

Medifast Recipes Experiences | Medifast Recipes Group | Medifast Recipes Forum | Medifast Support Strategies |

Medifast Support Experiences |

 

(C) Copyright 2010 All rights reserved.