Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[Contribution]Paypal IPN - Devosc


devosc

Recommended Posts

Hello,

 

I use a "PayPal Shopping Cart IPN v3.1.5" contrib. It works fine except for when order is made with PayPal as payment method, no email sent neither to customer nor me. What can cause this problem?

 

I'll appreciate any advice.

Thanks,

Irina.

Edited by Irin
Link to comment
Share on other sites

  • Replies 2.1k
  • Created
  • Last Reply

Top Posters In This Topic

I set up my OSCommerce site about a year ago and have the PayPal IPN enabled. However, suddnely on 9/30 I stopped getting any IPNs from PayPal. It is causing much havoc as customers aren't getting e-mails concerning their orders and downloadable files aren't being activated since the transaction is never cleared in the cart.

 

I'm confused because I did not change anything in my OSCommerce set up nor my PayPal set up.

 

I went into sandbox and tried testing and when I went to set the test business account to use IPNs it *is* requiring a URL , despite the fact that the FAQ at the top of this thread says it is not required. It will not set that business accoun to use IPNs without putting something in that URL. I'm wondering if this is a new thing that PayPal implemented on the 30th and that is why I'm no longer getting IPNS? And, what is an appropriate URL to put into that box?

Link to comment
Share on other sites

  • 2 weeks later...

Hi,

First off I don't have the Paypal addon 2.6a on my site.

All of a sudden my site stopped showing the attributes in the shopping cart. They do show up in the admin section, but customer think that their order is wrong because they can't see their sizes or colors. On what page is the code located that controls this? And which portion of the code?

Thanks.

Link to comment
Share on other sites

Hello

 

I have exactly the same problem and I'm running the version 2.1 of SEO and 3.1.5 of IPN

 

I made one change recommanded by devosc. It worked for 1/2 a day and then same problem again.

 

Could you or somebody eventually give me some tips ?

If you have the SEO contrib installed as well, you need to copy the following lines in /public_html/includes/modules/payment/paypal/application_top.inc.php :

 

 

// Ultimate SEO URLs v2.1

include_once(DIR_WS_CLASSES . 'seo.class.php');

$seo_urls = new SEO_URL($languages_id);

 

include('includes/seo_redirect.php');

 

 

It is the exact same code as in /public_html/includes/application_top.php

 

Thanks to Gregory for his help

 

Thanks

Patrice

 

Hi all,

 

Is anyone using the latest version of Ultimate SEO's? Im talking specifically about version 2.1d.

 

Since ive installed it im not getting any order emails from osCommerce, or any stock being updated. Im getting the IPNs ok, and it seems to be working generally (its not an email problem as such because I enabled the Cheque/Money order payment module to test and its working fine).

 

Ive had the problem for a while now, but ive been trying to search for a solution, and I havent been able to find one. I must of read nearly every post in this forum by now! :'(

 

I spoke to another member who seemed to have the same problem, but wasn't able to solve it, he backed out the 2.1d changes and it seemed to come back to life.

 

I haven't tried this yet, cos I would like to know whats going on.

 

What version of Ultimate SEO are you running, and is it working ok?

 

Thanks for your time and help.

Edited by patator
Link to comment
Share on other sites

I uninstalled and reinstalled the IPN contrib and it works better. So it seems to be very important to add the following as mentioned by Devosc (if you have SEO Ultimate installed)

 

If you have the SEO contrib installed as well, you need to copy the following lines in /public_html/includes/modules/payment/paypal/application_top.inc.php :

 

 

// Ultimate SEO URLs v2.1

include_once(DIR_WS_CLASSES . 'seo.class.php');

$seo_urls = new SEO_URL($languages_id);

 

include('includes/seo_redirect.php');

 

 

It is the exact same code as in /public_html/includes/application_top.php

 

Thanks to Gregory for his help

 

I forgot to mention that I'm using the contib Send Email HTML 5.4

 

I have now some difficulties to send the auto order confirmation using both IPN and Send Email HTML.

I guessed that I have to change the class-order.php file but I can't make it work. This file seems to work exactly like the checkout_process.php file, here is how the Send Email HTML modified the checkout_process.php :

 

