Could you fix the error? I am having the same problem in the sandbox with Payfast self hosted. I tried to implement the fix suggested by Hillel, but it did not work.
I am also getting the error “Payfast:Missing PDT or ITN variables” when live, self hosted. This error I also got when using the hosted version. The payment does actually go through, but the invoice is not marked as Paid, and one does not get an email saying the invoice was paid. Payfast does send you an email that the payment went through, and it reflects on Payfast.
I asked Payfast if they could help, but they just said it is not their software.
Hello Hillel and Snoopy
No cannot get to work - but we are still trying. Both payfast and my hosting provider tried to assist.
At the moment it looks like a re-direct issue via shared hosting.
(payfast - The best piece of information we can offer would be that we do not usually send information in the ITN if the security check fails or if there is a redirect.)
Out of desperation I tried the trial for the paid option but that aslo returns errors so Hillel a think the problem is bit bigger than it seems. (Payfast: There was an error processing your payment [NB]. Please try again later)
The payment does go through on payfast side and is updated on inoice ninja side. The error is neverless serious as it appears for customers as not going through.
Using ITN i can also not find what the proper return url for invoiceninja should be?
My Hosting company says:
I can see that the SSL Issue does not seem to be with XXXXXXX servers instead it’s with the Payfast sandbox server who is currently using a self-signed SSL certificate.
Please request that the Payfast enables a valid SSL certificate.
Once this has have been rectified Payfast should work as per norm.
Payfast says:
As much as the error makes mention of PayFast, the issue is on Invoice Ninja’s end. Unfortunately, Invoice Ninja is not developed by PayFast and we can not assist with any queries with regards to issues on their end.
That said, when I make payment for a live Invoice it get the error Payfast:Missing PDT or IDT variables
The Payment does go through, and it reflects on Payfast, but the error still shows on the side of the client, who will be confused. The Invoice is also not marked as paid, and there is no confirmation of payment invoice.
In the hosted environment the payment went through, reflected on Payfast, received a Payment of invoice email from Invoice Ninja, but showed this error. I could not use the system like that, and that is why I opted for the self hosted environment.
Like Hillel said, so many people are using this successfully, I would think it is a matter of settings on my side, rather than changing the scripts.
Invoice Ninja uses a third-party library called Omnipay to support our payment integrations, it enables us to write a single code integration to support all the many gateways we support.
I have paid somebody to have a look into this and fix the problems, so I am hoping for the best.
Payfast was under the impression that Invoice Ninja was proprietary software. They did not know it was open source, only when I sent then the link yesterday. If they knew it could perhaps have been fixed by now.
For a short while we thought the answer was that we did not include the Payfast pdtkey, but this was discontinued as a method, and not the answer.