holmesj30 Posted July 10, 2009 Share Posted July 10, 2009 Hi , I get this error "Credit Card Error: The card entered is being declined. This most often is due to incorrectly entered information. Please try re-entering your information" I have read the entire list of posting here but I find my issue a bit different as I am using the demo site provided by VM at https://demo.myvirtualmerchant.com/VirtualM...Demo/process.do to do the credit card payment processing. I have tried changing the url in the chargeit.php but it does not seem to get to through validation as I have worked with a level 2 tech at VM to no avail. They do not see the transaction getting to their service at all. I checked the payment fields were like the image you posted in page 1, post 14 I checked the system setup had the refferer correctly entered as in page 1, post 16 I installed a clean version of osCommerce then added teh module & follow the directions the only other change was the url for processing. Does this module work with VM demo system or only with VM's production environment? The boss wants to make sure osCommerce will work with VM before committing to using them. Thanks in advance for your help Quote Link to comment Share on other sites More sharing options...
asagb Posted July 24, 2009 Share Posted July 24, 2009 Are there any plans to add support for Recurring Payments in the near future? Does anyone know what parameters need to be send to Virtual Merchant to indicate a recurring payment? Quote Link to comment Share on other sites More sharing options...
cmxsevenfoldxmc Posted July 24, 2009 Share Posted July 24, 2009 Hi there, I installed the Virtual Merchant module a long time ago and the site was receiving orders successfully for a while. Then, I noticed that not all orders placed were going through. I saw that the customers ordering were being charged (as per my bank statement) but I wasn't receiving a PO in my emails and they weren't receiving a confirmation at the end of the order, they would just be sent back to the home page. Any idea why this is happening? Here's my checkout_process.php page just in case anyone would like to help me find the problem: <?php /* $Id: checkout_process.php,v 1.128 2003/05/28 18:00:29 hpdl Exp $ adapted for Separate Pricing Per Customer 2006/09/09 (attribute prices for groups, hide attributes from groups) osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce 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; // check order total minimum if ($order->info['subtotal'] < MIN_ORDER_AMOUNT) { tep_redirect(tep_href_link(FILENAME_SHOPPING_CART, '', 'NONSSL')); } // 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); //kgt - discount coupons if( tep_session_is_registered( 'coupon' ) && is_object( $order->coupon ) ) { $sql_data_array = array( 'coupons_id' => $order->coupon->coupon['coupons_id'], 'orders_id' => $insert_id ); tep_db_perform( TABLE_DISCOUNT_COUPONS_TO_ORDERS, $sql_data_array ); } //end kgt - discount coupons // 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 if (STOCK_LIMITED == 'true') { if (DOWNLOAD_ENABLED == 'true') { $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 $products_attributes = $order->products[$i]['attributes']; 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); } else { $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_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) { $stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty']; } else { $stock_left = $stock_values['products_quantity']; } tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'"); 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']) . "'"); } } } // 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']) . "'"); $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']); 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); // BOF Separate Pricing Per Customer attribute_groups mod if (isset($_SESSION['sppc_customer_group_id']) && $_SESSION['sppc_customer_group_id'] != '0') { $attributes_group_query = tep_db_query("select pag.options_values_price, pag.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa left join " . TABLE_PRODUCTS_ATTRIBUTES_GROUPS . " pag using(products_attributes_id) where pa.products_id = '" . tep_get_prid($order->products[$i]['id']) . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pag.customers_group_id = '" . (int)$_SESSION['sppc_customer_group_id'] . "'"); if ($attributes_group = tep_db_fetch_array($attributes_group_query)) { $attributes_values['options_values_price'] = $attributes_group['options_values_price']; $attributes_values['price_prefix'] = $attributes_group['price_prefix']; } } // EOF Separate Pricing Per Customer attribute_groups mod $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"; } } $new_mail_subject = EMAIL_TEXT_SUBJECT . ' - ' . EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id; tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], $new_mail_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, $new_mail_subject, $email_order, $order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['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'); //kgt - discount coupons tep_session_unregister('coupon'); //end kgt - discount coupons tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Thank you all very much in advance! Quote Link to comment Share on other sites More sharing options...
♥zelf Posted July 29, 2009 Author Share Posted July 29, 2009 Are there any plans to add support for Recurring Payments in the near future?No plans at this point. Does anyone know what parameters need to be send to Virtual Merchant to indicate a recurring payment? Download the Virtual Merchant Developer guide for this one. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
♥zelf Posted July 29, 2009 Author Share Posted July 29, 2009 Does this module work with VM demo system or only with VM's production environment? This module does not work with VM demo system. Why demo VM? Are you wondering if VM can process credit cards? What is the question exactly? If the question is, will it work as well or better than other systems like authorize.net then the answer is yes. As far as will this module work to charge credit cards, the answer is yes and it is being used by many, many people with no hassles. We use this module on our own websites and have perfect confidence in it. For testing the module simply enter live credit cards, which is the best test anyway, and then void them in your VM console. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
♥zelf Posted July 29, 2009 Author Share Posted July 29, 2009 Bump also of note is that amex works, visa doesnt, havent tried mastercard AMEX, Visa, MC, and Discover work perfectly in this module. Would be pretty ridiculous to release a credit card module that did not accept Visa. Something must be wrong with your installation. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
inkman Posted August 1, 2009 Share Posted August 1, 2009 Thanks for the module. I installed and went straight to live to test it out and got this error in my email: Error Message(s): SERV NOT ALLOWED Address Verification Response: CVV2 Verification Response: My Payment Fields in Virtual Merchant look just like yours. Quote Link to comment Share on other sites More sharing options...
Guest Posted August 6, 2009 Share Posted August 6, 2009 I'm using an application called OSDate (http://www.tufat.com/s_free_dating_system.htm). According to http://www.tufat.com/docs/osdate/payments.html, osDate's payment gateway API is nearly identical to osCommerce's payment gateway API. This is because the osCommerce classes were used as a starting point for the osDate API. You can read more about osCommerce at http://www.oscommerce.org. It is an open-source e-commerce system. The idea of an "interface" is that it provides a common set of functions across all possible payment gateways. This interface provides the following functions: pre_confirmation_check() confirmation() process_button() ... and many others ... I had just started writing a very basic interface to Virtual Merchant, only to find your solution as I was troubleshooting a defect. Has anyone used your solution for integration to OSDate? If not, is anyone interested in integrating this module into OSDate for a fee? Depending on the price, it might be worth it to me as I can then focus on other, more pressing bugs and enhancements. (Of course, I would also provide you a free annual Platinum membership to my dating site once it's released within the next month, as well as maybe a few extra memberships to hand out to your friends. :D ) Thanx. - B. Quote Link to comment Share on other sites More sharing options...
Guest Posted August 7, 2009 Share Posted August 7, 2009 (edited) I'm hoping I can get some assistance with this mod on my website. http://budurl.com/ljlb During the checkout screen there aren't any fields for customers to input their billing information, creating an error message to appear. Although I have reviewed this entire thread, I still believe I"m missing something in the installation steps. Help! :blush: Thanks. P.S. My test customer login is: Username: tiffanie@thevirtualprofessionals.com, Password: virtual Here's the error message received (however, there's no place to enter this information): Credit Card Error The first four digits of the number entered are: . If that number is correct, we do not accept that type of credit card. If it is wrong, please try again. Name & Expiration Date Entered:- Expiration Date Entered: / Edited August 7, 2009 by tigress Quote Link to comment Share on other sites More sharing options...
♥zelf Posted August 10, 2009 Author Share Posted August 10, 2009 Error Message(s): SERV NOT ALLOWED This means that the Virtual Merchant processor is receiving an invalid request. You need to check the data being sent to the processor and look for errors in your configuration. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
♥zelf Posted August 10, 2009 Author Share Posted August 10, 2009 Has anyone used your solution for integration to OSDate? I have no idea. is anyone interested in integrating this module into OSDate for a fee? If this osDate is based off of osCommerce then it should integrate like normal, unless there are modifications to the checkout functions. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
♥zelf Posted August 10, 2009 Author Share Posted August 10, 2009 During the checkout screen there aren't any fields for customers to input their billing information I may be misunderstanding here, but billing information is entered when the account is created. Not during the checkout process. However, at the checkout_confirmation.php page they do have the option to click "Edit" on the billing information section. The first four digits of the number entered are: . If that number is correct, we do not accept that type of credit card. If it is wrong, please try again.Name & Expiration Date Entered:- Expiration Date Entered: / Because your error message here does not contain information like exp date, etc it appears you have missed a step or incorrectly performed one of the setup steps. Please include your code for the checkout_payment.php page. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
Guest Posted September 3, 2009 Share Posted September 3, 2009 Great module, been using it all year. What I'd really like to see though, is to have the module remove the CC info from the db (or better yet - never put it in there) to greatly help with PCI compliance. I use another mod now to remove the info manually, but why should it be there in the first place? Thanks and a pat-on-the-back to you. Quote Link to comment Share on other sites More sharing options...
♥zelf Posted September 3, 2009 Author Share Posted September 3, 2009 What I'd really like to see though, is to have the module remove the CC info from the db (or better yet - never put it in there) to greatly help with PCI compliance. This certainly can be done. I will make it an option in the next release. Working on a massive project right now. There are several features offered by Virtual Merchant I would like to add like gift cards, etc, but time is of the essence. Glad it is working for you. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
MrE03 Posted September 16, 2009 Share Posted September 16, 2009 im receving this same error also: Credit Card Error The card entered is being declined. This most often is due to incorrectly entered information. Please try re-entering your information. Name & Expiration Date Entered: xxxxx - Expiration Date Entered: xxxx (MMYY) is this something i will have to call vm to resolve the issue? I'm pretty sure I did everything correctly. Quote Link to comment Share on other sites More sharing options...
♥zelf Posted September 16, 2009 Author Share Posted September 16, 2009 Credit Card Error The card entered is being declined. This most often is due to incorrectly entered information. Please try re-entering your information. Name & Expiration Date Entered: xxxxx - Expiration Date Entered: xxxx (MMYY) is this something i will have to call vm to resolve the issue? I'm pretty sure I did everything correctly. This is not the actual error that VM is returning. You need to post the email errors you are receiving. They should contain (if you are actually connecting to VM) errors VM is returning. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
MrE03 Posted September 16, 2009 Share Posted September 16, 2009 This is not the actual error that VM is returning. You need to post the email errors you are receiving. They should contain (if you are actually connecting to VM) errors VM is returning. whats funny is i actually did enable email errors but im not receiving any emails Quote Link to comment Share on other sites More sharing options...
MrE03 Posted September 21, 2009 Share Posted September 21, 2009 would you happen to know why im not getting the error emails being sent? Quote Link to comment Share on other sites More sharing options...
♥zelf Posted September 22, 2009 Author Share Posted September 22, 2009 would you happen to know why im not getting the error emails being sent? Check your PHP error logs. Look for script errors or server errors. Are your customers receiving order emails? The email error system on ChargeIt uses the same system as the order emails. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
MrE03 Posted September 25, 2009 Share Posted September 25, 2009 Check your PHP error logs. Look for script errors or server errors. Are your customers receiving order emails? The email error system on ChargeIt uses the same system as the order emails. i checked the error log files in the admin i dont know if thats the same thing, but i didnt see any errors resembling anything to do with the credit card process. Customers dont receive order emails, the order doesnt complete Quote Link to comment Share on other sites More sharing options...
♥zelf Posted September 28, 2009 Author Share Posted September 28, 2009 i checked the error log files in the admin i dont know if thats the same thing, but i didnt see any errors resembling anything to do with the credit card process. Customers dont receive order emails, the order doesnt complete Just a general note. This contribution was designed for osCommerce, not oscmax, or any other oscommerce spinoff. If you are using an osC spinoff please do not request support for this contribution when you cannot get it to work. And if you really just need support, mention at the the beginning of the thread that you are using a spinoff that has the osC core modified. And then the answer from me at least will be no support for a non osc core system. Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
Dennisra Posted September 30, 2009 Share Posted September 30, 2009 Zelf: In order to test my installation of this add-on must I have my Merchant User PIN, Virtual Merchant User ID & Virtual Merchant Account ID entered correctly? I tired without them and only got a blank page at confirmation. I have used Elavon and it's predecessors for 20 years and although I have a Merchant ID number I do not believe I was ever issued a Merchant User PIN, Virtual Merchant User ID or Virtual Merchant Account ID. How do you get them? Thanks for any help. Quote Link to comment Share on other sites More sharing options...
♥zelf Posted September 30, 2009 Author Share Posted September 30, 2009 I have a Merchant ID number I do not believe I was ever issued a Merchant User PIN, Virtual Merchant User ID or Virtual Merchant Account ID. How do you get them? In your VM account under terminal settings for a user you will see your PIN, User ID, and Account ID. If you are not able to find them I would just put in a call to tech support and they will help you to track this info down. opus_uno2001 1 Quote Virtual Merchant a.k.a. Elavon, ViaKlix, Nova Payment Module Contribution Link to comment Share on other sites More sharing options...
Dennisra Posted September 30, 2009 Share Posted September 30, 2009 In your VM account under terminal settings for a user you will see your PIN, User ID, and Account ID. If you are not able to find them I would just put in a call to tech support and they will help you to track this info down. Thank you! Quote Link to comment Share on other sites More sharing options...
roopak Posted November 7, 2009 Share Posted November 7, 2009 hi zelf, I mailed you about my problem. my main problem is referrer url the error I got is : Customer ID #7 roopak@igloo360tech.com roopak jha India Error Message(s): 4003. HTTP Referrer Invalid. HTTP POST transactions are not allowed for this HTTP Referrer. Address Verification Response: CVV2 Verification Response: And one more thing: when this function calls i tried to see values of response by adding "print_r($response);die;" but its gives empty array. I am stuck here please help. function cURLDataStream($transaction_data) { // concatenate the submission data and put into variable $data while(list($key, $value) = each($transaction_data)) { $data .= $key . '=' . urlencode(ereg_replace(',', '', $value)) . '&'; } // Remove the last "&" from the string $data = substr($data, 0, -1); unset($response); // Post order info data to Virtual Merchant // Requires cURL must be compiled into PHP $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->virtual_merchant_url); // url set in constructor curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_REFERER, $this->curl_referer); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $authorize = curl_exec($ch); curl_close($ch); $response = explode("\n", $authorize); // explode each line of response into an array print_r($response);die; $this->responseAry = array(); foreach ($response as $line) { $codes = explode('=', $line); list($key, $value) = $codes; $this->responseAry[$key] = $value; } $this->testAry[] = $transaction_data; $this->testAry[] = $authorize; $this->msgResultTests(); // Test the results } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.