$Varlogo = ''.VARLOGO.'' ;

$Vartable1 = ''.VARTABLE1.'' ;

$Vartext1 = ' <b>' . EMAIL_TEXT_DEAR . ' ' . $order->customer['firstname'] . ' ' . $order->customer['lastname'] .' </b><br><br> ' ;

$VarTotal= ''.TOTAL.'' ;

$Vardetail = ''.DETAIL .'' ;

$Varhttp = ''.VARHTTP.'';

$Varstyle = ''.VARSTYLE.'';

$varmessage = ' ' . MESSAGE_SOCIETY . STORE_NAME . ' ';

$varcategory = ' ' . CATEGORY_CONTACT . ' ';

$varuser = ' ' . EMAIL_TEXT_USER . ': ' . $order->customer['email_address'] . ' ';

// $varip = ' ' . CATEGORY_ADDRESS_IP . $ip . ' ';

$varcomments = ' ' . EMAIL_COMMENTS . ' ';

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

$vardatecommande = ' ' . EMAIL_TEXT_DATE_ORDERED . ' : ' . strftime(DATE_FORMAT_LONG) . '<br>';

$Vartext2 = ' ' . EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . '<br>' . EMAIL_TEXT_INVOICE_URL .

': <a href="' . HTTP_SERVER . DIR_WS_CATALOG . 'account_history_info.php?order_id=' . $insert_id .'"><font size="-2">' . HTTP_SERVER . DIR_WS_CATALOG . 'account_history_info.php?order_id=' . $insert_id .

'</font></a> ' . $email_total .' <br>' ;

 

 

 

$varimage = '<a href="' . HTTP_SERVER . DIR_WS_CATALOG . 'account_history_info.php?order_id=' . $insert_id .'">'.IMG.'</a> ' ;

$Vartable2 = ''.VARTABLE2.'' ;

$varproducts = ' ' . EMAIL_TEXT_PRODUCTS . ' ';

$varmodel = ' ' . EMAIL_TEXT_PRODUCTS_MODEL . ' ';

$varqty = ' ' . EMAIL_TEXT_PRODUCTS_QTY . ' ';

$vartotal = ' ' . EMAIL_TEXT_TOTAL . ' ';

$varbilling = ' ' . EMAIL_TEXT_BILLING_ADDRESS . ' ';

$vardelivery = ' ' . EMAIL_TEXT_DELIVERY_ADDRESS . ' ';

$varpaymethod = ' ' . EMAIL_TEXT_PAYMENT_METHOD . ' ';

$Varmailfooter1 = '' . EMAIL_TEXT_FOOTER . ' ' ;

$Varmailfooter2 = '' . EMAIL_TEXT_FOOTERR . ' ' ;

 

require('includes/modules/email/html_checkout_process.php');

$email_order = $html_email_order ;

 

// lets start with the email confirmation

if (EMAIL_USE_HTML == 'true') {

 

$email_order;

 

}

else

 

{

 

$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 .= 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\n\n\n";

if ($payment_class->email_footer) {

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

}

}

 

$email_order .= "\n" . EMAIL_TEXT_FOOTER . "\n" .

HTTP_SERVER . DIR_WS_CATALOG . "\n" .

EMAIL_TEXT_FOOTERR . "\n" ;

 

}

 

 

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

// $email_order=ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $email_order);

 

// send emails to other people

if (SEND_EXTRA_ORDER_EMAILS_TO != '') {

$email_order = $html_email_order ;

if (EMAIL_USE_HTML == 'true') {

 

$email_order;

 

}

else

 

{

 

$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; $i<sizeof($order_totals); $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" ;

 

echo ' <br>';

$payment_class = $$payment;

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

if ($payment_class->email_footer) {

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

}

}

 

$email_order .= "\n" . EMAIL_TEXT_FOOTER . "\n" .

HTTP_SERVER . DIR_WS_CATALOG . "\n" .

EMAIL_TEXT_FOOTERR . "\n" ;

 

}

tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

