magentocheckoutopayomagento-1.9.1sage-erp

Magento does not capture orders after payment


I am using Sage as the payment method (which shouldn't matter anyway). Sometimes my installation of magento (1.9.1.0) will take the payment but will not create a new order.

So basically, the new customer is created, but no order is assigned! So I will need to login my Payment provider to check for orders.

  1. Why is this happening? Server issue? If so, what can it be?
  2. How can I capture manually after such an event?

I need the buyer to see method of payment "Sage" on the invoice, however, when I add the order manually, the only way I can do it, is by selecting Pay Over Phone or Bank Transfer.

I really thank you for any suggestions! Appreciate it! (A LOT!)

Thank you.


Solution

  • It happens. If it's any consolation it's happened with every other payment method I've used in Magento too, including Paypal (with IPN on and off). It's called an orphaned transaction and Ebizmarts have specifically included a way of handling it.

    enter image description here

    I routinely check it on our sites, it lists all the failed transactions. 9999 out of 10000 you delete them. The ones to look out for have a VPS Tx ID, the majority do not. If it has an entry in the VPS Tx Id then there has been a payment taken by Sagepay. In that case you need to sort it out. The ebizmarts module has a beta 'feature' designed to convert the quote to an order. It doesn't work.

    You need to create the order manually in the backend. As you point out you need to specify a payment method. I use this free module;

    https://www.magentocommerce.com/magento-connect/admin-payments.html

    And basically use the 'Cash on Delivery' payment method which I change the title to 'Payment Confirmed' in the backend config settings.

    enter image description here

    You could easily just change that title to 'Sage' and that's the payment method that will appear on the invoice, the customer will be none the wiser it was actually just a renamed 'Cash on Delivery' method.

    Not a wonderful programatic answer I'm afraid, just part of the day-to-day admin on the site.