Payment Methods

Learn about the different payment methods available

The purpose of the Payment Method object is to store the method by which you charge your customers. Payment Method types are segmented by Record Type. We currently support cards and ACH. Payment Methods can be related to Accounts, Contacts, and/or other objects.

Blackthorn | Payments is built with PCI compliance in mind, we never store sensitive Payment Method details. Click here for information on PCI compliance.

Here’s Stripe’s US pricing: https://stripe.com/us/pricing. It varies by country and payment method type. For instance, ACH transactions have a capped fee of $5 (as of December 21, 2017).

Available Payment Methods

Card:

Create card Payment Methods in Salesforce that use real-time API calls to create the record in Stripe.

Webhooks (requires setup) will update Payment Method records from Stripe automatically using Stripe's "Account Updater" feature. If your customer's card is lost/expired/stolen, the major card issuers will update Stripe with the new credentials and the updated card information is then pushed from Stripe to your Salesforce Org. There is no need to ask customers for their new card information. Additionally, if you change the "Default Payment Method" or update the Billing Address for a card, it will push to and from Stripe.

If you need to manually update card information in Salesforce, you can update the day, month, and CVV. If there is a new number, you will need to clone the existing Payment Method or create a new one.

We support processing payments in 135+ currencies. For additional information regarding supported currencies, click here.

ACH:
ACH is a United States-specific form of bank transfer, sometimes referred to as eCheck. It generally takes 1-2 days to clear a Transaction vs. cards, which give you immediate success or failure messages.

Out of the box, Stripe allows for transfers of up to $10,000, but that number can be substantially increased upon request and approval, making ACH a much more cost-effective method of payment with the $5 fee cap.

The downsides of ACH are the processing time delay and the micro-deposit process. After the ACH credentials are entered, two micro-deposits are entered into the customer's bank account. Those numbers must then be entered into your Payment Method record to verify the bank account. Micro-deposits take 1-2 days. Additionally, the success or failure of each ACH Transaction can take 1-5 days to clear.

Other Payment Methods, including SEPA and Bitcoin, are coming soon. Inquire about the timing by contacting us through our Help and Support page.


Obtaining Payment Methods

To capture card or bank account information from a customer, there are multiple, PCI compliant, options using Blackthorn | Payments.

Option 1: Phone
If you are not recording your phone calls (if you are, this goes against the tenants of PCI compliance)...

  • Payment Method Object
    Manually enter the Payment Method through the card or ACH Record Type. A real-time API call sends the record to Stripe to tokenize the Payment Method information. A card can be verified within seconds, where an ACH Payment Method takes 4-5 days to be verified.

  • Blackthorn | Terminal
    Manually enter the Payment Method through a popup or embedded Lightning Component. This Lightning Component currently supports card Payment Method types. ACH will be supported in the future.

Option 2: Web

  • PayLink (paid) feature.

  • Public Web Page as part of your website utilizing our REST API.

  • Salesforce Community
    Within a Salesforce Community, you can display the native objects to enter Payment Method information with the default user interface, or to create a custom Community user interface, you can use our Apex API.

Option 3: In-Person


Initial Setup

Setup Wizard

When you click "Grant Access" in the setup wizard, a "Charge Card" Record Type is created. If you select "Yes" for ACH payments, an ACH Record Type is created as well. These Record Types live on the Payment Method object and relate to two different Page Layouts to collect the necessary card or bank account information.

Note
If you need to add ACH payments, navigate back to the "Blackthorn | Payments Setup Wizard" tab, click on the "Record Types" step, select "Yes" for ACH payments, then click "Make magic happen".


Card Payment Method

  • Navigate to the Payment Methods object.

Lightning: Click on the App Launcher | Under "All Items" | Click on Payment Methods.