// $email_order=ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $email_order);

}

 

// ##############" End Added send Order Html mail#################

 

Could somebody give me a hand ?

Thanks

Patrice

Link to comment
Share on other sites

I found a solution on the french oscommerce website, but it doesn't work for me....could somebody help.....pleeeaaaaaaaaaaaassssssssseeeeeeeeee

 

Patroce

// lets start with the email confirmation

include($this->checkoutProcessLanguageFile);

 

$customerComments = $this->getCustomerComments();

$products_name .= $this->products_ordered3;

$products_model .= $this->products_ordered4;

$products_quantity .= $this->products_ordered2;

$products_price .= $this->products_ordered5;

$Varmodpay .= $this->paymentTitle . "\n\n";

 

for ($i=0, $n=sizeof($order->totals); $i<$n; $i++) {

$Vartaxe .= strip_tags($order->totals[$i]['title']) . ' ' . strip_tags($order->totals[$i]['text']) . "\n";

}

 

$order_total_modules->apply_credit();//ICW ADDED FOR CREDIT CLASS SYSTEM

if ($this->contentType != 'virtual') {

$Varaddress .= tep_address_label($order->customer['id'], $this->sendTo, 0, '', "\n") . "\n";

}

 

/////ADPAYE

$Varadpay .= tep_address_label($order->customer['id'], $this->billTo, 0, '', "\n") . "\n\n";

$Varlogo = ''.VARLOGOpaypal.'';

$Vartable1 = ''.VARTABLE1.'';

$Vartext1 = ' <b>' . EMAIL_TEXT_DEAR . ' ' . $order->customer['name'] .' </b><br><br> ';

$VarTotal= ''.TOTAL.'';

$Vardetail = ''.DETAIL .'';

$Varhttp = ''.VARHTTP.'';

$Varstyle = ''.VARSTYLE.'';

$varmessage = ' ' . MESSAGE_SOCIETY . STORE_NAME . ' ';

$varcategory = ' ' . CATEGORY_CONTACT . ': ' . $order->customer['telephone']. ' ';

$varuser = ' ' . EMAIL_TEXT_USER . ': ' . $order->customer['email_address'] . ' ';

//$varip = ' ' . CATEGORY_ADDRESS_IP . ' ' . $ip . ' ';

$varcomments = ' ' . EMAIL_COMMENTS . ' ';

$varinfocomments = ' ' . $customerComments . ' ';

$vardatecommande = ' ' . EMAIL_TEXT_DATE_ORDERED . ' : ' . ucwords(strftime(DATE_FORMAT_LONG)) . '<br>';

$Vartext2 = ' ' . EMAIL_TEXT_ORDER_NUMBER . ' ' . date(ORDERS_NUMBER_PREFIX) . $this->orderID . '<br>' . EMAIL_TEXT_INVOICE_URL .

': <a href="' . $this->accountHistoryInfoURL .'"><font size="3">' . $this->accountHistoryInfoURL .

'</font></a> ' . $email_total .' <br><br>';

$varimage = '<a href="' . $this->accountHistoryInfoURL .'">'.IMGpaypal.'</a> ';

$Vartable2 = ''.VARTABLE2.'';

$varproducts = ' ' . EMAIL_TEXT_PRODUCTS . ' ';

$varmodel = ' ' . EMAIL_TEXT_PRODUCTS_MODEL . ' ';

$varqty = ' ' . EMAIL_TEXT_PRODUCTS_QTY . ' ';

$vartotal = ' ' . EMAIL_TEXT_TOTAL . ' ';

$varbilling = ' ' . EMAIL_TEXT_BILLING_ADDRESS . ' ';

$vardelivery = ' ' . EMAIL_TEXT_DELIVERY_ADDRESS . ' ';

$varpaymethod = ' ' . EMAIL_TEXT_PAYMENT_METHOD . ' ';

$Varmailfooter1 = '' . EMAIL_TEXT_FOOTER . ' ';

$Varmailfooter2 = '' . EMAIL_TEXT_FOOTERR . ' ';

 

 

