Forums / PayPal Express Checkout support / Express Checkout payment module

Express Checkout payment module

Results 1 to 20 of 29
25 Nov 2012, 22:31
#1
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Express Checkout payment module

Hi, ive been using website payments standard and over the last couple of days am having issues with IPN not creating the order.

I have read on here that using the express checkout is much more stable and is less likley to have problems.

However, i just set it up, but I no longer have detailed line items when on the paypal site? I think this is not very user friendly for the customer. have I configured something incorrectly? i'm using 1.3.9h

Thanks in advance, also appreciate it if anyone else coud let me know if they have suddenly had problems with the orders not creating? was working fine for me for ages and all of a sudden last 48 hours its a bit tempromental. Even when i manually re-send the IPN i'm having no luck :(

Cheers

Phil
26 Nov 2012, 01:49
#2
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Express Checkout payment module

1. If IPNs aren't being received by your store, then no order will be created. That could be a PayPal problem.
2. If IPNs are encountering errors in your store while it's trying to process them, no order will be created. That could be a currency or price mismatch problem, or a myriad of other mismatch problems. Will be detailed in the PayPal IPN debug logs if that is enabled.
3. Express Checkout is more likely to show line-item details than IPN ever was. But it cannot show line-item details if the order is placed in a currency other than your PayPal account's main currency, or if discounts are applied to the order, or if there are rounding problems when calculating discounts and/or taxes ... because PayPal can't do the math of adding up all the numbers in such scenarios. That said, both EC and IPN use largely the same code to prepare line-item details, so if it works in one then it should work in the other. Whatever is causing the details to not show will be explained in the debug logs, if debug logging is enabled.
26 Nov 2012, 05:02
#3
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

Here's the error with debug on and resenting the IPN:
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.

What could have caused this? Happened twice in a row..

Phil
26 Nov 2012, 05:11
#4
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Express Checkout payment module

That IPN log is triggered by an Express Checkout transaction, and is completely normal. Nothing unusual there.
26 Nov 2012, 05:12
#5
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

But it wasn't an express checkout payment, this was from when I was using payments standard..
26 Nov 2012, 05:15
#6
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

The last debug message says:
NOTICE: IPN Processing Aborted due to missing matching transaction data, as
per earlier debug message. Perhaps this transaction was already entered via
PDT? Thus there is no need to process this incoming IPN notification.
26 Nov 2012, 07:02
#7
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

Let me explain a bit more.##
First problem:
I usually use website payments standard which is what I have had issues arising with. I had an order not complete only payment taken so I manually resent the IPN twice. This did nothing, so on your advice I enabled debugging and resent the IPN. This is what I got:
----
IPN PROCESSING INITIATED.##
*** Originating IP: 173.0.81.1 ##notify.paypal.com
----
IPN ERROR :: Could not find stored session
{05fda2a2b64bc03b5d485a0457788bb4} 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.
-----
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.
------
Breakpoint: 0 - Initializing debugging.
-----
Breakpoint: Flag Status:
isECtransaction = 0
isDPtransaction = 0
-----
IPN INFO - POST VARS received (sorted):
Array
(
## ##[address_city] =>##REMOVED FOR PRIVICY
## ##[address_country] => United Kingdom
## ##[address_country_code] => GB
## ##[address_name] =>##REMOVED FOR PRIVICY
## ##[address_state] =>##REMOVED FOR PRIVICY
## ##[address_status] => confirmed
## ##[address_street] =>##REMOVED FOR PRIVICY
## ##[address_zip] => REMOVED FOR PRIVICY
## ##[business] => [email protected]
## ##[charset] => windows-1252
## ##[custom] => zenid=05fda2a2b64bc03b5d485a0457788bb4
## ##[first_name] => REMOVED FOR PRIVICY
## ##[ipn_track_id] => REMOVED FOR PRIVICY
## ##[item_name1] => PRODUCT
## ##[item_name2] => PRODUCT
## ##[item_name3] => PRODUCT
## ##[item_name4] => PRODUCT
## ##[item_number1] => 9241
## ##[item_number2] => 3493
## ##[item_number3] => 2286
## ##[item_number4] => 9975
## ##[last_name] =>##REMOVED FOR PRIVACY
## ##[mc_currency] => GBP
## ##[mc_fee] => 0.91
## ##[mc_gross] => 20.96
## ##[mc_gross_1] => 2.76
## ##[mc_gross_2] => 5.44
## ##[mc_gross_3] => 4.35
## ##[mc_gross_4] => 8.41
## ##[mc_handling] => 0.00
## ##[mc_handling1] => 0.00
## ##[mc_handling2] => 0.00
## ##[mc_handling3] => 0.00
## ##[mc_handling4] => 0.00
## ##[mc_shipping] => 0.00
## ##[mc_shipping1] => 0.00
## ##[mc_shipping2] => 0.00
## ##[mc_shipping3] => 0.00
## ##[mc_shipping4] => 0.00
## ##[notify_version] => 3.7
## ##[num_cart_items] => 4
## ##[payer_email] =>##REMOVED FOR PRIVACY
## ##[payer_id] => REMOVED FOR PRIVACY
## ##[payer_status] => unverified
## ##[payment_date] => 12:45:03 Nov 25, 2012 PST
## ##[payment_fee] =>##
## ##[payment_gross] =>##
## ##[payment_status] => Completed
## ##[payment_type] => instant
## ##[protection_eligibility] => Eligible
## ##[quantity1] => 1
## ##[quantity2] => 1
## ##[quantity3] => 1
## ##[quantity4] => 1
## ##[receipt_id] => REMOVED FOR PRIVACY
## ##[receiver_email] => [email protected]
## ##[receiver_id] => REMOVED FOR PRIVACY
## ##[resend] => true
## ##[residence_country] => GB
## ##[tax] => 0.00
## ##[tax1] => 0.00
## ##[tax2] => 0.00
## ##[tax3] => 0.00
## ##[tax4] => 0.00
## ##[transaction_subject] => zenid=05fda2a2b64bc03b5d485a0457788bb4
## ##[txn_id] => REMOVED FOR PRIVACY
## ##[txn_type] => cart
## ##[verify_sign] => REMOVED FOR PRIVACY
)
-----

