Question
I'm building a shopping site which uses a service which allows credit card payments (tranzilla), the service is requiring an IP or IP mask from which it will allow requests (by sockets). The problem is that I'm using heroku as hosting, which is decentralized...
Is there any way to do this? (except buying the custom ssl add-on, which is my last resort and not the best solution)
P.S. full IP mask is not acceptable.
Solution
Yes, you can use a hosted VPN service to maintain a static IP Address in which to contact tranzilla. A proxy server might also work, however, using a public proxy server would be a bad idea.
OTHER TIPS
There is now a new Heroku add-on called Proximo that gives you a static outbound IP address to connect to services with IP whitelists! At this time it's in private beta, and there is no pricing info available yet, but it seems like a promising solution: https://devcenter.heroku.com/articles/proximo
You can also use Apigee to wrap the API in question - http://app.apigee.com/, and make your API call through Apigee instead of directly to the API in question. Then enter the IP that the Apigee call comes from, and you're set.