Documentation Index

Fetch the complete documentation index at: https://docs.blackthorn.io/llms.txt

Use this file to discover all available pages before exploring further.

May 2026 - Version 6.60

Prev Next

May 2026 - Version 6.60

(Release Date: June 2, 2026)

Table of Contents

📋 At a glance

This month brings an optional Authorize.Net hosted checkout mode for Blackthorn Events checkout and a fully accessible Virtual Terminal (keyboard- and screen-reader-friendly, WCAG 2.1 AA). We've also fixed several invoice and transaction issues, including a write-off fix that will change how some of your existing invoices display their status after the upgrade — please review Action required before you upgrade.

Update What it does For whom Setup
💳 Authorize.Net hosted checkout Optional SAQ-A hosted card form for Events checkout Admins 📦 Payments 6.60
⌨️ Accessible Virtual Terminal Keyboard + screen-reader friendly (WCAG 2.1 AA) Users & Staff using assistive tech 📦 Payments 6.60
🐛 Invoice, allocation & transaction fixes Write-off status, equal-balance allocations, list-view capture, Spreedly+PayConex Admins · Finance 📦 Payments 6.60

All changes ship in the Payments 6.60 Salesforce package and need to be installed by an admin. Also upgrading Events to 5.47 in the same window? If you use the Blackthorn Candy Shop, Payments upgrades automatically as part of the Events install; if you install manually, upgrade Payments first.


⚠️ Action required

Take a snapshot of invoice statuses before you upgrade.
This release includes a fix to how invoice payment status is calculated when a write-off has been applied (see What's fixed → Invoices & allocations). Existing invoices that show "Overpaid" today because of a write-off will most often change to "Paid" after the upgrade, and partial write-offs on unpaid invoices may also re-categorize. The new behavior is the correct one, but it kicks in the moment you upgrade and applies to your existing invoices, not just new ones. We recommend running this past your finance team before publishing reports or triggering any downstream automation, so no one's caught off guard.

Review any automation that assumed which line item an allocation would land on.
When an invoice has two or more line items with the exact same balance owed, new allocations now consistently apply to the first-created line item. Existing allocations on existing invoices don't change. If you have custom flows, reports, or integrations that worked around the previous (less predictable) order, take a look at them before you upgrade.


✨ What's new

All items below are part of the Payments 6.60 package and need to be installed by an admin.

💳 Payment gateways

Authorize.Net hosted checkout for Events checkout (Salesforce upgrade required)

This release adds a SAQ-A Mode setting on the Payment Gateway that enables an optional Authorize.Net hosted checkout in Blackthorn Events. It affects Events checkout only; your standard Authorize.Net checkout aligns with SAQ-A and remains the default, and standalone Payments use is unaffected. See the Blackthorn Events release notes for details.

⌨️ Virtual Terminal

Keyboard and screen-reader accessibility (Salesforce upgrade required)

The Virtual Terminal is now fully keyboard-navigable and screen-reader-friendly, meeting WCAG 2.1 AA accessibility standards. You can navigate the Bank/Card tab switcher with Tab and Arrow keys, screen readers now announce a clear description of the card-entry area, and the Payment Method lookup announces matching options as you type. This makes the Virtual Terminal usable for staff who rely on assistive technology.


🐛 What's fixed

All items below are part of the Payments 6.60 package and need to be installed by an admin.

💳 Payment gateways

  • International registrants paying via Spreedly + PayConex (Salesforce upgrade required): Previously, when an attendee was registering from a country that doesn't use a state or province system (like Singapore), they'd see a confusing "STATE MUST BE 2 LETTERS" error and couldn't complete payment if your gateway was Spreedly + PayConex. Now these attendees can pay without any issues.

🧾 Invoices & allocations

  • Invoice payment status with write-off transactions (Salesforce upgrade required): Previously, when you applied a write-off to an invoice, the system was counting that write-off the same way as a cash payment — which could push the invoice into "Overpaid" status even though the customer hadn't actually overpaid. Now write-offs are tracked separately, and the invoice status correctly reflects what was paid in cash versus what was written off. See Action required above — this fix changes how existing invoices display their status after the upgrade.
  • Deterministic allocation order for equal-balance line items (Salesforce upgrade required): Previously, when an invoice had two or more line items with exactly the same balance owed, allocations could land on either line — and which one was a bit random. Now they consistently apply to the first-created line item, so the behavior is predictable. See Action required above for the automation review.

💵 Transactions

  • Capturing payments from the Transaction List View (Salesforce upgrade required): Previously, if you tried to capture an Authorized transaction directly from the Transaction list view, you'd hit an error and the payment wouldn't capture. Now the same list view action handles both transaction types correctly: Authorized transactions go through the Capture batch and Open transactions go through the Charge batch.

⚙️ Payment setup

  • Payment Setup Wizard installs the latest Paylink version (Salesforce upgrade required): Previously, the Payment Setup Wizard installed Paylink 1.26 even though 1.27 had been out since April. Now the Wizard installs Paylink 1.27.

🛠️ Technical reference

This section is intended for Salesforce admins. Field API names, custom metadata, and implementation notes are grouped by the feature they relate to.

Authorize.Net hosted checkout (Events checkout)

Scope: This applies only to the Blackthorn Events checkout flow when an Authorize.Net gateway has the new SAQ-A Mode flag enabled. It is opt-in and off by default; the standard Authorize.Net checkout aligns with SAQ-A and remains the default. Standalone Payments use (Virtual Terminal, Paylink, invoicing) is unaffected.

New field — Object: Payment Gateway

  • Field Label: SAQ-A Mode
  • API Name: bt_stripe__SAQ_A_Mode__c
  • Data Type: Checkbox · Default: unchecked
  • Help Text: When enabled on an Authorize.Net gateway, switches that gateway to the Authorize.Net Accept Hosted iframe checkout flow.
  • Read/Edit: payment360_Adminv2, Stripe_Billing · Read Only: standard Blackthorn Payments user permission sets

New custom metadata type: AcceptHosted_Settings (bt_stripe__AcceptHosted_Settings__mdt) — stores the Authorize.Net Communicator URL configuration used by the Accept Hosted iframe flow. A Default record ships with sandbox and production Communicator URL values pre-populated. Most orgs will not need to change this.

For the checkout behavior and full implementation details, see the Blackthorn Events release notes.

Virtual Terminal accessibility

The accessibility work covers the LWC Virtual Terminal transaction component, the custom lookup component, and the Stripe and Spreedly hosted-input directives. Automated WCAG (axe-core) and keyboard-navigation E2E coverage is now part of the test suite to guard against regressions.


⬆️ How to upgrade

Go to the Blackthorn Candy Shop to upgrade Payments to 6.60. Also upgrading Events to 5.47? If you use the Candy Shop, this is sequenced automatically; if you install packages manually, upgrade Payments first.

For step-by-step instructions, click here.