Converge Pay GoDaddy Elevon Hosted Payment Pages December 31, 2019at 19:59 pm By: James Byrne After Dark Grafx How To Fix 500 Internal Server Error from a Hosted Payment Page on Godaddy Using Converge Pay from Elevon We are assuming that you have already implemented a hosted payment page with Converge Pay / Elevon. If not, here is the documentation on how to create one: https://developer.elavon.com/#/api/eb6e9106-0172-4305-bc5a-b3ebe832f823.rcosoomi/documents?converge-integration-guide/book/integration_methods/hosted_payments.html This post does not explain how to create the hosted payment page, rather how to troubleshoot your payment page if you are getting a 500 Internal Server Error from your request once you try to make a payment. Adding the IP address from your website/server is the first step by providing this IP address to Elevon / Converge Pay and then testing your payment page to see if it works. You will need to call their support to add it. Elevon / Converge Pay Support 800-377-3962 > option 2 > option 2 again. You will need your Merchant ID. Tell them you are using hosted payment pages and need to add your IP to their system. Stay on the phone with them and test your page again once they add the IP. We recently moved a client from our hosting services over to Godaddy. The hosted payment page worked on our servers but once we moved them to Godaddy we encountered the dreaded 500 Internal Server Error. This was weird because it worked on two prior server installations. So, initially we thought that Godaddy was the culprit. Well, the error above indicated that Converge Pay / Elevon was not even receiving the request and that the IP was blocked on their end. ConvergePay / Elevon requires that the ip address from the website be added to their firewall in order to allow the authorization for the user to use the hosted payment page solution. In theory, we should have just been able to add Godaddy’s shared ip address within cPanel but this did not work. After spending several hours going back and forth between Elevon and Godaddy support services, we ended up just purchasing a dedicated IP address from Godaddy after one of their engineers recommended this solution. We then contacted Elevon, they added the IP and … NOPE! Didn’t work. You will definitely need a dedicated IP address no matter what hosting account you are on but the caveat is that Godaddy does not POST from the same IP address as your dedicated IP address when making calls to Elevon or other services. In order to find a solution for this, the team over at Elevon finally said, upload a php file onto the Godaddy account and use this URL (below) to see what the actual IP is that is posting to the hosted payment pages. We created this simple script that you can upload to your Godaddy hosting account that will tell you exactly what the posting IP address is. And… WHALA! Different IP address than our dedicated IP given to us from Godaddy. Well, we contacted Elevon and added this new IP to their system and BINGO…. IT WORKS! Of course make sure that your hosted payment page URLS are correct as below: Live Site Session Token Request — https://api.convergepay.com/hosted-payments/transaction_token Live Site Redirect Request (Once Session Token is Retrieved) https://api.convergepay.com/hosted-payments/ Also, make sure that your Elevon / ConvergePay user has API permissions within their system. Lastly, if you are using an include or other file to include the access permissions and still having issues, add a few letters to the PIN and try the transaction again. At this time, Elevon / ConvergePay will be able to see the failed PIN attempt. Then change the merchantUserID to something different and send another request. Lastly, change everything back to what it is supposed to be for the correct authorization. Basically, Elevon / ConvergePay is caching the requested credentials and sometimes it puts the merchantID in as the merchantUserID as well, so doing the above will “kick it” so it sees the correct credentials. $merchantID = “YOUR-MERCHANT-ID”; //Converge 6-Digit Account ID *Not the 10-Digit Elavon Merchant ID* $merchantUserID = “YOUR-API-USER-ID”; //Converge User ID *MUST FLAG AS HOSTED API USER IN CONVERGE UI* $merchantPIN = “YOUR-MERCHANT-PIN”; //Converge PIN for use with user webpage above (64 CHAR A/N) Hope this helps anyone else out there looking for a solution as I could not find one online. Use file below. Copy the text, open a text editor like Notepad, Paste this code, Save the file as myip.php then upload this file to your public (web) folder so that you can access it at www.YOUR-DOMAIN.com/myip.php It will fetch the ip from the server performing the post for the hosted payment page. <?php ob_start(); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,’https://www.convergepay.com/hosted-payments/myip’); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); echo $response; ?> FREE NO OBLIGATION QUOTES Contact Us – Click Here or; Call Toll Free (888) 578-8300.