IPN INFO - POST VARS to be sent back (unsorted) for validation (using CURL):

To: www.paypal.com:80
Array
(
## ##[cmd] => _notify-validate
## ##[mc_gross_1] => 2.76
## ##[mc_gross_2] => 5.44
## ##[mc_gross_3] => 4.35
## ##[mc_gross_4] => 8.41
## ##[mc_handling1] => 0.00
## ##[mc_handling2] => 0.00
## ##[mc_handling3] => 0.00
## ##[mc_handling4] => 0.00
## ##[num_cart_items] => 4
## ##[payer_id] =>##REMOVED FOR PRIVACY
## ##[address_country_code] => GB
## ##[ipn_track_id] =>##REMOVED FOR PRIVACY
## ##[address_zip] =>##REMOVED FOR PRIVACY
## ##[charset] => windows-1252
## ##[payment_gross] =>##
## ##[address_status] => confirmed
## ##[address_street] =>##REMOVED FOR PRIVACY
## ##[receipt_id] =>##REMOVED FOR PRIVACY
## ##[verify_sign] =>##REMOVED FOR PRIVACY
## ##[tax1] => 0.00
## ##[tax2] => 0.00
## ##[tax3] => 0.00
## ##[tax4] => 0.00
## ##[mc_shipping] => 0.00
## ##[txn_type] => cart
## ##[receiver_id] =>##REMOVED FOR PRIVACY
## ##[payment_fee] =>##
## ##[item_number1] => 9241
## ##[item_number2] => 3493
## ##[item_number3] => 2286
## ##[mc_currency] => GBP
## ##[item_number4] => 9975
## ##[transaction_subject] => zenid=05fda2a2b64bc03b5d485a0457788bb4
## ##[custom] => zenid=05fda2a2b64bc03b5d485a0457788bb4
## ##[protection_eligibility] => Eligible
## ##[quantity1] => 1
## ##[quantity2] => 1
## ##[quantity3] => 1
## ##[address_country] => United Kingdom
## ##[quantity4] => 1
## ##[payer_status] => unverified
## ##[first_name] =>##REMOVED FOR PRIVACY
## ##[item_name1] => PRODUCT
## ##[item_name2] => PRODUCT
## ##[item_name3] => PRODUCT
## ##[address_name] =>##REMOVED FOR PRIVACY
## ##[item_name4] => PRODUCT
## ##[mc_gross] => 20.96
## ##[mc_shipping1] => 0.00
## ##[mc_shipping2] => 0.00
## ##[mc_shipping3] => 0.00
## ##[mc_shipping4] => 0.00
## ##[payment_date] => 12:45:03 Nov 25, 2012 PST
## ##[payment_status] => Completed
## ##[business] => [email protected]
## ##[mc_handling] => 0.00
## ##[last_name] =>##REMOVED FOR PRIVACY
## ##[address_state] =>##REMOVED FOR PRIVACY
## ##[txn_id] =>##REMOVED FOR PRIVACY
## ##[mc_fee] => 0.91
## ##[resend] => true
## ##[payment_type] => instant
## ##[notify_version] => 3.7
## ##[payer_email] =>##REMOVED FOR PRIVACY
## ##[receiver_email] => [email protected]
## ##[address_city] =>##REMOVED FOR PRIVACY
## ##[tax] => 0.00
## ##[residence_country] => GB
)

