This means that the transaction feedback from Ingenico did not reach the shop or wasn't processed correctly.
Checklist for Ingenico backoffice
SHA-IN / SHA-OUT
- Values must be alphanumeric (no special characters or umlauts)
- Maximum length: 20 characters
- Copy & paste the SHA-IN and SHA-OUT from the Ingenico backoffice into Magento and click "Save" again!
Transaction feedback URLs
- Verify URLs on the tab "Technical information -> Transaction Feedback".
- If you have a HTTP redirection for these URLs, enter the final target URL. The transaction feedback will not follow HTTP redirections!
- The URLs are case-sensitive.
- These URLs must be open to the internet (no blocking firewall rules etc.).
- Example configuration and URLs:
- Check the tab "Error logs" in the Ingenico backoffice for more detailled error messages.
- Check the detailled Postsale log of the transaction. Search for "ONL PS ERROR ..." This is the HTTP Response Code that was sent by the shop server.
- Check the transaction status in the Ingenico backoffice:
- If the status is "2 - declined", Ingenico will not send a feedback to the shop until the number of allowed payment attempts has been made.
- Go to "Tech. information -> Global transaction parameters" and set the number of allowed attempts to "1" to get an immediate feedback.
- You can also set this to "2" to allow one failure and then one more attempt.
Checklist Magento server
- Make sure Ingenico's User Agent is not blocked in the webserver configuration or Firewall:
Mozilla/3.0 (compatible; Indy Library)
- Open the file ops.log:
- Look for two adjacent lines starting with "Hashed String by ...", and compare the values.
- If the values don't match, check if the SHA configuration is 100% correct.
- Also check the ops.log for lines containing "Incoming ...". If those are missing, proceed with this checklist.
- Check the Magento logs system.log and exception.log for errors at the time the feedback should have come in (note the timestamps).
Testing the transaction feedback URLs
Open the URLs in a browser. If they are working, you should get one of the following results. Both indicate that this test was ok:
- You see an empty white page and the HTTP Response Code 422 in the browser console, OR
- the message "hash not valid" and HTTP Response Code 500 or 503.
After that test, look if the URLs in the browser address bar have changed.
- If yes, this indicates a redirection.
- Enter the changed URLs from the address bar into the Ingenico backoffice (incl. all slashes).
- Test again with a new payment if the status update works now.
Still not working?
If you get a 404 page or another result than described above, proceed with this:
- Do you get a login box (htaccess authentication)? This must be disabled.
- Does the shop use SSL? If yes, change the URLs to HTTPS accordingly.
- Are the Magento Store Codes enabled? Then add the default Store Code to the URLs.
- Try the following changes:
- Add "index.php" to the URLs, example: http://your_shop_url.com/index.php/ops/api/postBack
- Add a slash "/" at the end of the URLs.
- Are there any redirections on the webserver that might cause problems? Disable them and test again.
- Check the access logs of the webserver (Apache, nginx, etc.). The feedback is sent within 15 minutes after the payment.
To inspect the content of the feedback, you can do this:
- Open the file /app/code/community/Netresearch/OPS/Controller/Abstract.php
- Look for the function _validateOPSData
- Inside that function, look for this line:
$params = $this->getRequest()->getParams();
- Add the following code below that line:
Mage::log($params, null, 'ops_feedback.log', true);
- Now the feedback will always be saved to the new file var/log/ops_feedback.log