Skip to content

Recurring Contributions and Webhooks

Overview

Most payment processors that support recurring contributions use a "webhook" which is used by the payment processor to notify CiviCRM of each new payment, whether successful or failed.

If webhooks are not setup correctly you may see one or more of the following symptoms in CiviCRM:

  • Payments not marked as "Completed".
  • New payments not recorded in CiviCRM.

If you are not using recurring contributions the webhook is not normally required.

Tip

Follow the instructions for the specific payment processor - when you get to the part where you need to configure the IPN notify URL / Webhook read below to work out what that URL should be.

At this point, you need to figure out the "URL to be called" value. To do this, you need to check what ID is assigned to the Stripe payment processor in CiviCRM.

To determine the ID, go back to CiviCRM and click Administer -> System Settings -> Payment Processor

Check the id column next to the relevant payment processor e.g. 3. Note do not use the Test ID, that is the id of the Test Processor unless you are interacting with a sandbox site on your payment processor.

Therefore the call back address for your site will be:

civicrm/payment/ipn/3

See below for the full address to add to the endpoint (replace NN with your actual ID number):

  • For Drupal and Backdrop: https://example.com/civicrm/payment/ipn/NN
  • For Joomla: https://example.com/?option=com_civicrm&task=civicrm/payment/ipn/NN
  • For WordPress with CiviCRM 5.26+: https://example.com/BASEPAGE/?civiwp=CiviCRM&q=civicrm/payment/ipn/NN
  • For WordPress with CiviCRM 5.25 and earlier: https://example.com/BASEPAGE/?page=CiviCRM&q=civicrm/payment/ipn/NN
  • For WordPress with CleanerURLs enabled : https://example.com/BASEPAGE/payment/ipn/NN

For WordPress please replace BASEPAGE with the base page set at https://example.org/wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/setting/uf&reset=1

Typically, you only need to configure the end point to send live transactions and you want it to send all events.