Paypal IPN points to wrong url?

 

It can get frustrating at times when you move you WHMCS folder or any other billing platform that uses PayPal recurring payments. Especially when using Instant Payment Notifications (IPN) through PayPal. This is due to the fact that you can not update their old subscription addresses without cancelling them and getting the people to start again.

 

What can be done to update old subscription IPN addresses?

 

I went on the hunt to find out what can be done and I came back with two options. One which was recommended by a friend and the other which was sent to me through WHMCS.

 

Option 1 (cPanel Option - Not Code):

 

  1. Open cPanel
  2. Scroll down to 'Domain' and click 'redirects'
  3. Add a 301 (permanent redirect) from the old IPN location to the new one
  4. Click save and it will work!

 

Option 2 (Simple Coded Option)

 

  1. Open your file directory for your website.
  2. Locate the location | or | Create the directory of the old IPN location
  3. Create a file name (the same as the previous IPN)
    EG in WHMCS the PayPal IPN name was paypal.php
  4. Copy the code at the bottom of the page into the file
  5. Update where it says 'enter the new url' to the url of the new IPN location

 


 

IPN Code - WHMCS

 


 
/**
 * WHMCS Callback Redirect Script
 *
 * This file can be used to redirect payment gateway callback requests from
 * an old location to a new one preserving POST data.
 *
 * @author     WHMCS Limited <development@whmcs.com>
 * @copyright  Copyright (c) WHMCS Limited 2005-2017
 */

// Enter the new url the callback file is located at
$url = 'https://www.yourdomain.com/new/path/to/paypal.php';

// --- Do not edit below this line. ---

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($_POST));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
if (curl_errno($ch)) {
    $response = 'Could not connect to new callback file: ' . curl_errno($ch) . ' - ' . curl_error($ch);
}
curl_close($ch);

echo $response;

To stay up to date with more web hosting and design tips and tricks follow us each week as we take you on a journey through the web hosters blog!

 

Need web hosting or a web design contact us today!

 

 

 

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

I'm New To WebHosting How Do I Get Started?

So your new to webhosting and logged into you Cpanel account for the first time and have no idea...

How do I access cPanel?

You will have received your login details in an email titled New Account Information, or you can...

How do I access my website via FTP?

To access your site via FTP (File Transport Protocol) you will need an FTP program. We recommend...

what is shared hosting

Shared hosting is a type of webhosting service that allows multiple websites to utilises a single...

I ordered wordpress optimised hosting, whats my wordpress login details?

Once you have ordered your WordPress Optimised Hosting account, you should recieve an email after...

Powered by WHMCompleteSolution