require(DIR_WS_MODULES . 'email/html_checkout_process.php');

$email_order = $html_email_order;

 

if (EMAIL_USE_HTML == 'true') {

 

$email_order;

 

}

else

 

{

 

$email_order = STORE_NAME . "\n" .

EMAIL_SEPARATOR . "\n" .

EMAIL_TEXT_ORDER_NUMBER . ' ' . date(ORDERS_NUMBER_PREFIX) . $this->orderID . "\n" .

EMAIL_TEXT_INVOICE_URL . ' ' . $this->accountHistoryInfoURL . "\n" .

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

 

$customerComments = $this->getCustomerComments();

 

if ($customerComments) {

$email_order .= tep_db_output($customerComments) . "\n\n";

}

$email_order .= EMAIL_TEXT_PRODUCTS . "\n" .

EMAIL_SEPARATOR . "\n" .

$this->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 ($this->contentType != 'virtual') {

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

EMAIL_SEPARATOR . "\n" .

tep_address_label($order->customer['id'], $this->sendTo, 0, '', "\n") . "\n";

}

 

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

EMAIL_SEPARATOR . "\n" .

tep_address_label($order->customer['id'], $this->billTo, 0, '', "\n") . "\n\n";

 

$email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" .

EMAIL_SEPARATOR . "\n";

 

$email_order .= $this->paymentTitle . "\n\n";

$email_order .= "\n" . EMAIL_TEXT_FOOTER . "\n" .

HTTP_SERVER . DIR_WS_CATALOG . "\n" .

EMAIL_TEXT_FOOTERR . "\n";

 

}

tep_mail($order->customer['name'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_NAME, STORE_OWNER_EMAIL_ADDRESS);

$email_order=ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $email_order);

// send emails to other people

if (SEND_EXTRA_ORDER_EMAILS_TO != '') {

$email_order = $html_email_order;

if (EMAIL_USE_HTML == 'true') {

 

$email_order;

 

}

else

 

{

 

$email_order = STORE_NAME . "\n" .

EMAIL_SEPARATOR . "\n" .

EMAIL_TEXT_ORDER_NUMBER . ' ' . date(ORDERS_NUMBER_PREFIX) . $this->orderID . "\n" .

EMAIL_TEXT_INVOICE_URL . ' ' . $this->accountHistoryInfoURL . "\n" .

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

$customerComments = $this->getCustomerComments();

 

if ($customerComments) {

$email_order .= tep_db_output($customerComments) . "\n\n";

}

$email_order .= EMAIL_TEXT_PRODUCTS . "\n" .

EMAIL_SEPARATOR . "\n" .

$this->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($order->customer['id'], $this->billTo, 0, '', "\n") . "\n\n";

}

 

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

 

EMAIL_SEPARATOR . "\n" .

tep_address_label($order->customer['id'], $this->billTo, 0, '', "\n") . "\n\n";

 

$email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" .

EMAIL_SEPARATOR . "\n";

 

$email_order .= $this->paymentTitle . "\n\n";

$email_order .= "\n" . EMAIL_TEXT_FOOTER . "\n" .

HTTP_SERVER . DIR_WS_CATALOG . "\n" .

EMAIL_TEXT_FOOTERR . "\n";

 

}

tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_NAME, STORE_OWNER_EMAIL_ADDRESS);

$email_order=ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $email_order);

}

}

 

function setOrderPaymentID($payment_id,$oID='') {

$order_id = !empty($oID) ? $oID : $this->orderID;

tep_db_query("update " . TABLE_ORDERS . " set payment_id = '" . (int)$payment_id . "' where orders_id = '" . (int)$order_id . "'");

}

 

function removeCustomersBasket($customer_id) {

tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . (int)$customer_id . "'");

tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where customers_id = '" . (int)$customer_id . "'");

}

 

}

Link to comment
Share on other sites

Ok, just to be a pest, I would like to reopen the problem that seems to happen to enough people to deserve a reponse.......

 

Transaction Activity

Date Statut Details Action Gross Fee Net Amount

No PayPal Transaction Information Available (a3f5c900841d45cf486f65cd7308222f)

 

 

