Paypal orders not going through to Magento - magento

We have noticed that some customer orders never made it through to magento, but they did go through Paypal. This used to happen when an order would go through a payment review, the payment would be cleared by Paypal after the review was completed, but Magento would never clear it. Is there a reason why some orders are completed on Paypal?s end, but never make it through to Magento?

Sounds like your missing the Callback IPN Url within Paypal itself.
http://www.magentocommerce.com/wiki/3_-_store_setup_and_management/payment/paypal_standard_payments_setup_with_ipn
http://www.magentocommerce.com/knowledge-base/entry/setting-up-paypal-for-your-magento-store

Related

paypal and virtuemart: Order status is not changed after payment is made

I'm using Virtuemart 2.6.20. The payment method is paypal standard
When I place order, it redirects me to paypal gate. If I cancel the payment, it goes back to website and the order status is changed from pending to canceled. But when I make payment (completed), it doesn't go back to website and order status is not changed to "comfirmed"
You would need to enable Auto-Return in your PayPal account, check this out for details: Paypal settings for order auto-confirmation after payment (j2.5/vm2.x)

Paypal IPN failing with a Magento site and another different side - collisions

Have a workign Magento 1.7 live site, its Paypal has been fine until recently when another site got attached to the PayPal account it uses.
This other site does not use IPN (Magento site uses PayPal Website Standard payments). However, I think it is that the other site triggers a IPN notification that goes to the default URL , which is of course set to the livesite's /paypal/ipn/ URL IPN listener.
I have found this thread on a different site http://www.magentocommerce.com/boards/errors.php/viewthread/285840/ where some solutoins are given but it seems very inconclusive. What is the recommended way to fix this issue?
1) write dummy script IPN to catch nonIPN Calls and respond with something
2) turn off IPN in paypal account, since Magento may send its own ones anyway (?)
3) Other solution?
thanks for any advice!
Do not set actual IPn url in your paypal account.
IPN url should be posted to paypal( Generally is posted in Magento ) so will result in IPNs to these payment received on stated IPN url.
If you set Magento IPN URL in paypal IPN value then when payment is received by another cart added and if that cart is not posting IPN url when payment related request is posted then IPN will be delivered to URL defined in IPN value on Paypal.
Your assumption is correct in that if you have IPN configured in your PayPal account it will catch transactions from anything that hits your PayPal account whether it came from Magento or not.
You can indeed disable IPN in the PayPal account and specify an IPN URL with individual payment requests to PayPal. This is done using NotifyURL in API requests or notify_url in standard buttons.
I'm pretty sure Magento is already doing this by default, but you should probably check. If it's not you can extend the Magento PayPal module to include this so that you don't have to set it in the PayPal account, which again would get hit for ALL transactions.

How to stop magento from setting Payment-Status to "Completed" when Payment comes in via PayPal

Is there a way to stop magento setting the status of an order to "completed" after the payment comes in via PayPal?
The Problem is that I want do send an invoice when I start with the service, which is not possible when someone pays it before.
Thanks!
If I understand your problem right, try next:
In Magento PayPal settings, find field "Payment Action", and set it to "Authorization"
This mean:
payments are only authorized at the side of the PayPal system and only
an order is created in the backend of your store. The store
administrator needs log to on to the merchant account on the PayPal
site and capture the transaction.
So after order placed and user have paid transaction, status in your shop will stay at "Pending" or "Processing". After that you can generate invoice and send it to customer, and then go to your PayPal and finalize order.
Source here: http://www.magentocommerce.com/knowledge-base/entry/setting-up-paypal-for-your-magento-store/

Magento, PayPal, and PayPal IPN - no event fired when an order is successfully placed

