Here you'll find some fixes, improvements, as well as new features to Blackthorn | Payments. Don't worry when we release a new version of the app, we will still add an announcement and send an email to you! If you have questions on any of these items, don't hesitate to contact support.
To receive the latest features, improvements, or fixes please install the latest version of Blackthorn | Payments.
Instructions after install:
- Delete the scheduled job, "Blackthorn | Payments Balance Update."
- Navigate to Blackthorn | Payments Settings and click the "Upgrade" button.
IMPROVEMENT: New object called, "Blackthorn Logs."
A new object has been created to capture any errors or performance issues with Blackthorn | Payments. This allows you to understand, trace, report, and troubleshoot more efficiently.
FIXED: Ghost user assigned to the
Blackthorn | Payments Balance Updatejob.
When upgrading to a new version, this job was scheduled under Blackthorn Payments, which is not a user in any org and resulted in permission issues.
FIXED: Changed the
Update Payment Gateway Balanceprocess to a scheduled daily job.
Customers with high transaction volume were hitting query limits from an hourly job or clicking the "Update Balance" button.
FIXED: Changed the
Transaction Parent Roll-Upprocess.
Customers with high transaction volume were hitting query limits from this trigger. The process has been changed to batch calls (instead of batch and future calls) and will fire on create and update of Transactions. Please Note: If you click the "Recalculate Transaction Parent Rollups (Beta)" button and have high Transaction volume, you will receive a query limit error.
Navigate to the Blackthorn | Payments Settings tab and click the upgrade button to deploy new picklist values.
IMPROVEMENT: Support plan options are now included in the setup wizard.
You receive basic support when installing the app, but can select a paid support within the setup wizard. Help to support our app development by using one of our paid plans, which also comes with multiple benefits and a faster response SLA.
IMPROVEMENT: Default Payment Methods through the Virtual Terminal.
When creating a new Payment Method through the Virtual Terminal, you can set it as the default. This functionality mirrors our current default Payment Method logic.
IMPROVEMENT: The Virtual Terminal is available in Communities.
The Virtual Terminal is available in Communities. For additional information and help with set up, please view our documentation.
IMPROVEMENT: New Transaction status value called "On Hold" for Charge, Transfer, and Payout Transactions.
This "On Hold" status allows the user to put Transaction's that are scheduled for auto-process on hold for whatever reason. When the hold is changed back to "Open", it will get picked up by the daily auto-processing job.
IMPROVEMENT: New custom setting to disable Transaction rollup.
There is a new custom setting that when checked, the Transaction parent rollup fields are disabled. Allowing you to control when updates should be made or if they can happen automatically.
IMPROVEMENT: Two new buttons in Blackthorn | Payments Settings.
The "Process Scheduled Transactions" button immediately processes scheduled Transactions instead of waiting for the daily job to process them. The "Recalculate Transaction Parent Rollups" button automatically updates all the Parent record's rollup fields.
FIXED: The status for non-stripe Transactions would automatically update to "Open".
When creating a non-stripe Transaction and setting the Transaction status to any value, on save, the status would change from that value to "Open". Now, the non-stripe Transactions will save with the original
FIXED: Webhooks did not update a failed charge Transaction.
When a webhook updated a failed Transaction, it did not include an error message as to why the Transaction failed. This has been fixed and the
Error Messagenow populates with the failed information.
Please view our announcement for upgrading instructions.
IMPROVEMENT: Total balance fields for Payment Gateway.
There are seven new fields for Stripe and Payment Gateway balances. For additional information regarding these fields, click here.
IMPROVEMENT: Transaction fees.
There are eight new fields on the Transaction object to capture Stripe and application fees, net amount, and retained net amount (after any refunds). For additional information on each field, click here.
IMPROVEMENT: Available on and balance status.
There are two new fields on the Charge Transaction Page Layout, available on and balance status, which provide when the Transaction's amount is available in your Stripe account.
IMPROVEMENT: Account and Contact insert.
When a Transaction or Payment Schedule is created where the Account and/or Contact are null, the related Payment Method's Account and/or Contact will automatically populate those fields. Click here for more information.
IMPROVEMENT: Transaction's status immediately updates to "Completed."
Prior, when Transactions were processed, you would have to refresh the page to show the updated Transaction status. Now, the Transaction record immediately shows the updated status when you click "Capture" or "Authorize".
IMPROVEMENT: Transaction roll-up fields on Parent Objects.
When a Transaction parent is selected in the setup wizard, eight new fields are deployed onto that object's Page Layout to summarize the related Charge Transactions. See Transaction and Payment Schedule documentation for more information.
IMPROVEMENT: Remove from Stripe checkbox field.
When this field is checked, it removes the Stripe Customer from Stripe just like the "Remove from Stripe" button functionality. This field was created so that you can remove customers from Stripe through process flows, workflows, visualforce page, etc...
IMPROVEMENT: Three validations have been added to the Payment Method object.
If the Payment Method's currency does not support ACH, American Express, or is not supported by Stripe at all a dynamic validation error will be thrown.
FIXED: Postal Code is now required for capturing Payment Methods.
Making this field required lowered the apps risk of fraud and was mandated by Stripe that we require this in our API.
FIXED: Capturing authorized amounts rounded down to the whole amount.
When authorizing an amount with decimal, ie $100.50, then capturing that amount results in the captured amount rounding down to a whole amount (ie $100). This has been fixed and all authorized Transactions capture the original amount.
FIXED: Required "Type" field on Content Version Object.
This field was accidentally set as required in field-level security settings and blocking customers from being able to upload files. This has been fixed and the "Type" field is required on the Page Layout allowing files to upload successfully.
FIXED: Historical sync email match.
The email match feature connecting Contacts to Stripe Customer records has been fixed.
FIXED: Capturing authorized Transactions.
When trying to capture an authorized Transaction, an error would be thrown about only being able to capture an "Open or Process" status Transaction. This has now been fixed so that you can capture authorized Transactions.
FIXED: Capturing a Transaction amount that was less than the authorized amount.
When capturing a lesser amount than what was authorized was producing the incorrect Payment status. The Payment status now updates "Partially Captured."
ADDED: Disputes and Fraud.
You can now manage Stripe's Dispute resolution process directly in Salesforce. Allowing you to receive, accept, and refund Disputes and submit Dispute Evidence all within your Salesforce Org. Click here for the full announcement on this feature.
ADDED: "Upgrade" Button.
This button will automatically add new fields, picklist values, and other small changes from our app on your existing Page Layouts, Record Types, or Objects instead of you having to do it manually. We will inform you when the "Upgrade" button needs to be clicked.
FIXED: Webhook fix to prevent duplicates.
When Webhook Events receive a charge, we have now created logic to look for existing "Open" Transactions and match them using the Salesforce ID from the metadata within Stripe to prevent duplicate Transactions from being created.
Contactfields on Payment Method.
When a Transaction is completed and captured and the related Payment Method
fields are null, those fields on the Payment Method will be updated with the Transaction'sAccount
IMPROVEMENT: Validation on Micro Deposit fields with ACH Payment Methods.
If you use a decimal in the micro deposit field, it would break the verification process. So we updated the API call out to strip any characters except the number (ex. ".32" entered, the API call sends "32").
IMPROVEMENT: Retained Revenue logic on Non-Stripe Transactions.
We have now extended the retained revenue logic to non-stripe Transactions. When checking the
Non-Stripefield on Transaction, the
Transaction Status= Completed, and the
Payment Status= Captured.