LIVE test transactions, paid and returned to the site. The database table paypal is not being updated. The transactions are not being added. I am not an idiot, I create my own php modules for PayPal. SOMEWHERE in the code it is not updating......

 

After checking the 90 some pages, I see I am not alone. Has anybody addressed this issue ?

 

I have as added mods, possible problem :

Affiliates mod

Credit Class & Gift Voucher

 

PLEASE ! I am on my second install version of my site, and for the last TWO YEARS I have had this prob, and am tired of having to vefify every transaction on Paypal.com !

Link to comment
Share on other sites

Hello

 

I'm using CCGV and IPN and everything works beautifully together, except one point :

If the itemized method is selected, then the vouchers/coupons won't be taken into consideration in Paypal.

 

If I use the aggregate method, then it works.

 

I read 5 post of people having the same problem, but nobody gave a solution.

Maybe Greg or an advanced user could help us.....

 

Thanks

Patrice

Link to comment
Share on other sites

Shipping is calculated on my site correctly, but on PayPal it doesn't show up:

My site:

Federal Express: CAD$7.30

Sub-Total: CAD$1.18

Total: CAD$8.49

On PayPal:

Amount: $1.18 CAD

Shipping & Handling: $0.00 CAD

Total Amount: $1.18 CAD

I have PayPal IPN 2.8 contrib. I also have CCGV installed (I think the first time I had the above problem was after I removed a Free Shipping coupon from my order).

 

PayPal:

- Aggregate

Sort Order:

1: Sub-total

2: Tax

3: Shipping

4: Discount Coupons

5: Gift Vouchers

800: Total

I have spent quite some time on this forum searching for an answer.

Any ideas?

David.

 

I am having this same problem. Everything works fine on OsCommerce, but when they checkout there is no shipping cost added to paypal. Was there a fix and I missed it?

Thanks all for your support

Link to comment
Share on other sites

don't worry about my last reply. i have got it working!

 

but....

 