-----

CURL OPTS: Array
(
## ##[10002] => https://www.paypal.com/uk/cgi-bin/webscr
## ##[47] => 1
## ##[10015] =>
cmd=_notify-validate&mc_gross_1=2.76&mc_gross_2=5.44&mc_gross_3=4.35&mc_gross_4=8.41&mc_handling1=0.00&mc_handling2=0.00&mc_handling3=0.00&mc_handling4=0.00&num_cart_items=4&payer_id=removedforprivicy&address_country_code=GB&ipn_track_id=removedforprivicy&address_zip=Removedforprivacy&charset=windows-1252&payment_gross=&address_status=confirmed&address_street=removedforprivicy&receipt_id=removedforprivicy&verify_sign=removedforprivicy&tax1=0.00&tax2=0.00&tax3=0.00&tax4=0.00&mc_shipping=0.00&txn_type=cart&receiver_id=removedforprivicy&payment_fee=&item_number1=9241&item_number2=3493&item_number3=2286&mc_currency=GBP&item_number4=9975&transaction_subject=zenid%3D05fda2a2b64bc03b5d485a0457788bb4&custom=zenid%3D05fda2a2b64bc03b5d485a0457788bb4&protection_eligibility=Eligible&quantity1=1&quantity2=1&quantity3=1&address_country=United+Kingdom&quantity4=1&payer_status=unverified&first_name=removedforprivicy&item_name1=Product&item_name2=Product&item_name3=Product&address_name=removedforprivicy&item_name4=Product&mc_gross=20.96&mc_shipping1=0.00&mc_shipping2=0.00&mc_shipping3=0.00&mc_shipping4=0.00&payment_date=12%3A45%3A03+Nov+25%2C+2012+PST&payment_status=Completed&business=payments%40mysite.com&mc_handling=0.00&last_name=removedforprivicy&address_state=removedforprivicy&txn_id=removedforprivicy&mc_fee=0.91&resend=true&payment_type=instant&notify_version=3.7&payer_email=
removedforprivicy&receiver_email=payments%40mysite.com&address_city=removedforprivicy&tax=0.00&residence_country=GB
## ##[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
)
----
CURL response: VERIFIED
----
IPN INFO (cl) - Confirmation/Validation response VERIFIED
----
Breakpoint: 1 - Collected data from PayPal notification
----
IPN INFO :: Transaction email details.
From IPN = [email protected] | [email protected]
From CONFIG = [email protected]

----
Breakpoint: 2 - Validated transaction components
----
Breakpoint: 3 - Communication method verified
----
IPN NOTICE :: Could not find matched txn_id record in DB. Therefore is new
to us.##
---
Breakpoint: 4 - Details: ##txn_type=unique ## ##ordersID = 0 ##IPN_id=0

## Relevant data from POST:
## ## txn_type = unique
## ## parent_txn_id = None
## ## txn_id = REMOVED FOR PRIVACY
----
##
IPN NOTICE :: IPN pausing: waiting for PDT to process. Sleeping 10 seconds
...

IPN ERROR :: Could not find stored session
{05fda2a2b64bc03b5d485a0457788bb4} 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.
----
IPN ERROR :: No pending Website Payments Standard session data available.##
Might be a duplicate transaction already entered via PDT.
-----
I am wanting to know if you can see what has gone wrong with this order so it doesn't create?##
Is there something wrong with my site/server to cause this? Would switching to express checkout resolve this?

Second problem:
As I said before when I switched to express the line numbers didn't show, you mentioned discounts cause this, does that include sale items? I ask because I noticed in payment standard that when a coupon is applied the total is consolidated but not with sales, does express do the same with sales too?

Thanks
26 Nov 2012, 16:35
#8
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Express Checkout payment module

philip937:


