April 2020 - Version 4.160

April 2020 release is here! :dancers:

Once the below updates have been reviewed, please upgrade your payments app from the appexchange:

Known Issue

Our auto-charge transaction batch job is processing over 100 transactions per API call, which is causing process failure and duplication issues.
As a temporary workaround, please navigate to Setup->Custom settings-> Blackthorn | Payments Triggers->Manage->Edit-> Set the Auto-Charge Batch Size =1 and Save.
We will have this fixed in the next release cycle. See reported bugs here.

Upgrade Instructions

  1. Review the new features, enhancements, and bug fixes below.

  2. We 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 the latest version from here.

  4. For Stripe Billing customers only, visit the Blackthorn | Payments Admin tab, navigate to Scheduled Jobs and click "Schedule Billing Jobs" button. You can see our scheduled jobs in Setup - Jobs - Scheduled Jobs.

New Fields/Layouts



If you are having custom permission sets, please make sure the below fields are granted access if necessary.

  1. Line Items - New lookup field on opportunity products. You can find more details here.

  2. Merchant Category Code - New field on the Legal Entity record for Stripe Connect customers. For more info, click here. (You will need to add this field on the page layout.)

  3. Amount in Cents - New formula field on Transaction to store the amount in Cents. (To view this field, please add it to the page layout)

:new: New Features :new:

  1. We have a new lookup field Line Item on the opportunity product. This will facilitate mapping the Sales Document Line Item directly with the opportunity product line item. So when an Invoice/Sales document is created from opportunities using the "Create Invoice" button, you can self map additional opportunity line item fields (Example - custom tax field) to the invoice using a process builder. To know more about auto-converting opportunities to invoices, click here.



To view this field, please navigate to the opportunity product page layout and drag this field Line Item on the page layout.

  1. Use Allocations to show Refunds on Line Item & Sales Document. Check our doc here.

:high-brightness: Enhancement:high-brightness:


DocumentLink Update Prior Notice:

In May, we're making updates to our DocumentLink to display the Name field instead of the auto-number field (i.e the Sales document ID). Along with this, the Name field will be written in the newly generated Transaction Description field. For further queries or questions, feel free to reach out to us at [email protected]

  1. When you don't wish to define a contact/account on a transaction, you can disable the related lookups from the payment method being populated on the transaction using a custom setting. To know more on how to do this, click here.

  2. For Stripe Billing customers only, you can report and follow up on past due invoices in Salesforce. When an invoice is Unpaid with a Due Date < Today, we have a new Job named "Blackthorn | Payments Past Due Invoices" which will update the Invoices with Payment Status = Past Due. In order to schedule the job, please follow Step 4 instruction. For more information about these jobs, click here.

  3. Support latest Stripe version 2019-12-03 for connected account charge calls. For more information about Stripe Connect, click here.

  4. For Stripe Billing customers, we have a new validation for Plans. As we only support products of type service, when the supplied product has type as good, an error will be thrown like below. To know more about plans, see here.

Plan ValidationPlan Validation

Plan Validation

  1. For Stripe Billing customers, when an account has one subscription associated with it, we are showcasing the Subscription Status at the account level using the "Subscription Status" field. If there is more than one subscription, this field will update to "See Subscriptions". (Please make sure this field is added on the page layout) Find more about our Account subscription data here.
  1. There are new validation rules for ACH and non-gateway transactions to only be captured, not authorized. These errors will be thrown when attempting to "Authorize" an ACH or non-gateway transaction. Here is an example of the errors that will be thrown.
  1. When you refund or partially refund an invoice, the Payment Status field will stay as paid and the Balance Paid field will stay as the original amount. For more information, please click here.

  2. Salesforce Critical Update: Salesforce updated their site user settings which meant that we needed to update our webhook admin permission set to include the "View All" permission (see image below). Upgrading to the latest Payments version will update this automatically.

:ant: Bug Fixes :bug::beetle:

  1. Blank page when clicking the "new line item" button on the Sales Document record. This has been fixed. If you did the workaround, please update the New button back to the Visualforce page.

  2. The historical “Sync Invoices“ button from the payment gateway object was throwing validation errors in Salesforce, this has been fixed.

  3. The "Create Stripe Customer" button on Account was not mapping the address fields to the Stripe customer record metadata. This has been fixed.

  4. Whenever a transaction failed for a Payment Schedule (PS), the newly created, reattempt transaction was skipping the payment periods. Example, when the PS was set to monthly, it skipped the following month and set a due date for two months after. This issue has been fixed.

  5. Charge webhooks coming from Stripe were deleting and resetting the data on transaction records in Salesforce, this has been fixed. For example, the payment gateway fee would be deleted.

  6. The Virtual Terminal was throwing an error message "'Failed to Execute PostMessage' on 'DOMWindow': The target origin provided does not match the recipient window's origin" in the community portal. This has been fixed.

  7. Disputes were not getting linked to the source parent/transaction. This has been fixed.

  8. The "retained net revenue amount" formula field on the transaction record was incorrect as it was missing the Payment Gateway Fee in the following calculation. Retained Net amount = Amount - [(Gateway fee+Application fee) + refunds if any]. This has been fixed.

  9. For Stripe Billing customers only

a. When a transaction was Paid against an Invoice/Sales document in Salesforce, the status of the Sales document was not updating to Paid in Stripe. This has been fixed.

b. There was an "Attempt to de-reference null object error" during the historic sync process for Plans in Salesforce. This has been fixed.

c. When a Product was pushed to stripe, it threw an error message "Invalid Type: must be one of good or service. This has been fixed.

Did this page help you?