Quote Originally Posted by Mega Moonshine View Post
BUT... going into admin to check on the order details (super orders), everything is fine EXCEPT that it shows there is "No Payment Data Available".
If you do NOT use the Super Orders module, but use the original official /admin/orders.php module instead, you may end up with better results.

You didn't say *where* that "no payment data" message appeared. If you're talking about the section that typically shows up in a gray background to show PayPal-specific information, none of that information is crucial to your normal handling of orders. It's reference information only, and is pulled from PayPal in real-time. You don't need that information to process orders in your store.
Given that your post says that "below it, it shows the PayPal transaction info with payment status 'completed' and so on", it sounds like you're not referring to this section. So, read on:

If, however, you are referring to a section of the screen normally presented by the Super Orders module, then you must have a bug in that module. I'm sorry, I can't comment on how that module works specifically.
Quote Originally Posted by Mega Moonshine View Post
If I view or print an invoice, it displays a Balance Due of an $XX.xx (but should be $0 as the amount due was collected sucessfully).
Again, that sounds like a Super Orders problem.

Quote Originally Posted by Mega Moonshine View Post
1. Why didn't Zen Cart and/or the payment module properly set this order as Paid (with a Balance Due of $0) and show the Order Payment Data?

Here's the settings I have for Localization/Order Status(s):

1 - Shipped (was originally Pending)
2 - New Order (was originally Processing)
3 - Stock Check (was originally Delivered)
4 - Processing (was originally Update)
5 - Pending
6 - Production
7 - Ready to Ship

Here is the PayPal Express Checkout settings for Order Status's:

Set Order Status = New Order [2]
Set Unpaid Order Status = Pending [5]
Set Refund Order Status = Pending [5]
Given those settings, the PayPal module would indeed have set the order to "2-New Order" as specified.
Quote Originally Posted by Mega Moonshine View Post
2. I know you can Add and/or Edit a Status Order's Name or Label, but the Status Order ID # is still a number. Is any of the modules for payment, etc., programmed (hard coded) to set, or check, for a specific Order Status ID # for payment processing? Just because one can change the Label Name, the programming is still checking for, or setting, a particular Status Order ID #.

Which leads me to believe that it's the ID # that is the most important piece, not what you "Label" it for preference sake. Which is why I kept ID # '2' as the default, but had renamed it "New Order". It should have worked... but it didn't and the order was left with a balance due, as it thinks there's been no payment made.
Indeed the PayPal module does use the number. It doesn't care what the label is. That's why Zen Cart uses numbers internally for those order-status values. No numbers are hard-coded.

If the order was not set to orders_status=2 in the database, then you've got one of the following situations:
a) you've set the PayPal module into "Authorization Only" instead of "Auth+Capture" mode, and thus the order is being set to Pending because it's NOT actually collecting ANY payment ... it's only reserving/authorizing the funds for you to capture payment at a later date. I doubt this is what you've done.
b) you've got addon or damaged files that are breaking the normal operation of the core code and preventing it from doing what it's designed to do.