HBHosting

Paypal IPN points to wrong WHMCS 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!

 

Share:

Facebook
Twitter
Pinterest
LinkedIn

2 Responses

  1. hi, i am having same issue ..anyways you did not clear some info about your 2nd coding option…

    i mean in which directory location i need to create this paypal.php file

Leave a Reply

Your email address will not be published. Required fields are marked *

On Key

Related Posts

small_c_popup.png

Australia's Best VPS servers Coming Soon!

Register your interest in HBHostings VPS plans to get notified for early release!