Zen Cart Logo
Forums / Bug Reports / [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

[Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

Locked

Views: 3,662

Results 1 to 16 of 16
This thread is locked. New replies are disabled.
26 May 2010, 10:44 PM
#1
xcooling avatar

xcooling

New Zenner

Join Date:
Apr 2008
Location:
internet
Posts:
41
Plugin Contributions:
0

[Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

Hi

this is happening with most of my paypal ipn orders... looks its not decoding correctly

Using 1.3.9c on ubuntu 10.04 (apache 2.2, php 5.3, curl, etc)

May 26 2010 16:51 -- IPN WARNING :: Transaction email address NOT matched.
From IPN = sales%40mysite.com | sales%40mysite.com
From CONFIG = [email protected]

May 26 2010 16:51 -- IPN PROCESSING INITIATED.
*** Originating IP: 66.211.170.66 notify.paypal.com

May 26 2010 16:51 -- IPN ERROR :: Could not find stored session {} in DB; thus cannot validate or re-create session as a transaction awaiting PayPal Website Payments Standard confirmation initiated by this store. Might be an Express Checkout or eBay transaction or some other action that triggers PayPal IPN notifications.

May 26 2010 16:51 -- IPN ERROR :: No saved Website Payments Standard session data available. Must be an Express Checkout or Direct Pay transaction.
Could be a test notification, or the incoming IPN notification is not actually a bonafide PayPal transaction.
NOTE: It is likely that all the following log content is meaningless or irrelevant.

May 26 2010 16:51 -- Breakpoint: 0 - Initializing debugging.

May 26 2010 16:51 -- Breakpoint: Flag Status:
isECtransaction = 0
isDPtransaction = 0

May 26 2010 16:51 -- IPN INFO - POST VARS received (sorted):
Array
(
[business] => [email protected]
[charset] => windows-1252
[custom] => zenid=e3e2hi3avifhjmcttt7ggk88i0
[first_name] =>
[handling_amount] => 0.00
[item_name] => My Site Name Co., Ltd Purchase
[item_number] => Store Receipt
[last_name] =>
[mc_currency] => USD
[mc_fee] => 8.63
[mc_gross] => 287.19
[notify_version] => 2.9
[payer_email] => [email protected]
[payer_id] => EUFCU29AH6XRS
[payer_status] => verified
[payment_date] => 06:11:46 May 26, 2010 PDT
[payment_fee] => 8.63
[payment_gross] => 287.19
[payment_status] => Completed
[payment_type] => instant
[protection_eligibility] => Ineligible
[quantity] => 1
[receiver_email] => [email protected]
[receiver_id] => YEJRG9TK54E5J
[resend] => true
[residence_country] => JP
[shipping] => 0.00
[tax] => 0.00
[transaction_subject] => zenid=e3e2hi3avifhjmcttt7ggk88i0
[txn_id] => 2G8149945W847680L
[txn_type] => web_accept
[verify_sign] => XwD1sGGmdrzDKNGw7KMBMuZSx1AHAdxaAGwvbCdzK5DIV3fJsBSEeZ8y
)

May 26 2010 16:51 -- IPN INFO - POST VARS to be sent back (unsorted) for validation (using CURL):
To: www.paypal.com:80
Array
(
[cmd] => _notify-validate
[handling_amount] => 0.00
[payer_id] => EUFCU29AH6XRS
[shipping] => 0.00
[charset] => windows-1252
[payment_gross] => 287.19
[verify_sign] => XwD1sGGmdrzDKNGw7KMBMuZSx1AHAdxaAGwvbCdzK5DIV3fJsBSEeZ8y
[item_name] => My+Site+Name+Co.%2C+Ltd+Purchase
[txn_type] => web_accept
[receiver_id] => YEJRG9TK54E5J
[payment_fee] => 8.63
[mc_currency] => USD
[transaction_subject] => zenid%3De3e2hi3avifhjmcttt7ggk88i0
[custom] => zenid%3De3e2hi3avifhjmcttt7ggk88i0
[protection_eligibility] => Ineligible
[payer_status] => verified
[first_name] => %1A%1A
[mc_gross] => 287.19
[payment_date] => 06%3A11%3A46+May+26%2C+2010+PDT
[payment_status] => Completed
[quantity] => 1
[business] => sales%40mysite.com
[item_number] => Store+Receipt
[last_name] => %1A%1A
[txn_id] => 2G8149945W847680L
[mc_fee] => 8.63
[resend] => true
[payment_type] => instant
[notify_version] => 2.9
[payer_email] => customer%40email.com
[receiver_email] => sales%40mysite.com
[tax] => 0.00
[residence_country] => JP
)

May 26 2010 16:51 -- CURL OPTS: Array
(
[10002] => https://www.paypal.com/cgi-bin/webscr
[47] => 1
[10015] => cmd=_notify-validate&handling_amount=0.00&payer_id=EUFCU29AH6XRS&shipping=0.00&charset=windows-1252&payment_gross=287.19&verify_sign=XwD1sGGmdrzDKNGw7KMBMuZSx1AHAdxaAGwvbCdzK5DIV3fJsBSEeZ8y&item_name=My%2BSite%2BName%2BCo.%252C%2BLtd%2BPurchase&txn_type=web_accept&receiver_id=YEJRG9TK54E5J&payment_fee=8.63&mc_currency=USD&transaction_subject=zenid%253De3e2hi3avifhjmcttt7ggk88i0&custom=zenid%253De3e2hi3avifhjmcttt7ggk88i0&protection_eligibility=Ineligible&payer_status=verified&first_name=%251A%251A&mc_gross=287.19&payment_date=06%253A11%253A46%2BMay%2B26%252C%2B2010%2BPDT&payment_status=Completed&quantity=1&business=sales%2540mysite.com&item_number=Store%2BReceipt&last_name=%251A%251A&txn_id=2G8149945W847680L&mc_fee=8.63&resend=true&payment_type=instant&notify_version=2.9&payer_email=customer%2540email.com&receiver_email=sales%2540mysite.com&tax=0.00&residence_country=JP
[13] => 45
[78] => 30
[41] => 0
[42] => 0
[52] => 0
[19913] => 1
[64] => 0
[81] => 2
[75] => 1
[74] => 1
[84] => 2
[10018] => Zen Cart(tm) - IPN Postback
)

May 26 2010 16:51 -- CURL response: VERIFIED

May 26 2010 16:51 -- IPN INFO (cl) - Confirmation/Validation response VERIFIED

May 26 2010 16:51 -- Breakpoint: 1 - Collected data from PayPal notification

May 26 2010 16:51 -- IPN WARNING :: Transaction email address NOT matched.
From IPN = sales%40mysite.com | sales%40mysite.com
From CONFIG = [email protected]

May 26 2010 16:51 -- IPN FATAL ERROR :: Transaction did not validate. ABORTED.

26 May 2010, 10:52 PM
#2
xcooling avatar

xcooling

New Zenner

Join Date:
Apr 2008
Location:
internet
Posts:
41
Plugin Contributions:
0

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

Another Example

May 26 2010 17:06 -- IPN WARNING :: Transaction email address NOT matched.
From IPN = sales%40mysite.com | sales%40mysite.com
From CONFIG = [email protected]

May 26 2010 17:06 -- IPN PROCESSING INITIATED.
*** Originating IP: 66.211.170.66 notify.paypal.com

May 26 2010 17:06 -- IPN ERROR :: Could not find stored session {} in DB; thus cannot validate or re-create session as a transaction awaiting PayPal Website Payments Standard confirmation initiated by this store. Might be an Express Checkout or eBay transaction or some other action that triggers PayPal IPN notifications.

May 26 2010 17:06 -- IPN ERROR :: No saved Website Payments Standard session data available. Must be an Express Checkout or Direct Pay transaction.
Could be a test notification, or the incoming IPN notification is not actually a bonafide PayPal transaction.
NOTE: It is likely that all the following log content is meaningless or irrelevant.

May 26 2010 17:06 -- Breakpoint: 0 - Initializing debugging.

May 26 2010 17:06 -- Breakpoint: Flag Status:
isECtransaction = 0
isDPtransaction = 0

May 26 2010 17:06 -- IPN INFO - POST VARS received (sorted):
Array
(
[business] => [email protected]
[charset] => windows-1252
[custom] => zenid=tb584k267157ljldmi59s1git3
[first_name] => Samuel
[handling_amount] => 0.00
[item_name] => My Web Site Co., Ltd Purchase
[item_number] => Store Receipt
[last_name] => Macfie
[mc_currency] => USD
[mc_fee] => 3.50
[mc_gross] => 110.26
[notify_version] => 2.9
[payer_email] => [email protected]
[payer_id] => 6GNKQ6HB36K78
[payer_status] => verified
[payment_date] => 22:15:22 May 25, 2010 PDT
[payment_fee] => 3.50
[payment_gross] => 110.26
[payment_status] => Completed
[payment_type] => instant
[protection_eligibility] => Ineligible
[quantity] => 1
[receiver_email] => [email protected]
[receiver_id] => YEJRG9TK54E5J
[resend] => true
[residence_country] => AU
[shipping] => 0.00
[tax] => 0.00
[transaction_subject] => zenid=tb584k267157ljldmi59s1git3
[txn_id] => 5N29704720855391S
[txn_type] => web_accept
[verify_sign] => AQU8e5vuZCvSg-XJploSa.sGUDlpAW42IU0Rtie5Ar4Rrpv7fd6nkwnWE
)

May 26 2010 17:06 -- IPN INFO - POST VARS to be sent back (unsorted) for validation (using CURL):
To: www.paypal.com:80
Array
(
[cmd] => _notify-validate
[handling_amount] => 0.00
[payer_id] => 6GNKQ6HB36K78
[shipping] => 0.00
[charset] => windows-1252
[payment_gross] => 110.26
[verify_sign] => AQU8e5vuZCvSg-XJploSa.sGUDlpAW42IU0Rtie5Ar4Rrpv7fd6nkwnWE
[item_name] => My+Web+Site+Co.%2C+Ltd+Purchase
[txn_type] => web_accept
[receiver_id] => YEJRG9TK54E5J
[payment_fee] => 3.50
[mc_currency] => USD
[transaction_subject] => zenid%3Dtb584k267157ljldmi59s1git3
[custom] => zenid%3Dtb584k267157ljldmi59s1git3
[protection_eligibility] => Ineligible
[payer_status] => verified
[first_name] => Samuel
[mc_gross] => 110.26
[payment_date] => 22%3A15%3A22+May+25%2C+2010+PDT
[payment_status] => Completed
[quantity] => 1
[business] => sales%40mysite.com
[item_number] => Store+Receipt
[last_name] => Macfie
[txn_id] => 5N29704720855391S
[mc_fee] => 3.50
[resend] => true
[payment_type] => instant
[notify_version] => 2.9
[payer_email] => customer%40email.com
[receiver_email] => sales%40mysite.com
[tax] => 0.00
[residence_country] => AU
)

May 26 2010 17:06 -- CURL OPTS: Array
(
[10002] => https://www.paypal.com/cgi-bin/webscr
[47] => 1
[10015] => cmd=_notify-validate&handling_amount=0.00&payer_id=6GNKQ6HB36K78&shipping=0.00&charset=windows-1252&payment_gross=110.26&verify_sign=AQU8e5vuZCvSg-XJploSa.sGUDlpAW42IU0Rtie5Ar4Rrpv7fd6nkwnWE&item_name=My%2BWeb%2BSite%2BCo.%252C%2BLtd%2BPurchase&txn_type=web_accept&receiver_id=YEJRG9TK54E5J&payment_fee=3.50&mc_currency=USD&transaction_subject=zenid%253Dtb584k267157ljldmi59s1git3&custom=zenid%253Dtb584k267157ljldmi59s1git3&protection_eligibility=Ineligible&payer_status=verified&first_name=Samuel&mc_gross=110.26&payment_date=22%253A15%253A22%2BMay%2B25%252C%2B2010%2BPDT&payment_status=Completed&quantity=1&business=sales%2540mysite.com&item_number=Store%2BReceipt&last_name=Macfie&txn_id=5N29704720855391S&mc_fee=3.50&resend=true&payment_type=instant&notify_version=2.9&payer_email=customer%2540email.com&receiver_email=sales%2540mysite.com&tax=0.00&residence_country=AU
[13] => 45
[78] => 30
[41] => 0
[42] => 0
[52] => 0
[19913] => 1
[64] => 0
[81] => 2
[75] => 1
[74] => 1
[84] => 2
[10018] => Zen Cart(tm) - IPN Postback
)

May 26 2010 17:06 -- CURL response: VERIFIED

May 26 2010 17:06 -- IPN INFO (cl) - Confirmation/Validation response VERIFIED

May 26 2010 17:06 -- Breakpoint: 1 - Collected data from PayPal notification

May 26 2010 17:06 -- IPN WARNING :: Transaction email address NOT matched.
From IPN = sales%40mysite.com | sales%40mysite.com
From CONFIG = [email protected]

May 26 2010 17:06 -- IPN FATAL ERROR :: Transaction did not validate. ABORTED.

26 May 2010, 10:52 PM
#3
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

In what country is your PayPal account domiciled?
What character set do you have your store running in?

I have none of the problems you mention when using regular US English in an out-of-the-box Zen Cart v1.3.9c installation.

26 May 2010, 11:00 PM
#4
xcooling avatar

xcooling

New Zenner

Join Date:
Apr 2008
Location:
internet
Posts:
41
Plugin Contributions:
0

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

WebServer Located in USA

PayPal : China

@setlocale(LC_TIME, 'en_US.ISO_8859-1');

26 May 2010, 11:08 PM
#5
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

CHARSET define?
What languages in your store?

26 May 2010, 11:14 PM
#6
xcooling avatar

xcooling

New Zenner

Join Date:
Apr 2008
Location:
internet
Posts:
41
Plugin Contributions:
0

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

only English

(all other languages have been removed)

26 May 2010, 11:18 PM
#7
xcooling avatar

xcooling

New Zenner

Join Date:
Apr 2008
Location:
internet
Posts:
41
Plugin Contributions:
0

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

// charset for web pages and emails
define('CHARSET', 'iso-8859-1');

26 May 2010, 11:21 PM
#8
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

Can you help me recreate your same environment on my test server?
I need to duplicate your setup in order to attempt to recreate your problem. Otherwise I can't determine a fix for your unique problem.

26 May 2010, 11:57 PM
#9
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

When did this problem start?
You mentioned that it affects "most" of your orders. So, what's the pattern of consistency between the affected orders vs the unaffected orders?
When did it last work properly without any issues?

27 May 2010, 2:06 PM
#10
xcooling avatar

xcooling

New Zenner

Join Date:
Apr 2008
Location:
internet
Posts:
41
Plugin Contributions:
0

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

Still analyzing..
everything points to curl corrupting the values (encoding @ -> %40)

Order that worked are the ones that ran by IPN INFO - POST VARS to be sent back (unsorted) for validation (using fsockopen)

27 May 2010, 4:35 PM
#11
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

Yes, that does sound like CURL is your culprit. Maybe your hosting company has configured something odd in your CURL settings?

1 Jun 2010, 12:33 PM
#12
frage avatar

frage

New Zenner

Join Date:
Dec 2009
Posts:
11
Plugin Contributions:
0

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

Do you thing this problem is linked with http://www.zen-cart.com/forum/showthread.php?t=156060 ?

I have start log on Paypal IPN and a have

IPN DEBUG message (1275392293_NScj) #6
CURL OPTS: Array
(
[10002] => https://www.paypal.com/cgi-bin/webscr
[47] => 1
[10015] =>
cmd=.......business=myemail**%40endofmyemail.com.........
payer_email=payeremail
%40endofpayeremail.com ......
receiver_email=receiveremail
%40**receiveremail.com.......

IPN DEBUG message (1275392293_NScj) #15
IPN FATAL ERROR :: Transaction did not validate. ABORTED.

Can somebody explain what to do ?

1 Jun 2010, 12:51 PM
#13
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

frage:

I have start log on Paypal IPN and a have

IPN DEBUG message (1275392293_NScj) #6
CURL OPTS: Array
(
[10002] => https://www.paypal.com/cgi-bin/webscr
[47] => 1
[10015] =>
cmd=.......business=myemail**%40endofmyemail.com.........
payer_email=payeremail
%40endofpayeremail.com ......
receiver_email=receiveremail
%40**receiveremail.com.......
That encoding is normal and necessary.

1 Jun 2010, 1:15 PM
#14
frage avatar

frage

New Zenner

Join Date:
Dec 2009
Posts:
11
Plugin Contributions:
0

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

Thank you for your answer, so what could be the reason of the fatal error?

IPN DEBUG message (1275392293_NScj) #15
IPN FATAL ERROR :: Transaction did not validate. ABORTED.

I have already uninstall and réinstall "Paypal IPN"

1 Jun 2010, 1:20 PM
#15
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,513
Plugin Contributions:
176

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

I don't know. Without seeing the rest of the logs. And it should probably be discussed in its own separate thread, not this one.

  1. start a new thread.
  2. post your debug logs. IT IS BETTER TO SET DEBUG-LOG-TO-FILE INSTEAD OF TO EMAIL, because the log file contains all the information in sequential order, unlike the emails which are all sent separately and arrive in wrong order.
1 Jun 2010, 2:45 PM
#16
flipside avatar

flipside

Zen Follower

Join Date:
Oct 2004
Location:
Ontario
Posts:
114
Plugin Contributions:
0

Re: [Done v1.3.9e] 1.3.9c :: IPN FATAL ERROR :: not decoding %40 -> @

In includes/modules/payment/paypal/paypal_functions.php

Change line 179:

if (strtolower(trim($postArray['receiver_email'])) == strtolower(trim(MODULE_PAYMENT_PAYPAL_BUSINESS_ID))) $ppRecEmail = true;

to:

if (urldecode(strtolower(trim($postArray['receiver_email']))) == strtolower(trim(MODULE_PAYMENT_PAYPAL_BUSINESS_ID))) $ppRecEmail = true;

See what happens ....