My module needs to know when a success checkout has occurred. So, in accordance with what I have read in various places, I listen out for the events checkout_onepage_controller_success_action and checkout_multipage_controller_success_action. That's fine, when I pay with a dummy credit card on my dev site, one of the above events is fired. But I wondered what happens if I pay with PayPal, so I said up a PayPal dev sandbox to test it out. Examining the http traffic, I saw that a notify_url was sent to PayPal when the order was placed. That was promising - when the paypal/ipn action is called from PayPal, the PayPal module will, if a 'completed' status is received, fire the checkout _xxx_controller_success_action - right? Wrong.
My module relies on knowing when an order is successfully placed, so I am looking for advice on the best way to tackle this issue please.
I'll just add a little bit about my environment here in case it is relevant.
I am running Magento 1.4.2.0 on my laptop. When using PayPal Standard, a notify_url is sent to PayPal which overrides any set up in the PayPal account. I am testing from my laptop, so the notify URL passed to PayPal is not accessible from the PayPal sandbox. So I changed the notify_url to point to an accessible JSP that just printed out the notification it received. I then give that parameter string to a little Java program I run on my machine which posts it to the original notify_url (.../index.php/paypal/ipn).
Thank you.
This is an old post but still a relevant question. We successfully used event checkout_onepage_controller_success_action (which is used by Magento core GoogleAnalytics extension) to observe successful PayPal Express orders (and also checkout onepage orders). Event sales_order_payment_pay did NOT fire for new orders.
I was having the same trouble - try using the sales_order_payment_pay event instead - it worked nicely for me

PayPal Orders Cancelling Automatically In Magento

I have this weird issue in Magento when someone places an order using PayPal Express Checkout. Every so often an order will come in and then the order gets canceled a few seconds later. The comment that is left is as follows:
Canceled order online. Amount: $59.23. Transaction ID: "XXXXXXXXXXXXXXXXX-void".
(ID blanked out just in case)
Now our customers are swearing they did not cancel their orders and when we ask PayPal they say it is a problem on our side.
Has anyone heard of this issue and do you know of a fix? I am running Magento Enterprise 1.8.
I've run into a similar issue. I tracked it down to those users who checked out with PayPal Express and do not have a PayPal account. The issue and the fix appear here:
http://www.magentocommerce.com/bug-tracking/issue/?issue=9894
The face that all users do not encounter the error may be related to the with/without a PayPal account status.
Integrating Magento with PayPal Express (not PayPal standard) the users can buy our store's products.
However, there are two different situations:
1) If the customer has got a Paypal account, he will be able to finish the buy process without issues.
2) However, if the customer hasn't got a Paypal account, or if he doesn't want to use it, and prefers to buy the products using his credit card without use the PayPal credentials, then the process will finish with the following error:
"This payment cannot be processed using your paypal account at this
time".
The problem is the seller will receive the money, but the customer will think just the opposite.
This issue has been discused and confirmed with PayPal support team.
The real issue is during the buy process, the "DoExpressCheckoutPayment" PayPal's function is called. However, when the buy process finish with this error, a parameter called "successpageredirectrequested" is set to "true". This flag indicates whether you need to redirect the customer to back to PayPal after completing the transaction. However, this is an obsolete PayPal's behavior, and should't be used.
As Magento is using this parameter's function, when he tries to redirect again to PayPal (that's what "successpageredirectrequested" set to true is doing) PayPal will return this error.
We can fix it making a little change in Magento's source code, at app/code/core/Mage/Paypal/Controller/Express/Abstract.php
Just changing the function "public function placeOrderAction()".
Look for the following code inside this function:
// redirect if PayPal specified some URL (for example, to Giropay bank)
$url = $this->_checkout->getRedirectUrl();
if ($url) {
$this->getResponse()->setRedirect($url);
return;
}
$this->_initToken(false); // no need in token anymore
$this->_redirect(?checkout/onepage/success?);
return;
}
We just need to comment the "if", just like this:
//if ($url) {
//$this->getResponse()->setRedirect($url);
// return;
//}
That's enough to fix the issue. However, this is not a current fix, and this should be reviewed by Magento's programmers just to fix it in the Magento's new versions.

Resources