December 2020 - Version 5.13


SCA Support

Strong Customer Authentication (SCA), as part of PSD2 regulation in Europe, requires changes to how European customers authenticate online payments. Card payments require a different user experience, namely 3D Secure, in order to meet SCA requirements. We've updated our Payments package to prevent Transactions from being declined by banks. Read more here.

Who is Affected?

This regulation applies to online payments where the customer’s bank and the business are both in the European Economic Area (EEA). Click here for further guidance.


December Payments Webinar

Our December Payments Webinar has been pre-recorded! Register for the webinar here. Once registered, you will receive an email with a link to watch!

Once the below updates have been reviewed, please follow the upgrade instructions to upgrade your payments application from the AppExchange.


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 New Features, Enhancements, and Bug Fixes.

  2. We've added a few new fields to this package. If you are using custom permission sets/profiles, please see the new fields section below to update your profile and/or permission sets.

  3. Install Version 5.13 of Blackthorn Payments here:

Production Install Link

Sandbox Install Link

Upgrading via the AppExchange Video

  1. Navigate to Blackthorn | Payments Setup Wizard, click the PayLink tab, and install the latest PayLink package.


SCA and MOTO support now available:

  • SCA Support for PayLink and Blackthorn Donations checkouts
  • MOTO Support for manually keyed Payment Methods and Transactions


Enhancements for all Gateways

  • Payment Gateway Customer push control: Added a Push to Gateway button to the Payment Gateway Customer object to provide a manual option for pushing customer records to the Payment Gateway. The default behavior is still to automatically push the new Payment Gateway Customer record to the Payment Gateway account on save. This new option can be enabled instead to allow more control over when the Payment Gateway Customer gets created in the Gateway to ensure completeness.

  • Payment Schedules roll down feature: When a Payment Schedule is edited to be associated with a different Payment Gateway, that change will roll down to update the Payment Gateway field of the related Transactions. This is useful if the wrong Payment Gateway was initially selected on a new Payment Schedule.
    Note: An error will be thrown if a Payment Method tied to a different Payment Gateway has already been associated with the Payment Schedule record.

  • New Virtual Terminal interface controls: A new Custom Setting labeled "Blackthorn Payments | Virtual Terminal" provides new options to refine the user experience and available actions in the Virtual Terminal. This Custom Setting includes the following:

    • The ability to disable the "New Payment Method" or "New Single Charge" options from the Action picklist. This is useful for those who wish to restrict one of the available actions that can be performed using the Virtual Terminal.
    • The ability to set the "New Payment Method" option as the default action on load. Currently, 'New Single Transaction' loads as the default action.
    • A mechanism for setting Amount as read-only when Virtual Terminal is added to a community page.

Enhancements for Stripe

  • Block American Express: The Payment Gateway object now includes a checkbox labeled Block Amex Transactions In Rest API. This will allow Transactions coming in from the REST API to be blocked with an error message if this checkbox is enabled. This provides an ability to block American Express from being used if the higher processing fees are of concern.
    Note: This will also work with PayLink and DocumentLink.

  • For Currency Conversions with Stripe, the Exchange Rate and Currency Conversion Payout Amount field values on Transaction records are now populating at the time the Transaction is captured. Before this release, these values weren't populated until the Payout was processed in Salesforce, which could be several days after the Transaction was captured. This means you can now see the totals collected in your relevant, settlement currency immediately as opposed to several days later.

  • Virtual Terminal visual enhancement: When using Virtual Terminal to add Stripe Payment Methods and charge those Payment Methods you'll notice the user interface has been updated.

