Jump to content

devosc

♥Ambassador
  • Content count

    1,212
  • Joined

  • Last visited

Everything posted by devosc

  1. devosc

    [Contribution]Paypal IPN - Devosc

    PayPal_Shopping_Cart_IPN Instant Payment Notifications Overview Allows the store owner to choose between sending an aggregate cart total to PayPal or to upload the cart on an individual item basis that then enables the customer to also view the contents of the cart whilst on the PayPal site and for both customer and store owner to then receive an itemized PayPal invoice receipt. Configure PayPal's payment page customization parameters. Utilizes PayPal's Instant Payment Notification (IPN) to automatically update the store's database, regardless of whether they click the PayPal Continue button to return to the site (store) or not . IPN transactions can then be viewed in the osC admin section along with their corresponding order. Downloadable media only available once PayPal verifies that the payment is Complete. eCheck (pending payments) Compatible. Including compatibility with pre approving (in your PayPal account profile) payments prior to their acceptance. Benefits There is increasingly a lot more potential available here, but initially, apart from knowing the status of a PayPal payment, it can also allow you to compare your customer's name and address registration details to what they themselves have registered (and verified where applicable) with PayPal. Frequently Asked Questions (Please note that the following information is subject to relevancy as of the time of publication) My shipping costs are different once the customer arrives at the PayPal site.In your PayPal account profile in the shipping section, check the box that allows overriding the shipping costs. [*]What url should I specify for the IPN feature to be used. You don't need to. [*]Why doesn't the Auto-Return feature work. Have you enabled it in your PayPal account profile? [*]What url should I specify for the Auto-Return feature. It doesn't matter, this contribution will automatically specify the correct script url location, which is currently now catalog/checkout_success.php [*]Does this contribution support PayPal Credit Card payments. Yes. [*]Why am I getting so many emails per transaction. You get one from PayPal and one osC order email, and another which is the debug email, either disable email notification or specify a sperate email address for debug emails. [*]Why am I not receiving any IPNs. You must ensure that your Primary Email Address and Business ID are configured correctly. Login to your PayPal Account and see what and how many email addresses you are using and which one is the Primary address. Also check your debug emails for any possible further information, for example is the Cart Test (order total) valid? [*]I'm having problems with Multi-Currencies. Ok this is possibly a tricky bit, currently the contrib will try and confirm the total order amount to the paypal.mc_gross amount which is the amount paid to you in the currency selected (possibly through PayPal) this contribution will work if the both currencies are the same - this is an area that still needs to be refined and or clarified, if you're having problems then switch off the 'Cart Test' via the admin. [*]I'm having problems verifying the Cart Totals. See above. [*]Why is there no PayPal shipping address details in the IPN info? Set Enable PayPal Shipping Address to 'No' if you require a PayPal verified shipping address, set to 'Yes' if you do not. This is a bit tricky since there seems to be a confusing conflict especially if you want to get the customers shipping address details in the IPN info, so see what happens when you perform your test transactions with your PayPal config settings etc... [*]How can I customize the Checkout redirect page. The template page is catalog/includes/modules/payment/paypal/catalog/checkout_splash.inc.php. [*]Where can I find more PayPal logo buttons. Login to your PayPal account and click Merchant Tools or Auction Tools. [*]Where can I find PayPal documentation. PayPal Shopping Cart Manual IPN Manual [*]How do I use PayPal's Sandbox. Register with PayPal Developer Central Then create two virtual accounts types:A Personal account and a Business account Confirm both accounts (each is just a single click option). Transfer some virtual money into your standard account (Click the add funds link). Emails to both accounts will appear in the section where you initially log into the PayPal Developer Central, no real emails are sent so the email addresses for your virtual accounts should be fictitious. [*]Now in your osC->Admin->Modules->Payment->PayPal config Enter the virtual business account email address into both the Primary Email Address and Business ID fields Set the domain to www.sandbox.paypal.com [*]Now checkout as a customer via the store, this account should have a real email address (so that you can receive the osC customer order confirmation email), and when you arrive at the PayPal Sandbox site (look for their logo) then login using the virtual standard account details and finalize the payment process. Note that you must first login via the PayPal Developer Central prior to testing the Sandbox/Checkout process. [*]What's the difference between the IPN Test Panel and using PayPal's Sandbox. The IPN Test Panel is an independent contribution feature which allows you to simmulate your own IPNs for testing and development purposes, without having to interact with PayPal. All Test IPNs via the IPN Test Panel will be invalid because they're not authentic transactions. [*]Is the IPN Test Panel related to PayPal's Sandbox. No, see above. [*]What's the purpose of the digest key. Currently the digest key serves two purposes, it authenticates and allows you to use the IPN Test Panel, secondly, untill such time that PayPal provides a secure method of associating an IPN specifically to a particular order, it serves as a unique transaction signature identifier. [*]Should I change the digest key default value. Yes, but remember what it is if uninstalling and reinstalling this contrib payment module in the admin since there might be existing pending orders which will require it in order to associate with their corresponding IPN(s). [*]How are IPNs deleted. Currently, an IPN appearing the admin section is deleted automatically when deleting it's corresponding order. [*]How can a customer resume their order. Currently, if the customer abandons the checkout process at the PayPal site, e.g for some reason they did not actually pay at that time, then they can log into their osC account and click the confirm order button when viewing the details of that particular account_history_info traasaction in their. This feature is only available when synchronizing invoices with PayPal. This means that if you ever reset the osC orders database table then you must also update its auto-increment value to be greater than the last known order_id. [*]I'm getting errors after installing the contribution. First, go through the installation edits and remove any blank spaces at the beginning of the line(s), some text editors will insert hidden characters which is a side effect of copying and pasting from HTML documentation. Make sure that the alterations have been performed as well as running the paypal_ipn.sql script. [*]What type of PayPal account do I need. You will need either a Premier or Merchant Business Account. Click here to register for an account if you do not already have one. This is a continuation thread of the PayPal_Shopping_Cart_IPN Contribution
  2. Would it be of interest to anyone if a set of MS3 (type) class files and their corresponding MS2 functions be made as a contribution ? For example, I currently have a development catalog, which now has the following MS3 type class files, these files are intended to be forwarded compatible (with some minor changes) but also having functions (methods) that can the be called by the current MS2-2.2 functions, for tep_db_perform. osC_Database, osC_Session, osC_Cache osC_MessageStack As said these classes are my intepretations, and hopefully will provide forward compatibility, the only dubious one is osC_Session if they decide to remove the methods [exists, set, value] hopefully they won't because I believe it better to still protect $_SESSION in case code is written setting this autoglobal prior to the session actually starting (the data will be lost)... osC_MessageStack is not a drop in, but it is self contained and is used db class - wouldn't be hard to replace with existing messageStack (as it is now a static class). Small caveat, MS3 db class does not die on error so this would have to figured out (or forced for MS2-2.2 installations)... So for example as a replacement for the MS2-2.2 tep_db_perform function the corresponding function is now: ?function tep_db_perform($table, $data, $action = 'insert', $parameters = '', $link = 'db_link') { ? ?if ($action == 'insert') { ? ? ?$GLOBALS['osC_Database']->insert($table, $data); ? ?} elseif ($action == 'update') { ? ? ?$GLOBALS['osC_Database']->update($table, $data, $parameters); ? ?} ?} And the corresponding MS3 (type) database class is (in the case of an 'insert') ? ?function insert($table, $data) ? ?{ ? ? ?if (!is_array($data) || empty($data)) { ? ? ? ?return FALSE; ? ? ?} ? ? ?$_Result = & new osC_Database_Result($this); ? ? ?$_Result->setQuery('INSERT INTO '.$table.' ('.implode(', ',array_keys($data)).') VALUES ('.implode(', ',array_values(array_map(array(&$_Result,'buildEscapedString'),$data))).');'); ? ? ?$_Result->execute(); ? ? ?return $this->nextID(); ? ?} So with the newly revised tep_ functions, these files can be dropped into and MS2-2.2 catalog and seemlessly immediately integrated, while giving any future code the ability to use the new MS3 style methods... One benefit is the less cumbersome cohersion between database queries and caching the results.... Obviously this is would be for seasoned users. Thought to propose this question before uploading etc ? Give a shout if of any interest --- although please note, I have only quickly tested things out, so if any existing code is not MS2-2.2 standards compliant - and in _any-event_ I won't be responsible :blush: *Edit* - The files may be found here
  3. devosc

    PayPal IPN "Return To Merchant" not returning

    Hiya, If I can recall etc, there shouldn't be any need to configure anything over at PayPal in regard to using the Auto-Return, or atmost it just needs to be enabled. PPSCIPN will specify the actual URL location to return to, since a merchant may have more than one store etc.... And there should be no need to enable/configure IPN in the PayPal account profile either. The matter mentioned above in the customer's session being lost when returning to the site is because PayPal are/were not transposing the GET params of the form action into POST params (hidden fields) when returning the customer back to the store via the GET method when processing (non-paypal-member) CC payments (or something like that etc).
  4. devosc

    PayPal IPN "Return To Merchant" not returning

    Set it to 2 (Post), there is a problem at PP's end seemedly still not resolved.
  5. devosc

    PayPal IPN "Return To Merchant" not returning

    For PPSCIPN, it is checkout_sucess.php. The problem, in general, is most likely because the store is configured (includes/configure.php etc) with ENABLE_SSL enabled (i.e. true) but HTTPS_SERVER is empty (''), so the return param provided to PayPal is not a fully qualified URL. If the site does not have SSL, then ENABLE_SSL should be false (or atleast specify something for HTTPS_SERVER).
  6. devosc

    [Contribution]Paypal IPN - Devosc

    From the above, either the edit for this contrib (PayPal_Shopping_Cart_IPN) has been skipped, or reference is being made to another IPN contribution. There is a subtle difference between PayPal_Shopping_Cart_IPN and the other recent IPN module, the former only creates the order once the customer has clicked the order confirmation button, as opposed to the latter which creates the order when loading the checkout_confirmation page. PayPal_Shopping_Cart_IPN, will only populate the orders download database table once an IPN has been received notifying that the Payment is Completed, so downloads will not be immediately available until then. However in order to use this contribution in conjunction with the Downloads Controller contribution, the DC contrib needs to be updated because of its use of order status #s, a search in this forum channel for Download Controller would show: http://forums.oscommerce.com/index.php?act...ndpost&p=504989 However that post-page wont seem to load at the moment, but its contents can be found in the search. It should work, but I only quickly looked into it back then. ---- Leslie, thank you.
  7. $rQuery = tep_db_query("select orders_id from " . TABLE_ORDERS . " order by orders_id desc limit 1"); $aQuery = tep_db_fetch_array($rQuery); $new_order_id = $aQuery['orders_id'] + 1;
  8. I havent installed and ran it but Doesnt look like osCommerce MS2-2.2 code. If I can recall it should look something like $rQuery = tep_db_query("select orders_id from " . TABLE_ORDERS . " order by orders_id desc limit 1"); $new_order_id = $rQuery['orders_id'] + 1;
  9. devosc

    Question for those using Pay Pay Mod by Devosc

    catalog/includes/modules/payment/paypal/classes/osC/Order.class.php line 214 function notifyCustomer I think www.wingrep.com might of helped here, in searching for particular named constants..
  10. Have you tried dropping these contrib classes into an MS2-2.2 catalog ? It should work with only one change in specifying in the DIR_FS_WORK dir... in the osC_Cache dir (which needs to have write permissions -- the default is 'oscommerce_data')... Not sure I understand, forward compatibility --- to me, in this instance, this means having the finalized version (or staying current etc..) and making it backwards compatible ? The contribution classes provide backward compatibility (to the largest, or most common, degree), however intepretations have been made for forward compatibility, primarily to make where possible classes available via static calls, e.g. osC_MessageStack::add() rather than $osC_MessageStack.. subtle changes such as this would not be difficult for those familiar with osCommerce and some understanding of PHP... But maintenance of these classes to accomodate future or later revisions for compatibility would be required if neccessary.. So this features are available only if they wish to be used, in terms of MS2-2.2 they are transparent. Some changes & additions, for personal accomodation has been made, such as setResults, there are times when a query is made and its results merged with another set of results, and batch links similiar to here in the forums, but these are additional changes which cause no noticeable affects etc...
  11. devosc

    [Contribution]Paypal IPN - Devosc

    Not sure, but last time I saw something like that I put it down to possible whitespace errors / output. look at the end of file in paypal/database_tables.inc.php and paypal/classes/osC.class.php and if there is a blank line (or space) after the last '?>' try removing it.
  12. devosc

    [Contribution]Paypal IPN - Devosc

    The IPN module verifies that the person receiving the money is who it is expected to be as specified by the storeowner for their 'Primary Email Address' and their Business ID... this is compared to the IPN information that PayPal provides in the IPN... so if they do not match then the IPN is ignored by the IPN module.... Prior to this test the IPN received is POSTed back to PayPal for PayPal to verify that they themselves actually sent the IPN.... So sending spoof IPNs is pratically impossible since the information is being posted directly back to PayPal for verification. If you are receiving duff IPNs... contact PayPal. Have you got the debug emails for these IPNs ? Steve.... enable your other payment modules.... I' think you'll find the order totals don't work as expected for them also ? G.
  13. devosc

    Ultimate SEO URLs v3.0 Features

    Hi Bobby, Might be overlooking somethings, but why would there be a need to have two or more subcategories with exactly the same name (in that category) ? i.e. software/action, software/action ? If a site maintained correct naming / organization conventions then there would be be no need to to worry about two categories with the same name [ * ] ? Also whats all this about redirects ? is this just support for backwards compatibility ? [*] Actually I'm looking into a slightly different approach. That is when creating / editing a category in the admin, the full path to that category is stored in a db column in the description table, i.e. dvd_movies/thriller, so look ups are now not by the cPath but by the cd.categories_full_path. This info is cached for the categories box. So either a db query could be done to find the category id or travse the category_tree array etc... I'm also currently in two minds about doing the same thing with products, i.e. to store dvd_movies/thriller/frantic.html as the products respective full path or just to tag on the product_id, ie. dvd_movies/thriller/15 (although it should be possible to handle both, i.e. /catalog/15 or /catalog/dvd_movies/thriller/frantic.html) I'm also using MultiViews instead of rewrites_ ..... although I would be interested in doing / forcing rewrites for the not found errors if it will suppress these errors from the error logs... this way I could force / (the defaultIndex script) to handle to above urls rather than /catalog/ etc.... I noticed mention above also about keywords in the url... wouldn't this be difficult to do if removing the -p- or -c-'s ? since some uniqueness still needs to be automatically maintained ? So far the only difference I can see between the two approaches is that with the -p- -c- ids the urls can be much shorter as opposed to specifying the full path, but for my needs at present the full path has a little bit more clarity for its intended prupose. Out of interest is there any performance overhead with using MultiViews ? FWIW, the above MultiView approach seems to be what is used for the oscommerce.info/kb site... One last thought, is re relative urls.... as long as the url is not changing to ssl, would there be any benefit in ( trying to ? ) using relative urls instead ?
  14. devosc

    [Contribution]Paypal IPN - Devosc

    Looks fine, you're welcome... thanks.
  15. devosc

    [Contribution]Paypal IPN - Devosc

    includes/modules/payment/paypal.php
  16. devosc

    [Contribution]Paypal IPN - Devosc

    I would suggest that you create a sandbox with just the MS2-2.2 and ppscipn installed (there are overwrite and run files provided). The orignal checkout_process is terminated early with an exit statement, so it is not possible to have duplicate orders as suggested above, the problem is elsewhere and since this isn't a known (common) issue, seems as if something particular is occuring in your scripts... Wrong support thread. Look at this post (re one of your earlier posts). Re applying credit prior to the customers departure, well this whole process is not quite adequate, but we try to work with what is there, and the reason by default that the credit is applied, is exactly to prevent what you want it to allow it do, i.e. for someone to apply the *same* credit to a new / different purchase - the train of thought here was better to safekeep from the storeowners perspective and let the customer contact you to get the funds back (reavailable)... however you can override this in paypal/catalog/checkout_process.inc.php by commenting out: if(is_callable(array($order_total_modules, 'apply_credit'))) $order_total_modules->apply_credit(); Bad hair day....
  17. devosc

    [Contribution]Paypal IPN - Devosc

    Hi All, I've uploaded a version 3.1.5 tar.gz which has a correction in regard to ccgv and update_credit_account. Also, a recent discussion has caused me to re-evaluate some code used in regard to way pages are displayed by the contribution on the stores web site, and stores having PHP < 4.3 should upgrade from previous versions of this contribution. Those using 3.1.1 and above can just copy over the catalog/includes/modules/payment/paypal directory accordingly.
  18. devosc

    [Contribution]Paypal IPN - Devosc

    From what I think I can tell from the above, the only time when the product notfication checkboxes *will* be displayed, is when the customer has *not* signed up for global_notfications (this might have some bearing on what you're trying to achieve etc), and *or* if the orders_id has not been set correctly in the TABLE_ORDERS_PRODUCTS table - you would need to check. Apart from that I can't see why there should be any problem. Sometimes, it is useful to echo the query string to the browser and then copy and paste the query into phpMyAdmin to see what the results are (or should be etc...).
  19. devosc

    [Contribution]Paypal IPN - Devosc

    Use the IPN Test Panel, to first determine whether any errors are occurring, see the FAQs (bottom of), using PayPal's sandbox (and the IPN Test Panel) is just like real IPNs so the status's etc should get updated.... Lane, I've done several tests recently and the product notification checkboxes always appear, there must be something wrong with your code, if you post it here I'll look to see etc...
  20. devosc

    Paypal Problems!

    copy over the language file into catalog/includes/languages/english/modules/payment/paypal.php
  21. devosc

    Paypal Problems!

    Well you could try adding that line in, plus the other from the install docs. I'm a bit suprised that the one above was not there ? That particular edit is not critical, it just displays the PayPal Payment Status in the right hand column of the orders page listings.
  22. devosc

    [Contribution]Paypal IPN - Devosc

    In catalog/includes/modules/payment/paypal/catalog/checkout_process.inc.php find (line 135) if(is_callable(array($order_total_modules, 'update_credit_account'))) $order_total_modules->update_credit_account($i);//ICW ADDED FOR CREDIT CLASS SYSTEM and replace with if(is_callable(array($order_total_modules, 'update_credit_account'))) { global $insert_id; $insert_id = $this->orders_id; $order_total_modules->update_credit_account($i);//ICW ADDED FOR CREDIT CLASS SYSTEM }
  23. devosc

    [Contribution]Paypal IPN - Devosc

    Practically every web host gives free a Shared SSL. This has nothing to do with what software you're running. I may be mistaken, but I get the impression that if you want to use the web form encryption methods then you need a dedicated SSL certificate. Having a dedicated SSL certificate gives a lot more personal and professional appearance, and cost very little nowadays.
  24. devosc

    [Contribution]Paypal IPN - Devosc

    I started working on this module along time ago, there are features here that the other doesn't currently support / facilitate. However, neither will enable the lock to occur during your checkout process or account creation. Contact your webhost regarding availability or installation and or pricing of having an SSL certificate. Given that dedicated per domain SSL certificates are pretty cheap nowadays, it would probably be worth purchasing one etc...
  25. devosc

    [Contribution]Paypal IPN - Devosc

    The encryption / certificates that the othe module uses is nothing more than a 'mask'. This contribution creates its own md5 digest of the information passed to paypal and uses this to validate the information being received from paypal to ensure that it has not been tainted. Frank, I'm not whats happening here... you would have to try and pin point the query that then causes the above error. Anita, thanks for the feedback, however I have not noticed such behaviour, for example when PayPal returns me to the store and the cart contents are cleared, in fact they are forced to be cleared regardless of whether the IPN has been received or not. You did mention that when you click the confirm button that the cart contents where emptied, this can happen, since a very last minute check is made to see if the IPN has been received. But this same check occurs on every page load via the catalog/includes/application_top.php, this is because the customer (after paying) could return to the site by an unexpected route, i.e. instead of letting paypal return them to the site, they for example closed the browser window and then opened a new window and came back to the site. I also checked the update of the cart thing, and that looked ok too... I've only checked (specifically looked for the above) so I may of overlooked something, but I've also done quite a few tests in the last day or so.... could there be a problem with your installation ? I'll check again though....
×