July 2020 - Version 4.163
Once the below updates have been reviewed, please upgrade your payments app from the appexchange.
Upgrade Instructions
Install the latest version, here.
Installation issues?
If you're facing issues upgrading to our latest version (4.165) try upgrading to 4.163, then to 4.165. This should fix any errors you receive.
Installation link to 4.163: https://login.salesforce.com/packaging/installPackage.apexp?p0=04t4N000000ceEE
Blackthorn Rebrand
As a part of our rebrand, we have updated our logos. These will need to be manually updated. To do so, please follow the documentation here.
Curious to why we rebranded? Check out this article!
New Features 


-
Duplication Logic (Required)
In this update, we’ve added a feature to match payment gateway customers and connected account owners (Stripe Connect) to existing Contacts, Leads, and Accounts. If no match is found, you decide if a related record should be created through the Relationship Settings object. We are no longer automatically matching based on email and first name. If you relied on that for matching, please review this feature and make the update before upgrading. -
Currency Conversions
If the transaction's currency is different than the currency for your bank account, we now set the conversion amount on the transaction for more accurate reporting. Click here! for additional information. -
Authorize.Net Visualforce Components
The Virtual Terminal has been updated to immediately send sensitive Authorize.net payment information via Accept.JS to ensure a higher level of PCI compliance. This allows data to go directly from your browser to the javascript source api to be tokenized (Authorize.Net or Stripe.) Click here for additional information.Add Card
Add ACH
ConnectedAccount_AddPaymentMethod
PaymentGatewayCustomer_AddPaymentMethod
Lead_AddPaymentMethod
Account_AddPaymentMethod
Contact_AddPaymentMethod
Enhancements


- We have added pop up confirmations on many of our buttons. Here is the list of buttons that now include a confirmation before completing the action:
- Payment Schedules: "Generate" and "Cancel"
- Transactions: "Authorize," "Charge," and "Process"
- Payment Customers: "Remove From Gateway"
- Payment Methods: "Remove From Gateway"


Here is an example of generating 4 Transactions from a Payment Schedules
-
Stripe Billing Customers: There is a checkbox field called
Push to Stripe
on the Coupon object. When checked, this sends the coupon you created in Salesforce over to Stripe. Click here for additional information about Coupons. -
The Virtual Terminal will automatically pre-fill the "Related To" field with the
Bill To Contact
when it's on a Sales Document record. Click here for additional information click here! -
Field Service Lightning Customers: The payments setup wizard has been updated to provide mobile payment + FSL installation instructions. Read more about Field Service Lightning here.
-
When refunding an authorized transaction in Salesforce or a released transaction in Stripe, no refund transaction will be made. It will now update the status of the original transaction. The transaction status will be completed, payment status will go from authorized to uncaptured, and the uncaptured method is updated to manual. You can read more about releasing authorize transactions here.
-
Added
Card_Zip_Not_Required__c
in custom setting "Blackthorn Pay - Features." This will allow a postal code to not be required when creating a Payment Method in Virtual Terminal. -
Added a new scheduled job named "Blackthorn | Payments Transaction Rollup To Parent" that will pick up all new/updated Transactions and roll up counts and amounts to parent objects. This job is scheduled to run every hour.
-
The Setup Wizard was tweaked in this update. Navigation bars will now display like the following image:
- Removed the
Billing Email
as a required on the Virtual Terminal when adding a new Payment Method.
Bug Fixes 




-
Fixed a bug where the Apex CPU time limit exceeded error would occur on our batch Set Payout job. This was happening when there was over 2,000 related transactions in the payout job. This was fixed by breaking up the batch into smaller chunks and starting another batch is there's still remaining transactions to process.
-
Stripe Billing Customers: Any Plans with a name greater than 80 characters would not sync to Salesforce because the
Plan Name
field in Salesforce had a limit of 80 characters. There is now a new text field called 'Stripe Name' that is mapped to Stripe 'Plan Nickname' to allow for plan names up to 255 characters long. Click here for additional information. -
To prevent the "First Error: Too many SOQL queries” error when syncing historical data, we changed the batch size to 10.
-
There is a new webhook label:
payment intents
where our logic was not creating a payment method. We have adjusted the code on our end to support this new webhook label -
Previously, the
Amount to Pay
field on Sales Document was calculated byBalance Due
minusBalance Paid
and was not editable. Now theAmount to Pay
field is only set or updated when theBalance Due Amount
changes and is greater than or equal to 0. -
Fixed a bug when using the
Cancel and Refund
button on Payment Schedules was clicked, it was previously giving an SOQL Query error. -
Fixed a bug where changes to the
Shipping Name
on the Payment Gateway Customer record was not updating theShipping Name
field on the Stripe Customer record
New Fields/Layouts
-
Added
Currency Conversion Payout Amount
andExchange Rate
fields on the Transaction object. -
added
Push to Stripe
checkbox field on the Coupon object. -
Added
Stripe Name
text field to Plan object.
Updated over 1 year ago