I just did a live checkout and noticed that no download link or invoice was sent.

The new account details were sent, but after "password:" it said "Your pasword", which I don't think is the intension. Perhaps this is a D7 problem.

My main question is about the download link and invoice.

i don't need special settings for this right? I have added the download file feature to the product.

I've been getting a bunch of error messages, among which:

Notice: Undefined index: block_callback in uc_store_admin() (line 37 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/uc_store/uc_store.admin.inc).
Notice: Undefined index: #title in uc_summarize_element() (line 116 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/uc_store/includes/summaries.inc).
Notice: Undefined index: required in uc_store_address_fields_form_submit() (line 805 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/uc_store/uc_store.module).
Notice: Undefined index: txn_type in uc_paypal_ipn() (line 50 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/payment/uc_paypal/uc_paypal.pages.inc).
Notice: Use of undefined constant RULES_UI_PATH - assumed 'RULES_UI_PATH' in uc_order_settings_form() (line 102 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/uc_order/uc_order.admin.inc).
Notice: Undefined index: #title in uc_summarize_element() (line 116 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/uc_store/includes/summaries.inc).
Notice: Undefined index: block_callback in uc_store_admin() (line 37 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/uc_store/uc_store.admin.inc).
Notice: Undefined index: file_download in uc_file_user_presave() (line 336 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/uc_file/uc_file.module).
Notice: Undefined index: file_add in uc_file_user_presave() (line 361 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/uc_file/uc_file.module).

Comments

dorien’s picture

Is there any other information that I can add that might be useful?

dorien’s picture

Title: No download link or invoice sent - with PayPal » Pending status (with PayPal)

I discovered that the status remains 'pending' of the orders.

I am testing with live paypal...

longwave’s picture

Priority: Critical » Normal
Status: Active » Postponed (maintainer needs more info)

Please test again with the latest -dev version, as several bugs have been fixed since beta1.

Meriial’s picture

Status: Postponed (maintainer needs more info) » Active

I am using the latest -dev version (Feb 24) and I am getting (only) the following two errors afters landing on my site after the trip to PayPal (sandbox):

Notice: Undefined index: file_download in uc_file_user_presave() (line 341 of .../sites/all/modules/ubercart/uc_file/uc_file.module).
Notice: Undefined index: file_add in uc_file_user_presave() (line 366 of .../sites/all/modules/ubercart/uc_file/uc_file.module).

The product I am testing also has a file attachment, but no download link and invoice were sent.

tr’s picture

Status: Active » Postponed (maintainer needs more info)

@Meriial: That problem is #1036576: Notice: Undefined index: new_role in uc_roles_user_presave() - please try out the patch there and report back in that thread whether it worked for you. Note these are only PHP notices, and don't affect the functioning of the code.

Setting this thread back to its previous status...

Meriial’s picture

@TR: That patch successfully dealt with the notices, but there is still no download link or invoice. What more information do you require?

tr’s picture

Frankly, I don't believe there is any bug at all here, and I would personally call this a support request and close this thread with prejudice except that longwave is trying to help, so I'll let him control the issue. Orders stuck in pending is normally either a configuration problem or a conceptual problem. There are lots of threads on ubercart.org and here in the issue queue that discuss this. The PayPal sandbox is a big part of the problem - I usually advise that you test with real PayPal transactions rather than struggling with the sandbox. I just know that whenever I've had to use PayPal I've managed to get it working without any modifications to Ubercart, so I'm skeptical of any claim that there's a fundamental problem.

Meriial’s picture

I can't speak for dorien, but I'm new to Ubercart, so I'll assume for now that it's a conceptual error or a configuration issue on my part. (Or a paypal sandbox incompatibility.)

longwave’s picture

I think there may be some issues with mailouts from UC3 such as #1070852: Mail Error After Checkout, and when trying to email an invoice. but yes I agree that the Pending status is either a configuration issue, or you're running on localhost and PayPal has no way of sending IPN back to your site (perhaps we should check for this in the module, somehow)

dorien’s picture

Version: 7.x-3.0-beta1 » 7.x-3.x-dev

Hi,

I am using the 3.0 beta 1 version. I've used ubercart with paypal before, so I don't think it is a configuration issue. I use Website Payments Standard

I did check with paypal and I noticed:

