April 2021 - Version 5.20
  • 13 Jul 2022
  • 5 Minutes to read
  • Dark

April 2021 - Version 5.20

  • Dark

Article Summary

Once the updates listed below have been reviewed, please follow the upgrade instructions to upgrade your Payments application.

Breaking Change

If you are currently using the custom setting Terminal Related To Default Object from the Blackthorn Pay - Trigger Settings you need to switch to the new custom setting Related To Default Object now located under Blackthorn Payments | Virtual Terminal. The custom setting Terminal Related To Default Object has been removed.

Important upgrade note for all

Starting with the June 2021 release, we will require all customers to be no more than 3 versions behind the latest version. We'll start reaching out to customers this month that are more than 3 versions behind.

Salesforce Release Update Known Issue

Enable Secure Static Resources for Lightning Components is a Salesforce Release Update that will be enforced in Summer '21. Test Run on this Release Update should remain disabled in order to use our Virtual Terminal components. This is due to a Salesforce Known Issue.

Upgrade Instructions

  1. Review the Bug Fixes and Enhancements.
  2. Install Version 5.41 of Blackthorn Payments here.
  1. Navigate to Blackthorn | Payments Setup Wizard, click the PayLink tab, and install the latest PayLink package.


  • We have removed the "terminal" logo and Clear button from the Virtual Terminal. This will allow the component to seamlessly appear on the record page without it looking out of place.
  • The Virtual Terminal now displays a spinner while loading on the page. This will help users know when the Virtual Terminal component has fully loaded so they don't input data into the wrong field.
  • Updated the Payments Setup Wizard Paylink step so that it loads the latest version of Paylink (v1.20).
  • Removed the Custom Setting labeled Terminal Related To Default Object from Blackthorn Pay - Trigger Settings. This was a cleanup item as this setting has moved to the Custom Setting group labeled Blackthorn Payments | Virtual Terminal.
  • Added the ability to modify the recordId associated with the Related To field on Virtual Terminal. We also added the ability to modify the Parent Object at the same time. This will give customers more flexibility when customizing the Virtual Terminal in a flow or in another custom component.
  • Virtual Terminal will now have the ability to capture success or failure responses from Transactions. We're adding code that can be reused by customers in custom components for this feature. Additionally, we're adding a code mechanism for disabling the success pop up that occurs after capturing a Transaction in Virtual Terminal.
  • We added additional global variables for the Virtual Terminal that will control which type of Payment Method form in displayed inside custom components. This variable, when used in a custom component, will also have the ability to filter stored Payment Methods by type.
  • Added an update to our Payments REST API so the Account and Contact IDs can be accepted when working with Authorize.net requests.
  • For Stripe ACH Payment Methods we have implemented the use of a Stripe fingerprint to uniquely identify ACH Payment Methods.

If you would like to bypass Stripe's fingerprint logic and use our legacy logic for ACH Payment Methods do the following:Navigate to Custom Settings -> Blackthorn Pay - Trigger Settings -> Disable Fingerprint Matching (ACH) set to 'TRUE'.

Bug Fixes

  • Resolved: When a Payment Method resulting in an "Invalid" Payment Method Status was added from the Virtual Terminal users were seeing a success message. This was because the logic was noting whether or not the Payment Method was saved. We've updated the logic to throw a failure message when a Payment Method is saved, but invalid. This will be more intuitive for users.
  • Resolved: The custom setting labeled Hide Parent was hiding the Parent field on the Virtual Terminal, but also it was preventing the parent record value from populating on Transactions captured from the Virtual Terminal. The logic has been updated so users will now see the parent ID on Transactions captured from Virtual Terminal regardless of if the field was hidden or not.
  • Resolved: The field text for Card Expiration on the Paylink form was not intuitive to users and needed to match the UI for Virtual Terminal. This field has been modified so instead of saying Card Expiry it now says Card Expiration.
  • Resolved: Users noticed that when creating a graduated Price in Stripe with a large unit value ( 999,999,999,999,999 ) a BT Log with an exception was created and the Price was not being synced in Salesforce properly. We have updated our logic to allow for the larger value to prevent this exception. Users will now be able to create Prices in Stripe within Stripe's value limits and sync with Salesforce.
  • Resolved: When the Custom Setting Disable Trans Rollup Parent was set to "True" there were instances of the Transaction rollup logic still being triggered. We've made an update so whether the scheduled batch TransactionRollupToParentService runs automatically or whether the user manually triggers TransactionRollupToParentService the logic will not be executed if the Custom Setting is checked.
  • Resolved: The proration behavior logic for Subscription Schedules was not matching the behavior users came to expect after using prorations with Subscriptions. The logic has been updated so Backdate Start Date values on Subscription Schedules entered from Salesforce should sync with Stripe. This will allow Subscription invoices to be created appropriately.
  • Resolved: Blackthorn Log records were being generated when Transactions were being updated from Stripe. We've added logic to prevent the null pointer error that was being presented in the Blackthorn Log.
  • Resolved - When creating Subscription Schedules there were instances where duplicate Subscription records were being created after the webhook processed. We updated the logic to add the Subscription ID to the active Subscription Schedule Phase to prevent a duplicate Subscription record from being created.
  • Resolved - Government Cloud orgs were reporting that they were seeing errors when attempting to use the Payments Setup Wizard. Users will now be able to navigate through the wizard without errors. Additionally, they will notice that the Relationship step now adds a record to the Transaction Parent Custom Setting as expected.

Updates to Custom Settings & Fields

  • Added a Custom Setting labeled Disable Fingerprint Matching (ACH) - This custom setting can be found under Blackthorn Pay - Trigger Settings. When enabled Stripe ACH Payment Methods will bypass the fingerprint logic that Stripe has implemented and use a custom matching logic we developed before Stripe fingerprints were implemented.