on my checkout_payment page (wish my print key would blimmin work so i could show you!) where the new images (credit card logo's) have appeared i want to make some alterations.

 

i want to do this as i have already installed images on there (sorry but i like them better!).

 

i still want to use the pop up window link!

 

so could someone tell me which file to use to make the changes.

 

and...

 

is there anyway i can add the credit card logo's to the actual paypal payment page, i want these to be near the "if you don't have a payal account please click here"

 

many thanks

 

Was there an answer to this? I couldn't find it.

Link to comment
Share on other sites

I installed IPN couple days ago, but i found everytime when i checkout, paypal ask me for shipping details again. That means customers will have to enter shipping details twice. I think IPN should be able to transfer data from my store database and automaticlly fill up the shipping details. Maybe I make wrong settings. Can anyone help please! Thanks in advance!

Link to comment
Share on other sites

error info of "paypal IPN" under "admin -> Customers".

 

the error messenger as below:

Status-> All

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1

 

select p.txn_id, p.parent_txn_id, p.paypal_id, p.txn_type, p.payment_type, p.payment_status, p.pending_reason, p.mc_currency, p.mc_fee, p.payer_status, p.mc_currency, p.date_added, p.mc_gross, p.payment_date from paypal as p order by p.paypal_id DESC limit -20, 20

 

Status-> Completed

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1

 

select p.txn_id, p.parent_txn_id, p.paypal_id, p.txn_type, p.payment_type, p.payment_status, p.pending_reason, p.mc_currency, p.mc_fee, p.payer_status, p.mc_currency, p.date_added, p.mc_gross, p.payment_date from paypal as p where p.payment_status = 'Completed' order by p.paypal_id DESC limit -20, 20

 

Status-> Pending

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-20, 20' at line 1

 

select p.txn_id, p.parent_txn_id, p.paypal_id, p.txn_type, p.payment_type, p.payment_status, p.pending_reason, p.mc_currency, p.mc_fee, p.payer_status, p.mc_currency, p.date_added, p.mc_gross, p.payment_date from paypal as p where p.payment_status = 'Pending' order by p.paypal_id DESC limit -20, 20

 

The other error messengers are similar. I'v tried to reinstalled and checked the code couple times but still no luck. Iv already made a post seeking for help but that did not help a lot and i have to try again and post here looking for luck. The oringinal post link here. Please anyone help! I dont wanny give it up. Thanks a lot!

 

Regards,

jay

Edited by jwen
Link to comment
Share on other sites

I have been looking and may have missed it but I would like to see if there is a way to pass the attributes selected to paypal?

 

Thanks in advance,

Installed Contributions: CCGV, Close Popup, Dynamic Meta Tags, Easy Populate, Froogle Data Feeder, Google Position, Infobox Header Entire Row, Live Support for OSC, PayPal Seal with CC images, Report_m Sales, Shop by Price Revised, SQL Updater, Who's Online Enhancement, Footer, GNA EP Assistant and still going.

Link to comment
Share on other sites

  • 3 weeks later...

Hello,

 

I'm now using the Paypal IPN 1.1 but the tax calculated in OSC is not on the order when passed to Paypal?

 

Do I need to install this PayPal Shopping Cart IPN to solve that problem?

What is the difference between these two IPN and Shopping Cart IPN?

 

Kind regards,

 

Johnny

Link to comment
Share on other sites

  • 2 weeks later...

Please help with this wonderful contrib! I'm currently using version 3.15. I've got it working up to a point. I've got it passing IPNs from paypal to my shop, the orders are showing up in the shop but when I try to accept the order from the transaction details in admin under the paypal ipn link it's throwing 4 errors..

[quote]Warning: notifycustomer(/home/eghhpkxx/public_html/includes/languages//checkout_process.php): failed to open stream: No such file or directory in /home/eghhpkxx/public_html/includes/modules/payment/paypal/classes/osC/Order.class.php on line 219

Warning: notifycustomer(/home/eghhpkxx/public_html/includes/languages//checkout_process.php): failed to open stream: No such file or directory in /home/eghhpkxx/public_html/includes/modules/payment/paypal/classes/osC/Order.class.php on line 219

Warning: notifycustomer(): Failed opening '/home/eghhpkxx/public_html/includes/languages//checkout_process.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/eghhpkxx/public_html/includes/modules/payment/paypal/classes/osC/Order.class.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /home/eghhpkxx/public_html/includes/modules/payment/paypal/classes/osC/Order.class.php:219) in /home/eghhpkxx/public_html/admin/includes/functions/general.php on line 132[/quote]

 

One thing I notice is that it's placing a double / between the languages file and the checkout_process.php file

On line 219 of the classes file it shows this:

Lines 218-227
// lets start with the email confirmation
include($this->checkoutProcessLanguageFile);

$email_order = STORE_NAME . "\n" .
			   EMAIL_SEPARATOR . "\n" .
			   EMAIL_TEXT_ORDER_NUMBER . ' ' . $this->orderID . "\n" .
			   EMAIL_TEXT_INVOICE_URL . ' ' . $this->accountHistoryInfoURL . "\n" .
			   EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n";

$customerComments = $this->getCustomerComments();

I think it has something to do with this line in the modules/payment/paypal/admin/AcceptOrder.inc.php file:

	$PayPal_osC_Order->setCheckoutProcessLanguageFile(DIR_FS_CATALOG_LANGUAGES . $PayPal_osC_Order->language . '/' . 'checkout_process.php');

Because for some reason it's not locating the proper language file.. since it should be home/eghhpkxx/public_html/includes/languages/language(ie. english)/checkout_process.php and it's not telling it which language it needs to use here I'm not sure where exactly where in your mod this is defined..

 

In regards to the other error.. The general.php lines 128- 149shows this... I've read where other pages have thrown this same fatal error just not sure where I need to fix this either...

 Line 128: ////
// Output a raw date string in the selected locale date format
// $raw_date needs to be in this format: YYYY-MM-DD HH:MM:SS
// NOTE: Includes a workaround for dates before 01/01/1970 that fail on windows servers
 function tep_date_short($raw_date) {
if ( ($raw_date == '0000-00-00 00:00:00') || ($raw_date == '') ) return false;

$year = substr($raw_date, 0, 4);
$month = (int)substr($raw_date, 5, 2);
$day = (int)substr($raw_date, 8, 2);
$hour = (int)substr($raw_date, 11, 2);
$minute = (int)substr($raw_date, 14, 2);
$second = (int)substr($raw_date, 17, 2);

if (@date('Y', mktime($hour, $minute, $second, $month, $day, $year)) == $year) {
  return date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, $year));
} else {
  return ereg_replace('2037' . '$', $year, date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, 2037)));
}

 }

