Almost all low-cost solutions for payment gateways assume that you are actually performing POST on your server, after which they will receive payment data from the end user before he returns the user to the designated pages using some status information. Therefore, using CURL can cause problems.
What you probably need to do is output the appropriate form via PHP to a (very) minimal HTML page, automatically forcing the form to submit using onload.
For example, if your form has the identifier "checkoutform", you can use:
<body onload="document.getElementById(\'checkoutform\').submit();">
This, of course, is pretty bad. (But, unfortunately, inevitably.)
source share