In Blackthorn | Payments, a Payment Gateway record is synonymous with a gateway (i.e. Stripe, Authorize.net etc.) account. Each Payment Gateway record you create connects your Salesforce org to one gateway account, in either test or live mode. To have your gateway account in both test and live mode, create two Payment Gateway records. There is no limit on the number of Payment Gateway accounts you can connect to your org.
Note on Payment Gateway records
Do not change your Payment Gateway record from
Test
toLive
mode or vice versa by clicking Connect to Gateway or checking/unchecking theTest Mode
checkbox. Instead, create a new record for the other mode you wish to enable.
First Payment Gateway Record
Your first Payment Gateway record, named "primary" was created automatically during the Setup Wizard.
- Navigate to the Payment Gateway object.
Lightning/Classic: Payments (Admin) App | Click the "Payment Gateways" Tab
-
Select All from the list of List Views.
-
Click on the record named "primary".
If you connected to your gateway account in "Test" mode, the Test Mode
field will be checked
-
The
Default
field is checked.
Objects with a Payment Gateway lookup field (such as Transaction and Payment Method) will default to the Payment Gateway record marked 'Default' if the field is left blank on save. -
The Gateway Information section provides all the connection details.
If these fields are blank, data in Salesforce will not process in the gateway. Do not copy your Stripe API keys and insert them here as these keys are different than your Stripe keys (they are OAuth keys). You can only get them by clicking the Connect to Stripe button.


Create Payment Gateway Records
-
Instructions for Authorize.net
Creating a Payment Gateway for Stripe
Each Stripe account mode (Test and Live ) needs its own Payment Gateway record.
This is to ensure that your data is separated from Live
and Test
.
For example, if you connected to your account in Test
mode during setup, create a new Stripe Payment Gateway record for Live
mode.
- Navigate to the Payment Gateway Object.
Lightning/Classic: Payments (Admin) App | Click the "Payment Gateways" Tab
-
Click
New
. -
Populate the following fields:
Payment Gateway Name
= Name for this record.
Webhook Label
= Name for the webhook URL. This is needed to configure Webhooks.
Default
= Check this field if you want this as your default Payment Gateway.
If you have multiple Stripe Payment Gateway accounts, you can change which one should default.
Test Mode
= Check this field if you are connecting to theTest
mode in your Stripe account. -
Click
Save
. -
Click the
Connect to Gateway
button. -
Enter your Stripe Credentials.
Once you sign in, all fields under the "Gateway Information" section in the Payment Gateway record will be filled out.
You're all set!
Note
There will be no data in the "Related Lists" section. Connecting to your Stripe Account does not automatically sync existing data over into Salesforce. If you have data in your Stripe Account that needs to come over into Salesforce, see our Historical Sync documentation.
Available and Pending Balances
There are several fields and a button on the Payment Gateway object to track your available and pending balances for both Salesforce and Stripe. Having both balances allows you to compare your Stripe and Salesforce balances.
Stripe
-
Available Balance
andPending Balance
fields are updated through Stripe's Balance.Available or Account.Updated Webhook Events. -
Stripe Balances Last Updated
This date and time field will update when the balances are updated.
This gives you insight when the two balances were last updated. -
Held in Reserve
field are the funds held from your account due to negative balances on Connected Accounts. This field is automatically updated from Stripe through a webhook.
Salesforce
-
Calculate Salesforce Balances From
field is for calculating historical transactions that were processed through Stripe before the balance fields were packaged. -
Salesforce Balance Available
andSalesforce Balance Pending
fields are automatically calculated based on related Transactions.
If the related Transaction's status is "Available" then theRetained Net Amount
is rolled up to the Available Balance. If the Transaction's status is "Pending" then theRetained Net Amount
is rolled up to the Pending Balance. -
Stripe Balances Last Updated
This date and time field will update when the balances are updated. -
Balance(s) incorrect
When this field is checked, it means the Stripe and Salesforce Available and Pending Balances do not match. They often will not based upon timing of the Stripe webhook and the Salesforce batch process running. -
Update Balance
button.
There is a daily apex job that runs and updates the Salesforce and Stripe available and pending balances. Clicking this button forces the job to run immediately.
Please note, if you have high Transaction volume, don't click theUpdate Balance
. You will run into a query limit error.


Scheduled Apex Job
There is scheduled Apex Job called, "Blackthorn | Payments Balance Update" that runs daily. This job updates the Salesforce and Stripe available and pending balances on the Payment Gateway record(s).
-
Navigate to Setup.
-
In the Quick Find/Search, type in and click
Scheduled Jobs
.


Blocking Amex Payment Methods
Some providers like Stripe charge higher fees for using the American Express Payment Method. In order to help customers mitigate these extra fees we've provided a field on the Payment Gateway object to block Transactions from the REST API that are attempting to charge a payment with an American Express card. This field is labeled Block Amex Transactions In Rest API
. This can be used with:
- PayLink
- DocumentLink
- REST API requests (custom front end code)
Don't forget to add this field to your Payment Gateway page layout if you would like to use it.
An example of what a customer will see if the Block Amex Transactions In Rest API
checkbox = "True":


Payment Gateway Owner - Known Limitation
If you have configured a Sharing Rule for the Payment Gateway object, there is a known limitation in Salesforce if the Payment Gateway owner is listed as "Automated Process User". If your Payment Gateway Owner
field is displaying the value to be "Automated Process User" you may notice that Sharing Rules are not being applied. The work around for this would be to update the Owner
field to reflect another user in your org, perhaps the System Administrator. Read more about this here.
Next Steps
- Configure Webhooks : Any time you set up a new Payment Gateway record, you will need to create the webhook URL in Stripe and update the URL's
Webhook Label
. - Sync Historical Data into Salesforce
Troubleshooting/FAQ
If you have received an error with your Payment Gateway or have a question, please view our Troubleshooting and Frequently Asked Questions. If you still have Payment Gateway questions, please contact Blackthorn Support. We're happy to help!
Updated 2 months ago