Payment Data Transfer: Off (also tried with on)
Return URL: myurl/cart/checkout/complete (I presume this is the same url as in Drupal 6?)
Auto Return: On
IPN: off

I checked in my site, there is a rule active: Update order status upon checkout completion with full payment

I don't see what else I could configure...

If I try, 2 invoices (the same) are sent and one new user email (with a field 'Yourpassword' instead of the real pasword, but that is a different issue), and still no download link. The order status remains pending.

dorien’s picture

I just tried 4 more checkout. Only one made it to 'payment received', but still no download link sent.

Why did only 1 make it through?

My log said the following
first:Receiving IPN at URL for order 4.

next:

Location	http://drupalebookstore.com/uc_paypal/ipn/4
Referrer	
Message	Notice: Undefined index: txn_type in uc_paypal_ipn() (line 49 of /home/rawvegan/addons/drupalebookstore.com/sites/all/modules/ubercart/payment/uc_paypal/uc_paypal.pages.inc).

next:

Location	http://drupalebookstore.com/uc_paypal/ipn/4
Message	IPN transaction verified.

still the order status sais pending.

JohnDoranNY’s picture

Priority: Normal » Major

I'm using the latest version of dev (06/22/2011)

In all my PayPal WPP orders, they are all at "Pending".. When an order, under 'Order comments:' I see:

06/22/2011 - Order created.

The system does send out a confirmation email saying the order was processed by credit card/paypal.. but the orde status is not being updated on the system. There were no errors, nothing.. it looked like the order went through perfectly, until you view the order and check it status.

When I had tested with PayPal WPS, I noticed similair.. only one out of 10 or 15 orders status would show payment received... the rest all said pending.

Changing the status to Major...

tr’s picture

Is your site in maintenance mode? Do you see Apache log entries and Drupal watchdog log entries when PayPal tries to connect to your server with IPN? What happens if you try to visit your site's IPN URL manually?

JohnDoranNY’s picture

Hi TR,

Site is not in maintenance mode... I do see in watchdog the following:

Receiving IPN at URL for order 97.

That contained all the information correctly.. but the next log entry was

Notice: Undefined index: mc_fee in uc_paypal_ipn() (line 46 of /home/content/21/7420121/html/sites/all/modules/ubercart/payment/uc_paypal/uc_paypal.pages.inc).

So the IPN did come in... but (looking at the array sent back from paypal for IPN) no 'mc_fee' exists.

Edit...

I edited uc_paypal.pages.inc;

Where the code starting line 41:

// Assign posted variables to local variables
  $payment_status = check_plain($_POST['payment_status']);
  $payment_amount = check_plain($_POST['mc_gross']);
  $payment_currency = check_plain($_POST['mc_currency']);
  $payment_fee = check_plain($_POST['mc_fee']);
  $receiver_email = check_plain($_POST['business']);
  if ($receiver_email == '') {
    $receiver_email = check_plain($_POST['receiver_email']);
  }
  $txn_id = check_plain($_POST['txn_id']);
  $txn_type = check_plain($_POST['txn_type']);
  $payer_email = check_plain($_POST['payer_email']);

I changed to ...

// Assign posted variables to local variables
  if (isset($_POST['payment_status'])) {
    $payment_status = check_plain($_POST['payment_status']);
  }
  if (isset($_POST['mc_gross'])) {
    $payment_amount = check_plain($_POST['mc_gross']);
  }
  if (isset($_POST['mc_currency'])) {
    $payment_currency = check_plain($_POST['mc_currency']);
  }
  if (isset($_POST['mc_fee'])) {
    $payment_fee = check_plain($_POST['mc_fee']);
  }
  if (isset($_POST['business'])) {
    $receiver_email = check_plain($_POST['business']);
  }
  if ($receiver_email == '' && isset($_POST['receiver_email'])) {
    $receiver_email = check_plain($_POST['receiver_email']);
  }
  if (isset($_POST['txn_id'])) {
    $txn_id = check_plain($_POST['txn_id']);
  }
  if (isset($_POST['txn_type'])) {
    $txn_type = check_plain($_POST['txn_type']);
  }
  if (isset($_POST['payer_email'])) {
    $payer_email = check_plain($_POST['payer_email']);
  }

that gets me past the error...