IPN ERROR :: Could not find stored session
{05fda2a2b64bc03b5d485a0457788bb4} 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.
-----
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.
----
IPN ERROR :: No pending Website Payments Standard session data available.##
Might be a duplicate transaction already entered via PDT.
-----
I am wanting to know if you can see what has gone wrong with this order so it doesn't create?
Hard to tell. The log is saying exactly why it didn't store the order: it couldn't find any customer's checkout that was sent to PayPal and still waiting for an IPN to be matched up to it. Thus it has nothing it needs to do.
If that is happening to you on EVERY order, then yes you've got something wrong with your system, or you're purging the stored paypal-sessions data which it uses to do matching (you'd have to do that by manually editing data in phpMyAdmin, or by using an addon that purges that info).

philip937:


Second problem:
As I said before when I switched to express the line numbers didn't show, you mentioned discounts cause this, does that include sale items? I ask because I noticed in payment standard that when a coupon is applied the total is consolidated but not with sales, does express do the same with sales too?

No, a "sale" shouldn't operate any differently in EC vs IPN.
26 Nov 2012, 23:36
#9
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

Hmm that's interesting, I've had a few today that haven't done the same, in fact interestingly I have noticed that there has been about a 1 min delay between the payment and order being placed? But I assume that's just a delay with PayPal? I will carry on monitoring.

The express checkout thing, If I set website payments standard up to do detailed line items it works fine (unless a coupon discount applied) if I do the exact same order with express, the order is not On individual detailed lines..?? Any ideas what could be causing this as from what you've said sounds like it should be??
27 Nov 2012, 03:46
#10
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Express Checkout payment module

I suspect it's a currency mismatch issue or something like that.

But I can't offer any opinions without seeing the complete logs from every small step of the transaction.
27 Nov 2012, 09:38
#11
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

Ok leave it with me and I'll try and do more testing, the first issue is becoming less of an issue now so might have just been a glitch and coincidence I had two in a row.

Is there a way you can manually force a customers cart to process in the event of such an occurrence? I.e if you know the customer has paid but the order doesn't create? Would be great to have a list of unapproved orders and the ability to manually approve?

Please stay on this thread and I'll post back when I have more info, cheers Doc
28 Nov 2012, 15:08
#12
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

Dr Byte, appologised for the delay, I'm actually away this week so will be doing testing of the express checkout at the weekend.
I have just had another order through payments standard that has had the same problem where it isn't creating the order. Any ideas what could be causing a session value not to be stored against the order which causes the details not to be found?
28 Nov 2012, 18:23
#13
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Express Checkout payment module

Problems with Standard are usually currency or price mismatches, and would be shown in the logs if logging is enabled.
28 Nov 2012, 19:17
#14
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

The problem I have with standard is the error I posted above where it's not finding a matching session id. I was wondering if there is anything that would cause that to happen?
28 Nov 2012, 21:42
#15
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Express Checkout payment module

Well, then either you've got your site seriously broken by altering all manner of core code, or those particular log messages are coming from PayPal/eBay transactions which originated from outside your store.
28 Nov 2012, 23:51
#16
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

Odd, well only started to happen since I switched to PayPal standard so hopefully going back to express should fix it??
29 Nov 2012, 04:49
#17
drbyte avatar

drbyte

Sensei

Join Date:
Jan 2004
Posts:
63,506
Plugin Contributions:
173

Re: Express Checkout payment module

Hopefully.
05 Dec 2012, 17:07
#18
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

Doc,

Just had another order on the payments standard not create the order, i've just looked at the logs and say the following at the bottom:


| mc_currency = GBP
| submitted_currency = GBP
| order_currency = GBP
| mc_gross = 36.37
| converted_amount = 36.36
| order_amount = 36.3632

Dec 05 2012 16:47 -- IPN NOTICE :: Failed because of currency mismatch.


how can I fix this? so that when i resend the IPN the order will go through?

Thanks

Phil
05 Dec 2012, 17:58
#19
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

I just resent the IPN and the error now says similar to the other logs I saw:

Dec 05 2012 17:20 -- NOTICE: IPN Processing Aborted due to missing matching transaction data, as per earlier debug message. Perhaps this transaction was already entered via PDT? Thus there is no need to process this incoming IPN notification.

So I guess the first error and reason orders are not created is due to currency mis match, and the second do do with the fact that the IPN resending is not finding the order info? is the order info being deleted when the first process runs? and hence the second message?

For now I have found this two liner fix for the currency mis-match but I assume it only works when an order is created from scratch?

[PHP] // $this->totalsum = $order->info['total'];
$my_currency = select_pp_currency();
$this->totalsum = $order->info['total'] = zen_round($order->info['total'], $currencies->get_decimal_places($my_currency));[/PHP]

I saw in the same thread this was fixed in v1.5, however I don't have time to upgrade at present, is there a better way to do a fix for this or is the two liner above the only way on 1.3.9h ?

I'm guessing that discounts ect I have set are rounding incorrectly which is what is causing the problem?

Thanks Phil
05 Dec 2012, 18:14
#20
philip937 avatar

philip937

Totally Zenned

Join Date:
Aug 2009
Posts:
968
Plugin Contributions:
0

Re: Express Checkout payment module

with the two liner fix how is it working? I have just simulated the order (without placing it) with this altered code.

The shopping cart total shows as
£36.36

and when at paypal is:
£36.37

this is the same as before i changed the code, does this mean its not working or is the modified rounding done when the data is sent back to confirm the order?