Classic: Click on "All Tabs" ("+" icon in the top right) | Click on Payment Methods.

  • Click "New".

  • Select "Charge Card" for the Record Type.

  • Required card details to enter
    Holder's Name
    Number
    Expiration Month
    Expiration Year
    The fields on the right-hand side of the Payment Method detail section will be automatically populated from Stripe.

  • Email
    Email is not a required field, however, we highly recommend requiring it as we use email for Stripe Customer matching logic in Salesforce.
    For example, if you already have an existing Stripe Customer in Salesforce with a payment method and a new payment method with the same email is added, it directly relates to the existing Stripe Customer record.

  • Related To Fields
    If you add additional objects to the "Relationships" step in the Setup Wizard, meaning you want additional objects as the Transaction parent, those related objects would show up in this section as a "Lookup Field" along with the Account and Contact lookup fields.
    We recommend entering a contact and/or account for all Payment Method records.

  • Optional Fields
    CVV, Street Address, Postal Code These can be used for additional verification for the Payment Method and are only required if you enable these fields in your Stripe Dashboard.

  • The Stripe Data section is data created by Stripe.
    When a "Valid" Payment Method is created the Card ID, Customer ID, and Fingerprint fields are populated.
    When using External Accounts as part of Stripe Connect, there will be no Customer ID populated on the Payment Method.

  • Click "Save".

  • Refresh the page.

What happens when clicking save?
The card information is sent to Stripe. The sensitive card information is removed from the Salesforce record and Stripe sends back a token for the Payment Method. This keeps us PCI compliant. No card information is ever saved in Salesforce.

Card Status

When saving the record, the Payment Method Status will update to either "Valid" or "Invalid."

When Payment Method Status = "Valid", the record can be used to process immediate or scheduled Transactions.

When Payment Method Status = "Invalid", the record cannot be used.

There are two error fields on the page layout, Error Message and Error Type that will provide information on why the Payment Method is "Invalid". For help troubleshooting the Error Message, see Blackthorn | Payments Troubleshooting.

ACH Payment Method

Micro-Deposit Verification
Before attempting to create an ACH Payment Method, it may be helpful to confirm that a Salesforce Contact record exists for the bank account holder. This will help ensure that Transaction data will be recorded for the intended person. Many organizations request a voided check to ensure the accuracy of the data to be entered.

  • Navigate to the Payment Methods object.

Lightning: Click on the App Launcher | Under "All Items" | Click on Payment Methods.

Classic: Click on "All Tabs" ("+" icon in the top right) | Click on Payment Methods.

  • Click "New".

  • Select "ACH" for the Record Type.

  • Required ACH details to enter
    Holder's Name
    Account Number
    Routing Number
    Account Holder Type
    The fields on the right-hand side of the Payment Method detail section will be automatically populated from Stripe.

  • Bank account verification fields: Micro-Deposit One and Micro-Deposit Two
    Your customer will receive two verification amounts in their bank account. They will need to provide you those two amounts to make their Payment Method "Verified". Only enter the amounts (such as 35 and 42, there is no need for 0.xx or a decimal).

  • Email
    Email is not a required field, however, we highly recommend requiring it as we use email for Stripe Customer matching logic in Salesforce.
    For example, if you already have an existing Stripe Customer in Salesforce with a payment method and a new payment method with the same email is added, it directly relates to the existing Stripe Customer record.

  • Related To Fields
    If you add additional objects to the "Relationships" step in the Setup Wizard, meaning you want additional objects as the Transaction parent, those related objects would show up in this section as a "Lookup Field" along with the Account and Contact lookup fields.
    We recommend entering a contact and/or account for all Payment Method records.

  • Optional Fields
    Street Address can be used for additional verification for the Payment Method and is only required if you enable it in your Stripe Dashboard.

  • The Stripe Data section is data created by Stripe.
    When a "Valid" Payment Method is created the Card ID, Customer ID, and Fingerprint fields are populated.
    When using External Accounts as part of Stripe Connect, there will be no Customer ID populated on the Payment Method.

  • Click "Save".

  • Refresh the page.