I have the CCGV installed and it's code is above this like this:

// ########### Added CCGV ####################

////
// Create a Coupon Code. length may be between 1 and 16 Characters
// $salt needs some thought.

 function create_coupon_code($salt="secret", $length=SECURITY_CODE_LENGTH) {
$ccid = md5(uniqid("","salt"));
$ccid .= md5(uniqid("","salt"));
$ccid .= md5(uniqid("","salt"));
$ccid .= md5(uniqid("","salt"));
srand((double)microtime()*1000000); // seed the random number generator
$random_start = @rand(0, (128-$length));
$good_result = 0;
while ($good_result == 0) {
  $id1=substr($ccid, $random_start,$length);		
  $query = tep_db_query("select coupon_code from " . TABLE_COUPONS . " where coupon_code = '" . $id1 . "'");	
  if (tep_db_num_rows($query) == 0) $good_result = 1;
}
return $id1;
 }
////
// Update the Customers GV account
 function tep_gv_account_update($customer_id, $gv_id) {
$customer_gv_query = tep_db_query("select amount from " . TABLE_COUPON_GV_CUSTOMER . " where customer_id = '" . $customer_id . "'");
$coupon_gv_query = tep_db_query("select coupon_amount from " . TABLE_COUPONS . " where coupon_id = '" . $gv_id . "'");
$coupon_gv = tep_db_fetch_array($coupon_gv_query);
if (tep_db_num_rows($customer_gv_query) > 0) {
  $customer_gv = tep_db_fetch_array($customer_gv_query);
  $new_gv_amount = $customer_gv['amount'] + $coupon_gv['coupon_amount'];
$gv_query = tep_db_query("update " . TABLE_COUPON_GV_CUSTOMER . " set amount = '" . $new_gv_amount . "' where customer_id = '" . $customer_id . "'");
} else {
  $gv_query = tep_db_query("insert into " . TABLE_COUPON_GV_CUSTOMER . " (customer_id, amount) values ('" . $customer_id . "', '" . $coupon_gv['coupon_amount'] . "')");
}
 }
////
// Output a day/month/year dropdown selector
 function tep_draw_date_selector($prefix, $date='') {
$month_array = array();
$month_array[1] =_JANUARY;
$month_array[2] =_FEBRUARY;
$month_array[3] =_MARCH;
$month_array[4] =_APRIL;
$month_array[5] =_MAY;
$month_array[6] =_JUNE;
$month_array[7] =_JULY;
$month_array[8] =_AUGUST;
$month_array[9] =_SEPTEMBER;
$month_array[10] =_OCTOBER;
$month_array[11] =_NOVEMBER;
$month_array[12] =_DECEMBER;
$usedate = getdate($date);
$day = $usedate['mday'];
$month = $usedate['mon'];
$year = $usedate['year'];		
$date_selector = '<select name="'. $prefix .'_day">';
for ($i=1;$i<32;$i++){
  $date_selector .= '<option value="' . $i . '"';
  if ($i==$day) $date_selector .= 'selected';
  $date_selector .= '>' . $i . '</option>';
}
$date_selector .= '</select>';
$date_selector .= '<select name="'. $prefix .'_month">';
for ($i=1;$i<13;$i++){
  $date_selector .= '<option value="' . $i . '"';
  if ($i==$month) $date_selector .= 'selected';	  
  $date_selector .= '>' . $month_array[$i] . '</option>';
}
$date_selector .= '</select>';
$date_selector .= '<select name="'. $prefix .'_year">';
for ($i=2001;$i<2019;$i++){
  $date_selector .= '<option value="' . $i . '"';
  if ($i==$year) $date_selector .= 'selected';
  $date_selector .= '>' . $i . '</option>';
}
$date_selector .= '</select>';
return $date_selector;
 }
