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.

June 2026 - Version 6.65

Prev Next

June 2026 - Version 6.65

(Release Date: June 30, 2026)

Table of Contents

📋 At a glance

This month improves Authorize.Net reliability with an automatic OAuth token refresh plus a fix for intermittent "uncommitted work pending" failures — and updates the Blackthorn Mobile Payments app (iOS and Android) for Salesforce's Connected App security changes. Note the new iOS 17 minimum in Action required before updating the app.

Update What it does For whom Setup
🔁 Authorize.Net token auto-refresh Automatically refreshes the expired OAuth token (parity with Stripe) Admins 📦 Payments 6.65
📱 Mobile Payments app update Salesforce Mobile SDK upgrade for Connected App security; new iOS 17 minimum Staff using the mobile app App Store · Google Play
🐛 Authorize.Net & refund fixes "Uncommitted work pending" errors and refund Date Processed preservation Admins · Finance 📦 Payments 6.65

The package changes ship in the Payments 6.65 Salesforce package and need to be installed by an admin. The Blackthorn Mobile Payments app (v2.0.4) updates separately from the App Store and Google Play. Also upgrading Events to 5.54 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

Blackthorn Mobile Payments (iOS) now requires iOS 17 or later.
As part of the Salesforce Mobile SDK upgrade below, the minimum supported iOS version moves from 15 to 17. Devices on iOS 15 or 16 will no longer be able to run the app and should be updated before installing.


✨ What's new

Items tagged Salesforce upgrade required are part of the Payments 6.65 package and need to be installed by an admin. The Blackthorn Mobile Payments app updates separately from the App Store and Google Play.

💳 Payment gateways

Authorize.Net OAuth token auto-refresh (Salesforce upgrade required)

Authorize.Net now automatically refreshes its OAuth access token when it expires, retries the request, and saves the new token, reaching parity with how Stripe is handled. Previously, when the yearly Authorize.Net token expired, payment processing could stop until the token was manually refreshed. Now token expiry is handled transparently and a clear admin message is shown only if the refresh token itself has expired.

📱 Blackthorn Mobile Payments

iOS — Salesforce Mobile SDK upgrade to v13.2.1 (app v2.0.4)

Previously, after authorizing the updated Connected App (which uses Salesforce's PKCE and refresh-token rotation), the iOS app could enter a crash loop on the post-login token refresh, locking users out. The Salesforce Mobile SDK has been upgraded to v13.2.1 to resolve this. See Action required above for the new iOS 17 minimum.

Android — payment capture error fixed (app v2.0.4)

Previously, the Android app could throw an error immediately after login and on payment capture. The Salesforce Mobile SDK has been upgraded to v13.2.1 (fixing the post-login crash) and Stripe Terminal updated, which also lets the app launch on Android 15 devices with 16KB-page-size kernels.


🐛 What's fixed

Items tagged Salesforce upgrade required are part of the Payments 6.65 package and need to be installed by an admin.

💳 Payment gateways

  • Intermittent Authorize.Net "uncommitted work pending" failures (Salesforce upgrade required): Previously, Authorize.Net payments could fail intermittently across PayLink checkout, Events checkout, and the Virtual Terminal (including adding ACH payment methods) with the error "You have uncommitted work pending. Please commit or rollback before calling out." This happened when an expired OAuth token was refreshed in the middle of a transaction. Now the token update is deferred until after the payment callouts complete, and the error no longer occurs.

💵 Transactions

  • Refund overwriting the original charge's Date Processed (Salesforce upgrade required): Previously, for Authorize.Net orgs with webhooks enabled, processing a refund overwrote the original charge transaction's Date Processed with the refund's date. Now the original charge's Date Processed is preserved and the refund records its own date.

Stripe-side checkout improvements (browser-close recovery, SEPA/BACS Debit, and the Experience Cloud iframe fix) ship in the Events webapp this month, not the Payments package. See the Blackthorn Events release notes for those.


🛠️ 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.

Package fields & layout changes

No new fields or layout changes ship in the Payments 6.65 Salesforce package this release. The Authorize.Net token auto-refresh and the "uncommitted work pending" fix are internal processing changes and require no field or permission updates.

Blackthorn Mobile Payments — app versions
  • iOS — app v2.0.4 · Salesforce Mobile SDK v13.2.1 · minimum supported OS raised to iOS 17.
  • Android — app v2.0.4 · Salesforce Mobile SDK v13.2.1 · Stripe Terminal updated · now launches on Android 15 devices with 16KB-page-size kernels.

Both updates are distributed through the App Store and Google Play, not the Salesforce package.


⬆️ How to upgrade

Go to the Blackthorn Candy Shop to upgrade Payments to 6.65. Also upgrading Events to 5.54? If you use the Candy Shop, this is sequenced automatically; if you install packages manually, upgrade Payments first. Update the Blackthorn Mobile Payments app (v2.0.4) from the App Store (iOS 17 or later) or Google Play.

For step-by-step instructions, click here.