Now in watchdog I see:
Receiving IPN at URL for order 98. Array...
and then
IPN transaction verified.

But the order status is still "Pending"

JohnDoranNY’s picture

I don't know if this helps or not but the code above (#14) I put into a patch on issue #1190004: Credit card information unavailable at review order stage. (comment #20)

But all my orders (while successful and even their review screen says it was successful) are showing as Pending.

Taxoman’s picture

Subscribing

Gemini Lights’s picture

I receive paypal payment just fine and the IPN is successful, however please view our below payment log.

09/06/2011 - 23:02 - PayPal payment for $19.29 entered by -.
09/06/2011 - 23:02 - Order status changed from In Checkout to Payment received.
09/06/2011 - 23:02 - Order status changed from Payment received to Pending.

Is it possible to remain in "Payment received" status rather than go to "Pending"?

I have a default out-the-box setup in the rules configuration.

longwave’s picture

Status: Postponed (maintainer needs more info) » Active

I suspect this may be a side effect of #1192018: Duplicate order notification e-mail, and duplicate stock decrement - the 6.x patch needs to be ported to 7.x.

longwave’s picture

Status: Active » Fixed

$payment_fee and mc_fee were not used anyway, so I have removed that line, which fixes the error in #14. The duplicate order notifications have been fixed so the order statuses should now be set correctly.

Any remaining issues with PayPal should be reported in new issues (or other existing open issues)

Gemini Lights’s picture

Since I updated from 7.x-3.0-beta4 to 7.x-3.0-rc2, I have not been getting orders stuck in Pending.

10/12/2011 - 23:09 - PayPal payment for $439.97 entered.
10/12/2011 - 23:09 - Order status changed from In Checkout to Pending.
10/12/2011 - 23:09 - Order status changed from Pending to Payment received.

jellurrrr1’s picture

And did you change anything?
At the moment I'm just testing it with paypal sandbox, but it keeps stuck in pending.

At the paypal checkout setting this are the settings:
email: the e-mail generated by paypal sandbox
API server: sandbox
API credentials: all filled in

so I make a new account, to try testing

on paypal sandbox both my business and personal accounts are verified. both have "cash" on their accounts.

back to my testsite, test account buys something, paypal screen comes on, so I fill the email generated by paypal for a personal account, password, and get back to my site. Then I click submit order, yay it's sent. (there is a link tho, to the order details, but it's an access denied page)

I then go back to paypal sandbox, enter the test account and see there are successfully payments made.
Still no changes in my drupal store..

Any ideas?

Gemini Lights’s picture

StatusFileSize
new99.83 KB

Here is my rules configuration. Tell me if yours are the same. I'm not exactly sure if I changed anything.

My site is live, not sandbox. If you have more questions, l will try to help where I can.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

neeteex’s picture

Version: 7.x-3.x-dev » 7.x-3.0-rc2
StatusFileSize
new59.65 KB

This is my Rules UI, and I also get stuck to "pending" status. I did not change anything from default, actually I've just enabled rules UI module to try comparison. I just can't see what's wrong in there.

Note : this is 7.9-3.0-rc2, not 3.x-dev

neeteex’s picture

Status: Closed (fixed) » Active

active again, unless someone tells me what could be wrong in my configuration.

tr’s picture

Version: 7.x-3.0-rc2 » 7.x-3.x-dev
Status: Active » Fixed

@neeteex: Re-opening this issue doesn't help, because it implies that all the above information is relevant to your case. I guarantee that it is not.

Please open a new support request if you need help. But be sure to list *in detail* how you have things configured and what you've tried so far. I suggest you do your homework first and read all the threads here and on ubercart.org about PayPal problems and the misconfigurations that can cause them. Orders are *supposed* to stay in Pending, unless something happens like a payment has been received. So have you received an IPN from PayPal? What do your Drupal and server logs say? Is your site in maintenance mode? All sorts of things could be wrong on your end, and you've provided no information. You don't even say if you're using the Sandbox or not.

tr’s picture

Status: Fixed » Closed (fixed)

Back to original status.

neeteex’s picture

OK sorry jellurrrr1's post was close to my case I just jumped on the thread. I'll create a new one... with more info (default out-the-box setup - paypall sandobox - payment received confirmation - pending status - role not updated). .