Install - Webhooks

You are about to begin the 3rd section of the Salesforce installation. There is 1 remaining section to install after these steps. Please find next steps at the bottom of this page. Do not install the integration in any other order than what is instructed by Chargify.

Webhook Configuration

Chargify webhooks are used to create and update Customer and Subscription records in Salesforce. The “Sites” feature is required to create a webhook endpoint within Salesforce, which is available in Salesforce Enterprise, Unlimited, and Developer accounts. The Sites feature is not available in Professional edition as an add-on.

Create a Force.com Domain

You may already have a Force.com Domain created in your account. If so, you can skip ahead to Create a Site.

  • Go to Setup -> Develop -> Sites
  • Check site domain availability (Example: my-company-name)
  • If available, select “Register my Force.com Domain”

Create a Site

  • Go to Setup -> Develop -> Sites
  • Click “New”

  • Populate the following fields:
    • Site Label (Example: Chargify Site Name)
    • Site Name (Example: Chargify_Site_Name)
    • Select Site Contact
    • Enable “Active” checkbox
    • Active Site Home Page: Unauthorized
    • Inactive Site Home Page: InMaintenance
    • Site Template: SiteTemplate
    • Clickjack Protection Level: Allow framing by the same origin only (recommended)
    • Enable “Require Secure Connections” (HTTPS)
    • Enable “Guest Access to the Support API”
  • Save

Enable Permission Set for Standard Users And Site User

Permissions for Standard Users:

  • Go to Setup > Manage Users > Permission Sets
  • Select ‘Provide Permissions to Chargify’ > Manage Assignments > Add Assignments
  • Assign permission set to all users with access ot the Chargify integration

Permissions for Site User:

  • Go to Setup > Develop > Sites
  • Click on the site label for the Chargify Site
  • Select Public Access Settings > View Users
  • Choose the Site User
  • Click on ‘Edit Assignments’ in the ‘Permission Set Assignments’ section 
  • Add “Provide Permissions to Chargify” to right column
  • Save

Set Standard Object Permissions

  • Go to Setup -> Develop -> Sites
  • Click on the “Site Label” you created in the previous step

  • Select “Public Access Settings”
  • Choose “Edit”
  • Under “Standard Object Permissions”, enable all available checkboxes for the following:
    • Accounts
    • Contacts
    • Ideas
    • Leads
    • Opportunities
    • Price Books
    • Products
  • Save

Enable Apex Class Access

  • Select “Enabled Apex Class Access” link
  • Click “Edit”

  • Move “CHRGFY.UpdateFromWebhook” into the right column
  • Save

Configure Custom Settings

In order to receive webhooks from multiple Chargify sites, Custom Settings need to be configured for each Chargify subdomain you plan to connect to your Salesforce account.
  • Go to Setup -> Develop -> Custom Settings
  • Select the “Webhook Configuration” label
  • Click “Manage”
  • Choose “New”
    • Enter the Name (Example: Company Name Webhooks)
    • Shared Key
      • Your Shared Key can be found by logging into your Chargify account and selecting “Edit” in your Site box

  • Subdomain (Your Chargify site subdomain)
If your Chargify subdomain is https://example.chargify.com, enter “example” into the subdomain field.
  • Save

Enter Salesforce Webhook URL In Chargify

  • Go to Setup -> Develop -> Sites
  • Click on the “Site Label” you created

  • Copy the Site “Domain Name”

NOTE: If you have a “secure” domain available in your Salesforce account (example “chargify.force.com” and “chargify.secure.force.com”), always use the “secure” URL for the Chargify webhook configuration.

  • Login to Chargify and navigate to Settings > Webhooks
    • Select “Add New Endpoint”
    • Enable all Webhook Subscriptions by selecting “All On”
Enter https:// then the copied Domain Name in step 2 above and append with /services/apexrest/CHRGFY/ChargifyWebhook

(Example: https://chargifyapp-developer-edition.ap2.force.com/services/apexrest/CHRGFY/ChargifyWebhook)

Please double check your work to ensure there are not duplicate // in your URL.
  • Save

Webhook Configuration in Chargify

In order to receive webhooks from multiple Chargify sites, webhook endpoints must be configured in each Chargify subdomain you plan to connect to your Salesforce account.

Create Public Group For Webhook Guest User

To avoid giving all Internal and External users Public read/write access to Opportunities and Accounts, you can assign Public Read/Write access to the Webhook Site Guest User only.

  • Go to Setup -> Manage Users -> Public Groups
  • Click “New”

  • Populate the following fields:
    • Label: “Site User”
    • Group Name: “Site_User”
    • In Search dropdown, select “Users”
    • Move the Site Guest User from “Available Members” to “Selected Members”
  • Save

Assign Sharing Settings To New Public Group

  • Go to Setup -> Security Controls -> Sharing Settings
  • Select “New” in “Opportunity Sharing Rules”

  • Populate the following fields:
    • Label: “Site User Opp Settings”
    • Rule Name: “Site_User_Opp_Settings”
    • Step 2, select “Based on record owner”
    • Step 3, select “Public Groups” and “All Internal Users”
    • Step 4, select “Public Groups” and “Site User” (Public Group you created above)
    • Step 5, select “Read/Write”
  • Save

You have now completed 3 of 4 sections of the Salesforce installation. Please continue on to the fourth section, configuration of the Chargify / Salesforce integration.