// ########### End Added CCGV ####################

// #################### Added B2B suite ############

function tep_encrypt_password($plain) {
  $password = '';

  for ($i=0; $i<10; $i++) {
 $password .= tep_rand();
  }

  $salt = substr(md5($password), 0, 2);

  $password = md5($salt . $plain) . ':' . $salt;

  return $password;
}
// #################### End Added B2B suite ############

// #################### Added Enable / Disable Categories ################
// Sets the status of a category and all nested categories and products whithin.
 function tep_set_categories_status($category_id, $status) {
if ($status == '1') {
  tep_db_query("update " . TABLE_CATEGORIES . " set categories_status = '1', last_modified = now() where categories_id = '" . $category_id . "'");
  $tree = tep_get_category_tree($category_id);
  for ($i=1; $i<sizeof($tree); $i++) {
	tep_db_query("update " . TABLE_CATEGORIES . " set categories_status = '1', last_modified = now() where categories_id = '" . $tree[$i]['id'] . "'");
  }
} elseif ($status == '0') {
  tep_db_query("update " . TABLE_CATEGORIES . " set categories_status = '0', last_modified = now() where categories_id = '" . $category_id . "'");
  $tree = tep_get_category_tree($category_id);
  for ($i=1; $i<sizeof($tree); $i++) {
	tep_db_query("update " . TABLE_CATEGORIES . " set categories_status = '0', last_modified = now() where categories_id = '" . $tree[$i]['id'] . "'");
  }
}
 }
// #################### End Added Enable / Disable Categories ################

Could this be what is causing it? Please help! And thank you in advance!

Edited by imintrouble
Link to comment
Share on other sites

  • 2 weeks later...

Hi, Thank you for a great contribution.

 

I spent about a week trying unsuccessfully to get either of the Paypal Payments Pro contributions going on my heavily modded site. I gave up and have been successful with Paypal IPN.

 

I have gone live and have successfully put through two small transactions using my private Paypal account. Everything looks like its working.

 

Except that every day, I get this email. As far as I know, it doesn't correspond to an order, because I haven't begun promoting the site at all and don't have any record of orders or customer contacts. (I haven't started promoting the site at all and only recently removed my password protection, so I'm pretty positive no real order is associated). When I do my test orders, a similar email arrives full of proper information.

 

I have searched and found others who have gotten this message, but not, apparently, auto-generated. I think the module is working, so if anyone know, please let me know what's going on and if this is a problem:

 

 

------------------------------------------------------

Unknown Post

------------------------------------------------------

An unknown POST from 66.135.197.164 was received.

Are you running any tests?

 

------------------------------------------------------

PayPal Response

------------------------------------------------------

 

 

------------------------------------------------------

Connection Type

------------------------------------------------------

curl: 1 transport: domain: www.paypal.com port:

 

------------------------------------------------------

Attention!

------------------------------------------------------

This is email has NOT been sent by PayPal.

 

You have received this email via the osCommerce PayPal_Shopping_Cart_IPN Contribution

 

To discontinue receiving this notice disable 'Debug Email Notifications' in your osCommerce PayPal configuration panel.

Link to comment
Share on other sites

Hi all,

 

I have just installed PayPal IPN 1.1 and everything works fine except for the item name appears on the PayPal receipt. I have installed CCGV as well and if I were to set the transaction type to "Per Item", discount value will not appear on PayPal at all. However, if I were to set the transaction type to "Aggregate", I can only see my page's title under item purchased.

 

I ve read previous posts and I understand that this is the limitation of the contribution, which I can accept. My only question is is there a way to use some other generic name other than my page's title?

 

Will be very grateful if someone can point me to the right direction. :blink:

 

Thank you!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...