What happens when clicking save?
The bank information is sent to Stripe. The sensitive bank account information is removed from the Salesforce record and Stripe sends back a token for the Payment Method. This keeps us PCI compliant. No bank account information is ever saved in Salesforce.

ACH Status

The Payment Method Status will update to "Pending" when the bank information has been entered and the record has been saved. If there is anything wrong with the Account Number or Routing Number you will receive an error message.

When you enter the micro-deposit numbers (may take a few days to capture) and save the record, the Payment Method Status updates to "Verified".
At this point, you are able to capture Transactions. Keep in mind that Transactions generally take 4-5 days to show up as a "Pending" amount in your Stripe account or External Account if Stripe Connect is enabled.

If the micro-deposit numbers are incorrect, the Payment Method Status will update to "Verification Failed". Once the correct micro-deposits are entered, the Payment Method Status will update to "Verified".

If a Transfer sent to this bank account fails, the Payment Method Status updates to "Errored" and will not continue to send Transfers until the bank details are updated.

There are two error fields on the page layout, Error Message and Error Type that will provide information on why the Payment Method is "Invalid". For help troubleshooting the Error Message, see Blackthorn | Payments Troubleshooting.

Card and ACH notes

When entering the CVV and Billing Information fields, there is an AVS (address verification) check and the three fields: CVV Check, Postal Code Check, and Street Check will automatically update with an "Unavailable", "Pass" or "Fail" status.

If you have more than one Payment Gateway set up, manually enter in the Payment Gateway lookup field to make your selection otherwise, if left "Blank", the default Payment Gateway will be used.


Non-Stripe Payment Methods

You can create records which represent a Payment Method, but they are not actually sent to the Gateway. This means that any Transaction linked to these records are symbolic, i.e. not sent to the gateway.

In order to create a Non-Stripe Payment method:

  1. Create a new Payment Method record.
  2. Uncheck the Send to Gateway checkbox.
  3. Populate all the required fields.
  4. Click save.

Removing the Payment Method from Stripe

This feature was introduced in Payments version 4.52. If you were a payments customer before v4.52, please edit your Payment Method page layout and add the Remove From Stripe checkbox.

Once a payment method record in Salesforce has synced to the Stripe Payment Gateway, you are unable to delete the record. If you need to remove the Payment Method for any reason, that can be done by clicking the "Remove from Stripe" button or checking the "Remove from Stripe" checkbox. This functionality was created so historical information can be kept while ceasing all ways to capture transactions.

  1. Navigate to the Payment Method object.

    • Lightning: Click on the app launcher | Under "All Items" | Click on Payment Methods.
    • Classic: Click on "All Tabs" ("+" icon in the top right) | Click on Payment Methods.
  2. Click on the record you want to remove from Stripe.

  3. Click "Remove From Stripe" button or check the Remove From Stripe field.

The Payment Method Status will update to "Deleted from Stripe".


Related Contact and Account Logic

  1. When defining the Contact and/or Account on a Payment Method for a new customer, the Stripe Customer record will inherit the same Contact and Account as well.

  2. If you set the Contact field on a Payment Method where the Contact is related to an Account, the Account will automatically be added to the Payment Method.

  3. When the Contact and/or Account is set on the Stripe Customer record, the newly created Payment Method will inherit the same Contact and Account as well.


Removing the Payment Method Parent Object

  • Navigate to Setup
  • In the Quick find, type in and search for "Custom Settings"
  • Click "Manage" next to Payment Method Parents.
  • Click delete next to the object you want to remove
  • Delete the lookup fields on both the Payment Method object and your object.

Next Steps


Troubleshooting/FAQ

If you have received an error with your Payment Method or have a question, please view our Troubleshooting and Frequently Asked Questions. If you still have Payment Method questions, please contact Blackthorn Support. We're happy to help!

Updated 6 months ago

Payment Methods


Learn about the different payment methods available

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.