Terra Posted June 15, 2006 Share Posted June 15, 2006 (edited) Hello! I have the chiwawa's version (April 23 2006) installed and i would like to upgrade to the new version... could anyone tell me the exact changes in the code or where I can find them? The installation file doesn't say anything about upgrades... should I overwrite all the ipn files? chiwawa's version is basically a fork with a different functionality - my latest upload does not include these. If you want to change, then you would need to uninstall chiwawa's contrib and start again with the new one. But be aware the two have different functionality and should actually be viewed as two different contributions. Terra Edited June 15, 2006 by Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
AlexStudio Posted June 15, 2006 Share Posted June 15, 2006 Hi,very great contrib but just one thing, does anyone know how can work do for the mail? I recieve ( me and the custommers) only basic emails ( no html ) i have Fancier Invoice and Packingslip and i don't know how the make working with this contrib.. xavier It's very difficult to make both Fancier Invoice&Packingslip and IPN module work, I gave it up long ago. But there is another contrib 'Email Invoice' which will send out the html invoice, and this one is much easilier to fix the problem. I have this one running in my store, with the osC IPN module. Quote Super Download Shop, PayPal Express Checkout IPN, Selling Downloads, Visual Validation (preventing robotic flood), phpBB2 Integration Yes, I'm willing to help, but please ask in the right place. Think twice before trying to PM me, it might be ignored. Link to comment Share on other sites More sharing options...
xvilar Posted June 16, 2006 Share Posted June 16, 2006 looks okay, just two suggestion:Move tax to total - TRUE Transaction type - AGGREGATE As long as CURL works on your server, you don't have to worry about the encryption settings as CURL kicks in automatically if available. less hassle that way. all the best, Terra Hi Terra, as i'v done with Invalids (curl), I'v solved too.... i had in Paypal Sandbox a 16% spanish IVA tax, only applied in Paypal payment pages, not in my osCommerce store orders .... Without it, the total amount is the same than osCommerce order, and it changes the status to the status i'v choosed in Paypal IPN payment module config, as Paypal acknoledgment status... in this case, 11 Downloads Now Avaliable.... I'm triyng to put this IVA tax in IPN module, but if i add a Payment Zone, and a tax for it, and i select in Paypal IPN payment module config this Zone, the buyer cannot choose Paypal IPN Payment Method when it confirms the ShoppingCart... Will try something to solve... i dont know why... Thnks all again ... Quote Link to comment Share on other sites More sharing options...
glock_22 Posted June 16, 2006 Share Posted June 16, 2006 (edited) I browsed the first 22 pages of this thread but was unable to find my answer. I have been attempting to get the IPN piece to work with paypal / oscommerce for the last few days. I have the sandbox account setup properly (I believe). I am getting the following email sent to my "error account" and I am not sure what is happening. Sandbox side. PAYPAL INVALID IPN PROCESS $_POST: payment_date=01:20:54 Jun 16, 2006 PDT txn_type=web_accept last_name=myname residence_country=US item_name=mywebsite.com payment_gross=546.49 mc_currency=USD [email protected] payment_type=instant verify_sign=AVZHcKda9e.6eWBmkVNz0S3vqk78AGHpxI.c.xvHb67KODCLpBJvIPMM payer_status=unverified test_ipn=1 tax=0.00 [email protected] txn_id=9WB71178E8604912H quantity=1 [email protected] first_name=Eric invoice=13 payer_id=WJ7AP3CEWK2S8 receiver_id=ZG843SBGZL2GA item_number= payment_status=Completed payment_fee=16.15 mc_fee=16.15 shipping=5.00 mc_gross=546.49 custom=2 charset=windows-1252 notify_version=2.1 $_GET: What is the problem? I am not using SSL but have curl Edited June 16, 2006 by glock_22 Quote Link to comment Share on other sites More sharing options...
xvilar Posted June 16, 2006 Share Posted June 16, 2006 I browsed the first 22 pages of this thread but was unable to find my answer. I have been attempting to get the IPN piece to work with paypal / oscommerce for the last few days. I have the sandbox account setup properly (I believe). I am getting the following email sent to my "error account" and I am not sure what is happening. Sandbox side. PAYPAL INVALID IPN PROCESS $_POST: payment_date=01:20:54 Jun 16, 2006 PDT txn_type=web_accept last_name=myname residence_country=US item_name=mywebsite.com payment_gross=546.49 mc_currency=USD [email protected] payment_type=instant verify_sign=AVZHcKda9e.6eWBmkVNz0S3vqk78AGHpxI.c.xvHb67KODCLpBJvIPMM payer_status=unverified test_ipn=1 tax=0.00 [email protected] txn_id=9WB71178E8604912H quantity=1 [email protected] first_name=Eric invoice=13 payer_id=WJ7AP3CEWK2S8 receiver_id=ZG843SBGZL2GA item_number= payment_status=Completed payment_fee=16.15 mc_fee=16.15 shipping=5.00 mc_gross=546.49 custom=2 charset=windows-1252 notify_version=2.1 $_GET: What is the problem? I am not using SSL but have curl ONLY TO TRY: Try to edit /catalog/ext/modules/payment/paypal_ipn/ipn.php and comment lines 34 and 35... check this... When u finish ur testings, uncomment the lines... Cya! Quote Link to comment Share on other sites More sharing options...
xvilar Posted June 16, 2006 Share Posted June 16, 2006 Hi Terra, as i'v done with Invalids (curl), I'v solved too.... i had in Paypal Sandbox a 16% spanish IVA tax, only applied in Paypal payment pages, not in my osCommerce store orders .... Without it, the total amount is the same than osCommerce order, and it changes the status to the status i'v choosed in Paypal IPN payment module config, as Paypal acknoledgment status... in this case, 11 Downloads Now Avaliable.... I'm triyng to put this IVA tax in IPN module, but if i add a Payment Zone, and a tax for it, and i select in Paypal IPN payment module config this Zone, the buyer cannot choose Paypal IPN Payment Method when it confirms the ShoppingCart... Will try something to solve... i dont know why... Thnks all again ... SOLVED! :-) Cya all! Quote Link to comment Share on other sites More sharing options...
Terra Posted June 17, 2006 Share Posted June 17, 2006 Calling all Register Globals OFF PayPal IPN users! I'm just playing around with a solution and need some willing testers! Anybody prepared to backup their files and get down & dirty in the Sandbox? Health Warning - I'm currently testing on a server which is Register Globals ON but the site has the Register Globals Patch v1.4 installed and is fooled into the correct behaviour via .htaccess. So it's not quite the right test environment. Also - the only problem I encountered was that the status did not correctly update from "Preparing PayPal IPN" to "Pending" (that's what I have specified in my module, can differ for others). Everything else worked okay - order was stored prematurely etc. and I did not get any debug emails or "invalid" warnings. Now I tracked my problem with the updating down to the $invoice variable (which was not sent, hence nothing happened) which is based on the $cart_PayPal_IPN_ID variable. In /includes/modules/payment/paypal_ipn.php I found this line: $cart_PayPal_IPN_ID = $cartID . '-' . $insert_id; and changed it to this: $_SESSION['cart_PayPal_IPN_ID'] = $cartID . '-' . $insert_id; initial testing on Sandbox looks promising - the order status is being updated and it works now the same as my other IPNs without register globals off. Now if any you of out there with PayPal & Register Globals issue could give this a try and see if it helps? If you want to share your info, please post on this thread, otherwise you can also PM me. I'm also not precious with this - any PHP coders who can & want to help, please get in touch! all the best, Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
glock_22 Posted June 18, 2006 Share Posted June 18, 2006 ONLY TO TRY: Try to edit /catalog/ext/modules/payment/paypal_ipn/ipn.php and comment lines 34 and 35... check this... When u finish ur testings, uncomment the lines... Cya! The testing worked when I commented out the lines. Should I leave the lines commented or was this a test for something else? Quote Link to comment Share on other sites More sharing options...
Terra Posted June 18, 2006 Share Posted June 18, 2006 Code for combining PayPal IPN with CCGV(trad) If you have CCGV(trad) and PayPal IPN installed on your site, then you need to manually amend the IPN to make it work. Rule of thumb: whenever modifications to checkout_process.php are made, this need to be reflected in paypal_ipn.php To combine the two contribs, open /includes/modules/payment/paypal_ipn.php. Find this code: tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array); $order_products_id = tep_db_insert_id(); and below add this: $order_total_modules->update_credit_account($i);// CCGV find this code: //------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"; } and below add this: $order_total_modules->apply_credit();// CCGV find this code: tep_session_unregister('cart_PayPal_IPN_ID'); and below add this: if(tep_session_is_registered('credit_covers')) tep_session_unregister('credit_covers');// CCGV $order_total_modules->clear_posts();// CCGV Tested on live sites and it's all working. Enjoy! Terra Keywords: PayPal IPN CCGV CCGV(trad) Gift Vouchers & Credit Coupons Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
Terra Posted June 21, 2006 Share Posted June 21, 2006 (edited) Calling all Register Globals OFF PayPal IPN users! Further to my post - the post above solved one problem but a bigger one remained. Mike Boden explains it very well in his post from last year: http://www.oscommerce.com/forums/index.php?s=&...ndpost&p=681495 Basically, the $_SESSION['cartID'] is empty - both on regular osCom shops and with the Register Globals Patch. But how the empty variable is handled differs - the regular shop returns TRUE, the patched shop FALSE. To solve this I have implemented Mike's sugested fix: Anyway, after looking through the shopping cart class, it appears that a temporary unique ID number is never assigned when the customer's basket is restored from the database(whether it's got items or not) after they log in and go directly to checkout without adding any additional items. In fact, the cartID is only set when an item is added to or removed from the cart. So, to fix this, all I did was add the following line at the end of the restore_contents() function: // assign a temporary unique ID to the order contents to prevent hack attempts during the checkout procedure $this->cartID = $this->generate_cart_id(); should then look like this: $this->cleanup(); // assign a temporary unique ID to the order contents to prevent hack attempts during the checkout procedure $this->cartID = $this->generate_cart_id(); } There is also another solution from Paul (PandA.nl) which doesn't assign a cartID but mimicks the regular shop behaviour of returning an empy ID as TRUE: http://www.oscommerce.com/forums/index.php?s=&...ndpost&p=592020 I'm slightly concerned though about empty cartIDs, given that it's supposed to be a hacking attempt detector, so for now I'm going with Mike's fix and it's working fine on my test shop. Also for future generations - Mike's tip to use print_r for register globals bug hunting is fab - just use it and your trouble-shooting will be cut down by hours! http://www.oscommerce.com/forums/index.php?s=&...ndpost&p=681270 Feedback to both my posts regarding Register Globals Patch are very welcome - please PM me if you have any thoughts/ideas. Especially welcome any ideas why the cartID is an empty variable on osCom shops! all the best, Terra Edited June 21, 2006 by Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
Terra Posted June 21, 2006 Share Posted June 21, 2006 (edited) I think I understand why the cartID never worked in osCom in the first place ... when you go from login to checkout_shipping the $cart->cartID is there but empty ... ... then on checkout_shipping a $cartID is created as session variable .. which is good ... ... but then it's defined as being the same as $cart->cartID which is empty, so the $cartID is now also empty ... which means you end up with two variables $cart->cartID and $cartID, both there but empty and the Register Globals Patch doesn't just check whether they are there (which would be TRUE) but also if they contain any value (which is FALSE). And if cartID returns FALSE, the IPN won't work. So both Mike's fix (force it to have a cartID) and Paul's fix (force it to return TRUE for empty variable) work. Terra Edited June 21, 2006 by Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
CivicRacingGirl7 Posted June 21, 2006 Share Posted June 21, 2006 I installed IPN v.1.1 (according to the folder name) on a client's site to solve the problem with osC not entering an order when using PayPal. After testing, he informed me that: A. The cart contents are not being cleared. - I searched this in this thread, and found that people were changing $parameters['return'] from checkout_success.php to checkout_process.php . However, the version that I am using shows the code as: $parameters['return'] = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL'); B. My client has a delivery shipping module enabled that provides each order with a Delivery Day and Time. This information is left blank on the order that was tested with PayPal IPN. Any help is appreciated! Quote Link to comment Share on other sites More sharing options...
Terra Posted June 21, 2006 Share Posted June 21, 2006 A. The cart contents are not being cleared. Cart contents is only cleared when customers successfully return to the site - if they fail to do so, cart is not cleared, order email is not generated, stock is not updated. But you do have a copy of the order in admin. B. My client has a delivery shipping module enabled that provides each order with a Delivery Day and Time. This information is left blank on the order that was tested with PayPal IPN. paypal_ipn.php mirrors checkout_process and has its own email function - any changes you made to checkout_process.php for this contrib you will need to manually merge into paypal_ipn.php. hope this helps! Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
CivicRacingGirl7 Posted June 21, 2006 Share Posted June 21, 2006 A. The cart contents are not being cleared. Cart contents is only cleared when customers successfully return to the site - if they fail to do so, cart is not cleared, order email is not generated, stock is not updated. But you do have a copy of the order in admin. B. My client has a delivery shipping module enabled that provides each order with a Delivery Day and Time. This information is left blank on the order that was tested with PayPal IPN. paypal_ipn.php mirrors checkout_process and has its own email function - any changes you made to checkout_process.php for this contrib you will need to manually merge into paypal_ipn.php. hope this helps! Terra Thanks Terra! I figured problem A. was something along those lines. I'm waiting to find which delivery module my client has installed, and it sounds like it should be alright after I get that information. Thanks again! Quote Link to comment Share on other sites More sharing options...
Terra Posted June 21, 2006 Share Posted June 21, 2006 (edited) CODE RELEASE for "This invoice has already been paid" PayPal error message For those who have encountered the dreaded "this invoice has already been paid" error I have a suggested solution. Background: The PayPal IPN sends a parameter "invoice" to PayPal. This parameter is equal to the order ID (1,2,3,4 etc). However, PayPal requires the invoice parameter to be unique so if you have already sent an order ID with the same number, then it will be refused. Sending the same order ID can e.g. happen if you have two osCom shops linked to one PayPal account - the PayPal account cannot distinguish between different shops / domains / databases, it just looks at the number and says "hey, that's already been paid!" Solution: If you have multiple shops linked to your PayPal account, then you get around this problem by adding a unique letter to your invoice parameter. As the invoice parameter can be any string (max length 127), it doesn't matter that it's not numeric. If you run several shops all with one PayPal account, then choose a different letter for each shop. Note: this solution is for coders who have a reasonable knowledge of PHP. To alter your invoice parameter: In /includes/modules/payment/paypal_ipn.php find this code: $parameters['invoice'] = substr($cart_PayPal_IPN_ID, strpos($cart_PayPal_IPN_ID, '-')+1); and change to this: $parameters['invoice'] = 'K' . substr($cart_PayPal_IPN_ID, strpos($cart_PayPal_IPN_ID, '-')+1); choose any letter but keep it to ONE letter only (or change the substr command accordingly, just make sure to keep it in sync) In /ext/modules/payment/paypal/ipn.php replace all occurrences of $_POST['invoice'] with substr($_POST['invoice'],1) The above code will add the letter to the order ID when sending to PayPal and then strip it back out again with the substr command. It's vital that you replace all occurences of the variable in ipn.php as otherwise your database update won't happen or be wrong. I've tested it on my online shop and it's all working in Sandbox - I think it's a cleaner solution than just changing the order IDs to something higher as previously suggested on this thread. And it's also sustainable over time (think 10 years down the road when you have thousands of orders), plus even with just one letter you can run up to 26 different shops on one PayPal account. :D Happy coding! Terra Edited June 21, 2006 by Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
Terra Posted June 22, 2006 Share Posted June 22, 2006 CODE RELEASE for "This invoice has already been paid" PayPal error message In /includes/modules/payment/paypal_ipn.php find this code: $parameters['invoice'] = substr($cart_PayPal_IPN_ID, strpos($cart_PayPal_IPN_ID, '-')+1); and change to this: $parameters['invoice'] = 'K' . substr($cart_PayPal_IPN_ID, strpos($cart_PayPal_IPN_ID, '-')+1); choose any letter but keep it to ONE letter only (or change the substr command accordingly, just make sure to keep it in sync) A much, much simpler solution to the problem - in your PayPal account, go to "Profile" - > "Payment Receiving Preferences". In there you will have the option: Block accidental payments:You may prevent accidental payments by blocking duplicate invoice IDs Yes, block multiple payments per invoice ID No, allow multiple payments per invoice ID Select "No" and you're done! Courtesy of a friendly soul over at PayPal who liked me code but pointed out this much simpler solution. Terra :thumbsup: Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
Terra Posted June 22, 2006 Share Posted June 22, 2006 Version 1.3 is now available :thumbsup: Version 1.3 is now compatible with the Register Globals Patch v1.4 - it works for both patched & standard osCom shops! In addition the following changes were made: - currency support for AUD (Australian Dollar) added - ability to name the "continue" button on PayPal Payment Complete page in language file - user guide now includes information on PayPal account And the file package now includes integration guides for: - QTPro 4.25 - CCGV(trad) - oscAffiliate Rule of thumb for integrating with other contributions: whenever a contribution requires changes to checkout_process.php you probably also need to amend paypal_ipn.php. Updated package available at: http://www.oscommerce.com/community/contributions,2679 all the best, Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
mvpdigital Posted June 22, 2006 Share Posted June 22, 2006 I am excited by the potential of this contribution, but I am a bit confused by what should be happening, and when. I have read through this thread, and others, but if the answer to my question has been discussed, please point me to the thread. Thank you. I've installed the May 21, 2006 version of osCommerce PayPal IPN Module v1.2 For 2.2MS2. Edit settings for the Paypal IPN mod: Enable PayPal IPN Module True Move tax to total amount True Transaction Currency Only CAD Payment Zone --none-- Set Preparing Order Status Preparing [PayPal IPN] Set PayPal Acknowledged Order Status Processing Gateway Server Testing Transaction Type Aggregate Enable Encrypted Web Payments False Your Private Key Your Public Certificate PayPals Public Certificate Your PayPal Public Certificate ID Working Directory OpenSSL Location /usr/bin/openssl I've set up several accounts in PayPals sandbox. I've made all the settings changes suggested in this thread. I'm reading osCommerce Professional Edition by David Mercer, and his text states that using this contribution the Admin order status page should update as each purchase step takes place. Starting with: - Confirm order button is clicked - "Preparing [PayPal IPN]" (Comments: [unfinished / In progress PayPal IPN Order] and progressing to: - "Processing" (Comments: PayPal IPN Completed (followed by details of the buyer, date and time). When I buy an item with any of my test buyers, the order gets added to the Admin "Customer Orders" page when i click "Continue" on the Payment (PayPal option chosen) page, but this appears in the details box of the order page "There is not Order history available". I click "Confirm Order" and am taken to my personalized PayPal Page, and can complete the transaction, and the autoreturn takes me back to my Cheout_process.php page. It is not until I return back to the "Your Order Has Been Processed" page that the order details get updated with a date, green check mark, and "Preparing [PayPal IPN]" in the status box. There is nothing in the comments box. I do receive confirmation e-mails. Is this functioning properly? I have tried uninstalling the contrib, and re-installing. I just want to know if there is something I am missing. Or is this the way things should be happening. Thank you in advance for any support you can offer. Cheers, James Quote Link to comment Share on other sites More sharing options...
Terra Posted June 22, 2006 Share Posted June 22, 2006 - Confirm order button is clicked - "Preparing [PayPal IPN]" (Comments: [unfinished / In progress PayPal IPN Order]and progressing to: - "Processing" (Comments: PayPal IPN Completed (followed by details of the buyer, date and time). When I buy an item with any of my test buyers, the order gets added to the Admin "Customer Orders" page when i click "Continue" on the Payment (PayPal option chosen) page, but this appears in the details box of the order page "There is not Order history available". I click "Confirm Order" and am taken to my personalized PayPal Page, and can complete the transaction, and the autoreturn takes me back to my Cheout_process.php page. It is not until I return back to the "Your Order Has Been Processed" page that the order details get updated with a date, green check mark, and "Preparing [PayPal IPN]" in the status box. There is nothing in the comments box. I do receive confirmation e-mails. Is this functioning properly? I have tried uninstalling the contrib, and re-installing. I just want to know if there is something I am missing. Or is this the way things should be happening. James - that's the way it works. If a customer does not return to your site, the order is not properly completed but at least you have a copy of the order in your admin area & can process it. Enabling auto-return (checkout_process.php) will help. Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
sabaina Posted June 22, 2006 Share Posted June 22, 2006 i have just installed the latest version (osCommerce_PayPal_IPN_v1.3.zip). can the oscommerce customer billing address be passed on to paypal? 1. my customer doesn't have a paypal account 2. he chooses to pay by credit card 3. he has to fill in the billing address again - can this be passed from his account profile while checking out? Quote Link to comment Share on other sites More sharing options...
Terra Posted June 22, 2006 Share Posted June 22, 2006 (edited) can the oscommerce customer billing address be passed on to paypal? Not as it currently stands but you should be able to amend the module to your needs. Have a look in the PayPal developer guide - if you modify the module to pass the billing address as additional parameters it might work. Go to: https://www.paypal.com/IntegrationCenter/ic...umentation.html for Website Payments Pro Integration Guide and Website Payments Standard Integration Guide - lists all available parameters. PS: if you are interested in adding this function to the module feel free to update the contrib or publish code snippets on this thread. all the best, Terra Edited June 22, 2006 by Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
i2Paq Posted June 23, 2006 Share Posted June 23, 2006 (edited) Thanks for this creat contribution, it works fine for me! There's just a small thing I would like to change/add and that is a "real" email-footer. This is because I have some information in the email-footer of my 2 other methodes of payment and I would like to have this in the PayPal-module to. I already added the Paymentinformation to the checkout-process but cannot get the email-footer to work. This is what it looks at the moment: 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"; } } I've changed it to this: if (is_object($$payment)) { $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . MODULE_PAYMENT_PAYPAL_IPN_TEXT_EMAIL_FOOTER . "\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"; } } But then it shows this in my emails: MODULE_PAYMENT_PAYPAL_IPN_TEXT_EMAIL_FOOTER I've added the MODULE_PAYMENT_PAYPAL_IPN_TEXT_EMAIL_FOOTER to the language related part of this module as I did with other payment modules and they all work fine. Thanks! Edited June 23, 2006 by i2Paq Quote Norman in 't Veldt Moderator osCommerce The Netherlands Link to comment Share on other sites More sharing options...
Terra Posted June 23, 2006 Share Posted June 23, 2006 But then it shows this in my emails: MODULE_PAYMENT_PAYPAL_IPN_TEXT_EMAIL_FOOTERI've added the MODULE_PAYMENT_PAYPAL_IPN_TEXT_EMAIL_FOOTER to the language related part of this module as I did with other payment modules and they all work fine. I would have thought you had to amend the code in paypal_ipn.php (as it generates its own email), not checkout_process.php. Same goes for language level files (paypal_ipn.php not checkout_process.php). If you are having issues, try adding it to both code & language level for checkout_process.php and paypal_ipn.php. You've already got the code right, it's just now about copying the definition into the right file at language level. Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
Terra Posted June 23, 2006 Share Posted June 23, 2006 can the oscommerce customer billing address be passed on to paypal? Here's more info on how you can amend the parameters sent to PayPal: https://www.paypal.com/cgi-bin/webscr?cmd=p...-signup-outside So the answer is yes, but the code needs amending. Probably worth a thought for the next update, but can't promise when it'll be done. all the best, Terra Quote My code for combining PayPal IPN with ** QTPro 4.25 ** osC Affiliate ** CCGV(trad) and how to solve the invoice already paid error General info: Allow customer to delete order comment ** FTP Programs & Text Editors ** Amending order email ** Link to comment Share on other sites More sharing options...
i2Paq Posted June 23, 2006 Share Posted June 23, 2006 I would have thought you had to amend the code in paypal_ipn.php (as it generates its own email), not checkout_process.php. Same goes for language level files (paypal_ipn.php not checkout_process.php). If you are having issues, try adding it to both code & language level for checkout_process.php and paypal_ipn.php. You've already got the code right, it's just now about copying the definition into the right file at language level. Terra Hi Terra, Thansk for this contribution! I think you misunderstand me, I'm adding the code to the PAYPAL_IPN.php file found in the contribution (and not the checkout_process.php), see below. if (is_object($$payment)) { $email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" . MODULE_PAYMENT_PAYPAL_IPN_TEXT_EMAIL_FOOTER . "\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"; } } This normaly works fine in any other payment module. I think it has something to do with this: if ($payment_class->email_footer) { $email_order .= $payment_class->email_footer . "\n\n"; That needs to be changed, or am I seeing thing wrong? To show some info during checkout you need to change this in the PayPal_IPN.php: function confirmation() { global $cartID, $cart__ID, $customer_id, $languages_id, $order, $order_total_modules; to: function confirmation() { return array('title' => MODULE_PAYMENT_PayPal_IPN_TEXT_DESCRIPTION); global $cartID, $cart_PayPal_IPN_ID, $customer_id, $languages_id, $order, $order_total_modules; I've already done that and it works great. You only need to change the MODULE_PAYMENT_PayPal_IPN_TEXT_DESCRIPTION in your language related file to suit your needs. (You could add this also in your next release :thumbsup: ) Cheers! Quote Norman in 't Veldt Moderator osCommerce The Netherlands 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.
Note: Your post will require moderator approval before it will be visible.