Jump to content

ATVUtah

Members
  • Content count

    54
  • Joined

  • Last visited

  1. ATVUtah

    Official PayPal IPN Support Thread

    I have a question to do with the product inventory update portion of this module. As I understood Terra to say, and someone correct me if I'm wrong, this PayPal IPN Module does NOT update the product inventory or products sold list until after the payment is completed. I remember reading that when deleting unpaid orders showing "Preparing [PayPal IPN]", after waiting a day or so, not to check the box that says "Restock product quantity" because the product was never actualy removed from the inventory count. So my Question is: If a customer places an order and for what ever reason he cant get PayPal to process the payment, then calls me with a credit card number and pays for the order; If I go to the order details and update it's status from "Preparing [PayPal IPN]" to Pending, Processing, or any other status, is the inventory count updated for the products? Or will I need to manualy update the inventory count?
  2. ATVUtah

    Official PayPal IPN Support Thread

    It just means that for one reason or another the IPN (instant payment notification) from PayPal did not get back to your clients server when the payment was completed. Remember this is the Internet and stuff vanishes all the time. That's why most systems have a verification process to be sure a message was sent and received. In this particular case that doesn't happen. I see this occasionally in my store. As previously stated your client should be comparing his PayPal account with his orders just to make sure things are not missed.
  3. ATVUtah

    Official PayPal IPN Support Thread

    I know for a fact my following question has been discussed but with over 173 pages of discussion of this module I'll be danged if I can find it. When my customers want to order and item and have it shipped to a different address than the Credit Card Billing address, PayPal (or the IPN module) is putting their shipping address in the "Billing address section" of the payment form (on PayPals site) and will not let the customer select another address, change the one on the form, or add a "shipping address" As I said I remember a discussion on how to allow them to use a billing and a ship to address but can't find it. Also before anyone jumps in about the PayPal rules on "confirmed" address, etc... I am fully aware of them and I accept the risk of shipping to an address other than the credit card billing confirmed address as this has never been an issue with the products I sell. Q: Where do I set the variable to allow the customer to have a shipping address and a billing address?
  4. ATVUtah

    Official PayPal IPN Support Thread

    OK ignore my ramblings :'( it would appear USPS was having difficulties and only returning one postage rate/option and that was Express mail. :blush: The paypal_ipn is now working awesome. :thumbsup:
  5. ATVUtah

    Official PayPal IPN Support Thread

    After installing paypal_ipn.php,v 2.3.3.0 11/17/2007 I also just discovered the original "Free Shipping For Orders Over a set amount" in the "Order Total Modules" no longer functions properly. I made no changes to that section either. It appears to be adding in the Express mail shipping charges before deciding if "free Shipping" should apply to the order. I am now wondering if the new paypal_ipn.php,v 2.3.3.0 11/17/2007 is compatible with the older version of USPS Shipping Methods I have installed which fetches the postage rates. (usps.php,v 1.47 2003/04/08) Does anyone know if there are any compatibility issues with these two modules? (paypal_ipn and usps.php)
  6. ATVUtah

    Official PayPal IPN Support Thread

    I seem to be having an issue with the US Postal shipping charges calculations after installing paypal_ipn.php,v 2.3.3.0 11/17/2007. Postage was working OK with a previous 1.x version and I've changed nothing with the shipping or postage sections of the shopping cart. Problem: The customer chooses US Priority mail in the "Shipping Method" section, then chooses PayPal as the payment option on the next page. But when they are then moved to the "Order Confirmation" page the total now shows the much higher "Express" mail postage and charges, not the choice they made. No matter what postage option they chose before.
  7. ATVUtah

    Official PayPal IPN Support Thread

    Backup and start from the beggining of Terras install guide in the latest version of this contrib download. You have missed a step or not uploaded a nessesary something.
  8. ATVUtah

    Official PayPal IPN Support Thread

    In the Admin section of OSC yes.
  9. ATVUtah

    Official PayPal IPN Support Thread

    Oh now come on Terra women are supposed to be able to multitask.... men only have one track minds. :-" Now back to the problems at hand. I am going to move a copy of my shop to a new server and break everything most likely. Any good plans on how to do this? Also Terra can you email me the debug file you created for the IPN module?
  10. ATVUtah

    Official PayPal IPN Support Thread

    The address they check for the eligibility is the one the customer enters as "His Billing address" on the credit card form. It has nothing to do with what OSC passes to PayPal. In fact last time I heard this module cant automatically pass the address to PayPal. I discovered if you want to use PayPal's shipping label system, and be sure to ship to a verified address, because your not getting a "shipping address" from the buyer at PayPal, change the line at or about 328 in catalog/includes/modules/payment/paypal_ipn.php from $parameters['no_shipping'] = '1'; To $parameters['no_shipping'] = '2'; This will force the buyer re-enter their shipping address at the PayPal website. With the parameter set at 1 it is optional and NO ONE fills out optional information anymore. I've had maybe 2 customers complain it's a pain for the them to have to enter an address again, but it is just another way to confirm they are who they claim to be and provides the needed shipping address information that unfortunately the osCommerce PayPal IPN Module does not send to PayPal. One thread here said it was because of a security issue. I don't know if that's fact or fiction. But this fixed my issues with both the "confirmed address" and shipping label system not getting an address I could use. Also in your PayPal profile you need to set the don't accept payments without a confirmed address option or you can still get some payments that are ineligible.
  11. ATVUtah

    Official PayPal IPN Support Thread

    Seller protection is based on your account standings and the information provided by the customer about their billing and credit card address. It is not tied to the OSC module in any way that I know of. If you accept payments from buyers with "unconfirmed" addresses, or have had a certain number of complaints and a few other reasons you will see your not eligible. :( Myself I have my account to not accept payments from buyers without a "confirmed adderess" and only ship to their "confirmed adderess". I had to tweek the IPN module to pass the peramiter that insists the buyer give a shipping address as well as a billing address on Paypal (they only enter it once if it's the same). Seller Protection Policy -------------------------------------------------------------------------------- What does it mean if a transaction is Seller Protection Policy eligible? If a transaction is Seller Protection Policy eligible, you will be protected from chargebacks due to fraud when you follow these guidelines: Have a Verified Business or Premier account Ship to the address on the Transaction Details page Provide timely shipment Retain reasonable proof of delivery that can be tracked online Ship tangible goods What does it mean if a transaction is Seller Protection Policy ineligible? If a transaction is ineligible for coverage under the Seller Protection Policy, PayPal is unable to offer protection against fraudulent chargebacks. In such cases, we advise that you ship to the buyer's Confirmed Address whenever possible. Shipping to a buyer's Confirmed Address helps ensure that you are shipping to the person who set up the PayPal account. It is important to note, though, that users in some countries and regions do not have the ability to confirm their addresses. When a user is unable to provide a Confirmed Address, you may want to take special care when shipping packages by obtaining proof of delivery or tracking information. Confirmed Addresses -------------------------------------------------------------------------------- What is a Confirmed Address? A buyer's Confirmed Address is checked against the credit card billing address maintained by his or her credit card company. How is address confirmation useful? Address confirmation is useful because it provides a way for a seller to verify a buyer's identity. Shipment to a confirmed address, however, is not a requirement for coverage under the Seller Protection Policy since not all PayPal users are able to confirm their addresses. If a transaction is eligible for coverage under the Seller Protection Policy, a seller must ship to the address found on the Transaction Details page (regardless of whether that address is confirmed or not). For transactions that are ineligible for coverage under the Seller Protection Policy, we recommend that a seller ships to a buyer's Confirmed Address. What is an Unconfirmed Address? An Unconfirmed Address is any address which is not associated with a credit card or which has not been verified by PayPal. Most non-U.S. addresses cannot be confirmed at this time because many international credit card platforms do not support methods to do so.
  12. ATVUtah

    Official PayPal IPN Support Thread

    Terra here is the code from /catalog/includes/modules/payment/paypal_ipn.php (function before_process()) begins at line 416 in my file. The other bug besides the email problem is that orders processed by the PayPal IPN module doesnt update the inventory. Check or money order orders work perfectly so I'm fairly certain the database is ok. I'm suspecting it's all related somehow. Orders are taken and added to the database payments are registered and the order status changes to "pending" but then the emails blow up and the stocks not updated so I cant use the reorder or most reports :( By the way register_globals is on on my server. The PayPal profile setting are all basically set to the defaults except I add the sales tax there and I have my banner on the payment pages. function before_process() { global $customer_id, $order, $sendto, $billto, $payment, $languages_id, $currencies, $cart, $cart_PayPal_IPN_ID; global $$payment; include(DIR_WS_CLASSES . 'order_total.php'); $order_total_modules = new order_total; $order_totals = $order_total_modules->process(); $order_id = substr($cart_PayPal_IPN_ID, strpos($cart_PayPal_IPN_ID, '-')+1); $sql_data_array = array('orders_id' => $order_id, 'orders_status_id' => $order->info['order_status'], 'date_added' => 'now()', 'customer_notified' => (SEND_EMAILS == 'true') ? '1' : '0', '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 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']) . "'"); //------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); $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 . ' ' . $order_id . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $order_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 $this->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_session_unregister('cart_PayPal_IPN_ID'); tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL')); } function after_process() { return false; } function output_error() { return false; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PAYPAL_IPN_STATUS'"); $this->_check = tep_db_num_rows($check_query); } return $this->_check; } function install() { $check_query = tep_db_query("select orders_status_id from " . TABLE_ORDERS_STATUS . " where orders_status_name = 'Preparing [PayPal IPN]' limit 1"); if (tep_db_num_rows($check_query) < 1) { $status_query = tep_db_query("select max(orders_status_id) as status_id from " . TABLE_ORDERS_STATUS); $status = tep_db_fetch_array($status_query); $status_id = $status['status_id']+1; $languages = tep_get_languages(); foreach ($languages as $lang) { tep_db_query("insert into " . TABLE_ORDERS_STATUS . " (orders_status_id, language_id, orders_status_name) values ('" . $status_id . "', '" . $lang['id'] . "', 'Preparing [PayPal IPN]')"); } } else { $check = tep_db_fetch_array($check_query); $status_id = $check['orders_status_id']; } tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable PayPal IPN Module', 'MODULE_PAYMENT_PAYPAL_IPN_STATUS', 'False', 'Do you want to accept PayPal IPN payments?', '6', '3', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('E-Mail Address', 'MODULE_PAYMENT_PAYPAL_IPN_ID', '', 'The e-mail address to use for the PayPal IPN service', '6', '4', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Transaction Currency', 'MODULE_PAYMENT_PAYPAL_IPN_CURRENCY', 'Selected Currency', 'The currency to use for transactions', '6', '6', 'tep_cfg_select_option(array(\'Selected Currency\',\'Only USD\',\'Only CAD\',\'Only EUR\',\'Only GBP\',\'Only JPY\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_PAYPAL_IPN_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_PAYPAL_IPN_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Preparing Order Status', 'MODULE_PAYMENT_PAYPAL_IPN_PREPARE_ORDER_STATUS_ID', '" . $status_id . "', 'Set the status of prepared orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set PayPal Acknowledged Order Status', 'MODULE_PAYMENT_PAYPAL_IPN_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Transaction Type', 'MODULE_PAYMENT_PAYPAL_IPN_TRANSACTION_TYPE', 'Per Item', 'Send individual items to PayPal or aggregate all as one total item?', '6', '6', 'tep_cfg_select_option(array(\'Per Item\',\'Aggregate\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Gateway Server', 'MODULE_PAYMENT_PAYPAL_IPN_GATEWAY_SERVER', 'Testing', 'Use the testing (sandbox) or live gateway server for transactions?', '6', '6', 'tep_cfg_select_option(array(\'Testing\',\'Live\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Page Style', 'MODULE_PAYMENT_PAYPAL_IPN_PAGE_STYLE', '', 'The page style to use for the transaction procedure (defined at your PayPal Profile page)', '6', '4', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Debug E-Mail Address', 'MODULE_PAYMENT_PAYPAL_IPN_DEBUG_EMAIL', '', 'All parameters of an Invalid IPN notification will be sent to this email address if one is entered.', '6', '4', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Encrypted Web Payments', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_STATUS', 'False', 'Do you want to enable Encrypted Web Payments?', '6', '3', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Your Private Key', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_PRIVATE_KEY', '', 'The location of your Private Key to use for signing the data. (*.pem)', '6', '4', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Your Public Certificate', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_PUBLIC_KEY', '', 'The location of your Public Certificate to use for signing the data. (*.pem)', '6', '4', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('PayPals Public Certificate', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_PAYPAL_KEY', '', 'The location of the PayPal Public Certificate for encrypting the data.', '6', '4', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Your PayPal Public Certificate ID', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_CERT_ID', '', 'The Certificate ID to use from your PayPal Encrypted Payment Settings Profile.', '6', '4', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Working Directory', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_WORKING_DIRECTORY', '', 'The working directory to use for temporary files. (trailing slash needed)', '6', '4', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('OpenSSL Location', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_OPENSSL', '/usr/bin/openssl', 'The location of the openssl binary file.', '6', '4', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_PAYMENT_PAYPAL_IPN_STATUS', 'MODULE_PAYMENT_PAYPAL_IPN_ID', 'MODULE_PAYMENT_PAYPAL_IPN_CURRENCY', 'MODULE_PAYMENT_PAYPAL_IPN_ZONE', 'MODULE_PAYMENT_PAYPAL_IPN_PREPARE_ORDER_STATUS_ID', 'MODULE_PAYMENT_PAYPAL_IPN_ORDER_STATUS_ID', 'MODULE_PAYMENT_PAYPAL_IPN_GATEWAY_SERVER', 'MODULE_PAYMENT_PAYPAL_IPN_TRANSACTION_TYPE', 'MODULE_PAYMENT_PAYPAL_IPN_PAGE_STYLE', 'MODULE_PAYMENT_PAYPAL_IPN_DEBUG_EMAIL', 'MODULE_PAYMENT_PAYPAL_IPN_SORT_ORDER', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_STATUS', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_PRIVATE_KEY', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_PUBLIC_KEY', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_PAYPAL_KEY', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_CERT_ID', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_WORKING_DIRECTORY', 'MODULE_PAYMENT_PAYPAL_IPN_EWP_OPENSSL'); } } ?>
  13. ATVUtah

    Official PayPal IPN Support Thread

    Terra is it possible to remove the entire email function from this OSC PayPal module? Mine still insists on putting "ser" in place of the order number and now starting last week most of the confirmation emails sent (if one is sent at all) are being truncated right after the point where the order number should be in the email. This in turn looks bad to the customer. I cant just turn off sending emails in OSC because then no emails would be sent for the cash/money order payment method which I also use. Since the paypal side works perfectly and PayPal sends the customer an email I don't need this module to send one. I'm not that sharp on PHP so I'm not sure just how much code or in which file I need to remove to take out the email function.
  14. ATVUtah

    Official PayPal IPN Support Thread

    As per the PayPal TOS your not allowed to charge an extra fee to use PayPal. If they catch you they will revoke your account. The contribution you point to violates the PayPal TOS. https://www.paypal.com/us/cgi-bin/webscr?cm...policy_payments
  15. ATVUtah

    Official PayPal IPN Support Thread

    That all well and good IF the PayPal IPN sends an email. Mine still only does part of the time and I cant make it put the correct order number in the emails when it does. It sill put "ser" as the order number. Any fresh ideas? Anyone?
×