New Zenner
- Join Date:
- Sep 2012
- Posts:
- 3
- Plugin Contributions:
- 0
DPS Pxpay Fail Proof Result Notification (FPRN) failing
Hi guys,
I have a zencart site that's been running for ages, but it recent times there has been more occurrences of DPS payments showing up in the bank account without a corresponding order in Zen Cart.
After much investigation by Payment Express, myself and my web host, we're left scratching our heads a bit.
First off I've checked the permissions of dps_pxpay_result_handler.php and can confirm that they're 755
What happens on checkout is we're redirected to the DPS page, enter the card details and once the transaction is complete DPS sends the http GET (FPRN) to the web server, which then returns a 404 error.
If the user clicks the next button on the DPS page, the exact same http GET (although from the users IP address rather than the DPS server) is sent which returns a 302 and successfully completes the payment and checkout process.
Note: the problem here is we want the FPRN to work incase the user doesn't click next or has a problem with their browser.
This is the FPRN which gets a 404 response:
203.207.60.XXX - - [20/Sep/2012:16:53:09 +1200] "GET /dps_pxpay_result_handler.php?result=v51Hma1nTBEraTNJgxFD8M55mugVx0zFr8eJLA0IPwMw4oIaCuZdKWj2oVkvqV5iS9_FUZkXSn9rCq9TJLhhImeTwUPJ9Z3Dv0cvyMgwADHNd-1gzFxQTjFkGszSCCBw_B62RbLHemrYsOqhNQPbN_dPx-On0cbsw8R7Mom5yxxM8TrMcdfrxJNp2MF_QNCQGRx_z6_WBE0ner9xCMfZtsE6-1YfU_rmoz_fcJmXQP36kf7iiZnvBOQgQsca2rckfZBw6HXAUG0CN0L6vjMAybDibKQAv7F67Ggb2N9E3CWv_7sMF8N9OFNVvZwMLqfN3e2lWXZPVChufrFuBZDRQtVO7wE2y8EzuA-mnJtttbGxB7g6tl2Bz7m0nCnwH3rjRTGqw3ERsMkMJUqKMEVFnmk18PiGVbjI6SrS94IYzGtthIcEeWzXhIBOJ5DCdc217-TEWUniO3t1b9xlfivIGMsTxX7QYHVjDlAGxXsHH0q2Wn8wb0jfnWaSVxz8PrXJIQTY4l06QaQm5_CzcBM5HFfPRTGm3kmBdPa7kJt9_ng3Q=&userid=Fxxxxx HTTP/1.1" 404 465 "-" "PXL1"
and this is the successful GET that happens after the user clicks 'next' on the DPS payments page:
121.72.214.XXX - - [20/Sep/2012:16:53:39 +1200] "GET /dps_pxpay_result_handler.php?result=v51Hma1nTBEraTNJgxFD8M55mugVx0zFr8eJLA0IPwMw4oIaCuZdKWj2oVkvqV5iS9_FUZkXSn9rCq9TJLhhImeTwUPJ9Z3Dv0cvyMgwADHNd-1gzFxQTjFkGszSCCBw_B62RbLHemrYsOqhNQPbN_dPx-On0cbsw8R7Mom5yxxM8TrMcdfrxJNp2MF_QNCQGRx_z6_WBE0ner9xCMfZtsE6-1YfU_rmoz_fcJmXQP36kf7iiZnvBOQgQsca2rckfZBw6HXAUG0CN0L6vjMAybDibKQAv7F67Ggb2N9E3CWv_7sMF8N9OFNVvZwMLqfN3e2lWXZPVChufrFuBZDRQtVO7wE2y8EzuA-mnJtttbGxB7g6tl2Bz7m0nCnwH3rjRTGqw3ERsMkMJUqKMEVFnmk18PiGVbjI6SrS94IYzGtthIcEeWzXhIBOJ5DCdc217-TEWUniO3t1b9xlfivIGMsTxX7QYHVjDlAGxXsHH0q2Wn8wb0jfnWaSVxz8PrXJIQTY4l06QaQm5_CzcBM5HFfPRTGm3kmBdPa7kJt9_ng3Q=&userid=Fxxxxx HTTP/1.1" 302 542 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.26.14 (KHTML, like Gecko) Version/6.0.1 Safari/536.26.14"
According to my eyes, the only differences between the two GET's are the source IP address and the user agent / OS info.
in the dps_pxpay.php module the comments on line 72 suggest that FPRN is supported
// support for fail proof result notification
$this->_dpsResultRedirect = ('true' == ENABLE_SSL ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_HTTPS_CATALOG . 'dps_pxpay_result_handler.php';
// without
#$this->_dpsResultRedirect = zen_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL', false);
Any ideas about how to resolve this issue?
Thank you,
Brendon