Quick Start

Instructions

  1. Install the latest version of Blackthorn Payments from the AppExchange. * Note our applications do not work with Trial Organizations

  2. Follow the Blackthorn | Payments Setup Wizard

  3. Configure Webhooks
    This is an optional step unless you are wanting to use:

    • ACH Payment Methods
    • Disputes
    • Payouts
    • Credit Card Updater

Trialing Blackthorn | Events?

Configuring webhooks can be skipped during your trial.

If you have refreshed a Partial or Full Sandbox from Production, please create a template that does not include the Payment Gateway object. Otherwise scheduled Transactions in Production will get recaptured in Sandbox.

Setup Wizard

We provided a Setup Wizard to help you get set up with Blackthorn | Payments quickly.

Navigate to the Blackthorn | Payments Setup Wizard.

Lightning: Navigate to app launcher, select "Payments (Admin)" app, click "Blackthorn | Payments Setup Wizard" tab.

Classic: Navigate to the application drop-down button (blue button in the upper right-hand corner), select "Payments (Admin)" app, click on the "Blackthorn | Payments Setup Wizard" tab.

  • Connect to your Stripe account in test mode (which creates a connected Payment Gateway record).

Haven't set up a Stripe Account yet? No problem!

When you select the test mode option, a window pops up to create/login to a Stripe Account. Right above the form, there is a link where you can bypass creating a real account for testing purposes.

  • Once you have completed testing, create a new Payment Gateway record in live mode.
  • Answer the following questions.

Defined the wrong object during the Relationship step?

Navigate to custom settings from Setup. Click manage next to either Payment Method parent or Transaction parent, click remove next to the object. Then navigate to the Transaction object and delete the lookup field to that object.


Webhooks (optional)

Webhooks automatically send specified data to a destination (endpoint) from database events. Our Payments app utilizes Webhooks for many of our features, such as updating your Salesforce Org with credit card information and creating Dispute records.

Step One: Create a Force.com Domain

  • Within Setup | In the Quick Find, type in and click "Sites."
  • If a Force.com domain has not been setup continue with the instructions, otherwise navigate to Step Two.
  • Enter a value for your Force.com domain and click check availability
  • Accept Site terms of use and click "Register My Force.com Domain."

Step Two: Site Configuration

  • Click New next to Sites.
  • Set a Site Label, Site Name, and Default Web Address (We suggest using webhook or stripe).
  • Check the Active checkbox.
  • On the active Site home page field click the Lookup icon and select InMaintenance (the page is not visible, it's just a placeholder because a value is required).
  • Check Require Secure Connections (HTTPS).
  • Click Save.

Step Three: Assign the Blackthorn | Payments (Webhook Event Admin) Permission Set:

  • Click on Public Access Settings
  • Click on "View Users" or "Assign Users"

  • Click on the user

  • Add the Blackthorn | Payments (Webhook Event Admin) permission set to this user's record

Not seeing a Blackthorn | Payments (Webhook Event Admin) permission set? Please upgrade to the latest version then try again.

  • Click Save.

Step Four: Configure Webhook in Stripe

  • Navigate to your connected Stripe account dashboard.
    If you are creating a Webhook URL for your Stripe account in test mode, make sure the "Viewing test data" switch is on.
  • Select the API tab on the left hand side.
  • Click the Webhooks tab and select Add endpoint.
  • In the URL to be called field you need to set the url to the Salesforce webhook Site you just created. You'll need to replace the 3 upper-case values with your org values in this url:
    https://SITE_DOMAIN_NAME/SITE_PATH/services/apexrest/bt_stripe/webhook/WEBHOOK_LABEL

SITE_DOMAIN_NAME = The Salesforce Domain Name for the Site you setup. To get this value, navigate to the Site record and look at the Custom URLs related list. If you see more than 1 domain name, always use the one with secure in the name - these use https which is required by Stripe. Use the Domain Name value.

SITE_PATH = The Path for the Site. Use the Path value from the Custom URLs related list of the Site.

WEBHOOK_LABEL = To get this value, navigate to the Payment Gateway record you want to use. Then copy the value from the Webhook Label field.

So for the images above, your webhook url would be:
https://adminmethods.secure.force.com/stripe/services/apexrest/bt_stripe/webhook/test

Note
If you have multiple Stripe Accounts connected to your Salesforce Org, and want to create Webhook Endpoint for each in Stripe, you can use the same Salesforce Site - you just need to change WEBHOOK_LABEL part of the Url to the Webhook Label value of the Payment Gateway record you want to use.

Step Five: Verify Webhook Connection in Stripe

Verifying in Test Mode:

  • Select the API tab on the left-hand side and click the Webhooks tab.
  • Click on your URL.
  • In the top right, click "Send Test Webhook."
  • Event Type: "Customer.Created" and click "Send Test Webhook."
    If you received a "Test webhook sent successfully" message, then Webhooks are set up correctly!

Verifying in Live Mode:
In live mode, don’t forget to create a new URL. You can copy your Test Webhook URL, and update the Webhook Label from your live Payment Gateway record.

  • Create a new Customer in Stripe.
  • Click on the newly created customer record, scroll down to Events, and select the Event record.
  • Scroll down to Webhooks.
    If the Webhook record says "Success", then Webhooks are set up correctly in Production.

Next Steps:


Troubleshooting/FAQ

If you have received an error in the Setup Wizard, Webhooks or have a question, please view our Troubleshooting and Frequently Asked Questions. If you still have Setup Wizard or Webhook questions, please contact Blackthorn Support. We're happy to help!