Enhancements for Stripe Billing

  • Paused Subscription Invoice Behavior: The Subscription object now has a new field labeled Paused Invoice Behavior to capture values coming from Stripe such as 'Keep As Draft', 'Mark Uncollectible', and 'Void' when a Subscription has been paused. This allows more granular visibility in Salesforce on the properties set in Stripe for Subscriptions that are paused.
    Note: This and other fields related to Pausing Subscriptions are not actionable from Salesforce. These fields are updated via Webhooks when a Subscription is Paused in Stripe.

  • Stripe Invoice address field auto-population: When using the Create Invoice button on the Opportunity object, the Sales Document record that is generated is populated with related fields from the associated Account including the Ship To fields. This enhancement eliminates the need for manual entry of these fields.

  • Pushing Products to Stripe controls: Added a Push to Stripe button to the Product object for pushing records to the Payment Gateway. Previously, on setting the Payment Gateway field, records were being pushed automatically without any options to push manually. This new option allows more control over when the Product gets created in Stripe to ensure completeness.
    Note: The Product object does not allow updates.

  • Invoice Line Metadata support: Added the ability to write data to a new field labeled Metadata on Line Item records. Metadata helps you store the info that’s most useful for your business, and makes it easier to reconcile Stripe data with your other databases and systems.

Enhancements for Spreedly Gateways

  • Spreedly ACH support for the Virtual Terminal: Added the ability to add Spreedly ACH Payment Methods via the Virtual Terminal. Previously only card Payment Methods were supported.

Bug Fixes

Bug Fixes for All Gateways

  • SOQL Error on Payment Schedules: While attempting to cancel and refund Payment Schedule records, a SOQL error was being displayed. Now users can use the Cancel and Refund button without running into that error.

  • Virtual Terminal Email mapping issue: When using the Virtual Terminal, there were instances where the value in the Email field was not getting populated on the Payment Method record created.

  • Resolved a Payments Setup Wizard Issue: The Payments Setup Wizard was not navigating properly. Implemented a fix so all steps are executed.

  • Created a validation rule on the Relationship Settings object. This will prevent users from setting multiple records as a default.

Bug Fixes for Stripe

  • Fixed: Stripe Invoice total inconsistency: Instances where rollup fields were not capturing all of the totals on Stripe Invoices (Sales Documents). Refactored logic so roll-ups are calculated when webhooks process.

  • Fixed: Dispute error when using Blackthorn Donations: Dispute records were not being created when the Blackthorn Donations package was also installed alongside Blackthorn Payments.

  • Fixed: Gateway Fees not populated on initially authorized Transactions: When Transactions were authorized in the Stripe Dashboard and later captured, the fees were not getting populated on the resulting Transaction record in Salesforce. These values are now being populated once the webhooks process.

  • Fixed: Payment Gateway Customer not populated on certain Transactions and Payment Methods: Webhook Event processing order inconsistencies were causing Transactions and Payment Method records to be created without populating a related Payment Gateway Customer. The processing order is now taken into consideration so all records are related properly when created via webhooks.

  • Fixed: ACH Payments failing with SCA enabled: When SCA was enabled in Custom Settings, Transactions with ACH Payment Methods were failing. Salesforce Orgs needing SCA enabled will now be able to process Stripe ACH Transactions successfully.

Bug Fixes for

  • Fixed: Virtual Terminal issues with If was set as the default Payment Gateway in a Salesforce org, there were problems with the new Payment Method form displaying in the Virtual Terminal. The component is now being refreshed when Payment Gateway is selected.

New Fields/Layouts

New Fields for All Gateways

  • Added: A button to the Payment Gateway Customer object labeled Push To Gateway.

New Fields For Stripe

  • Added: A checkbox labeled Block Amex Transactions In Rest API on the Payment Gateway object.

  • Added: A checkbox labeled Stripe MOTO Enabled to the Payment Gateway object.

  • Added: A checkbox labeled Enable MOTO to the Payment Method object.

New Fields For Stripe Billing

  • Added: A field labeled Metadata on the Line Item object.

  • Added: A field labeled Paused Invoice Behavior to the Subscription object.

  • Added: A button to the Product object labeled Push to Stripe.

Did this page help you?