JBrands Automates Payment Workflows in Salesforce using ChargeOn

June 9, 2026

Executive Summary

JBrands LLC is a prominent multi-sector company and is recognized as America’s #1 hemp and nicotine manufacturer and distributor, serving as a leading white-label supplier in the industry. Their extensive product portfolio includes hemp-infused joints, blunts, pre-rolls, edibles, and disposable nicotine vapes. 

JBrands LLC was using the Authorize.net payment gateway to process payments, but had no integration with Salesforce. Their sales reps had to log into separate dashboards, enter payment amounts manually, and copy-paste transaction IDs back into the CRM. This manual process was slow, error-prone, and caused real problems like duplicate charges and incomplete payment records. We implemented ChargeOn to fully automate that gap, added backend validations to prevent duplicate charges, and addressed their other requirements to ensure real-time synchronization between Salesforce and the gateway.

Areas for Improvement

Before partnering with us, JBrands identified several areas where operational efficiency could be enhanced.

Manual Payment Processing Between Salesforce and Authorize.net

Due to a lack of automated sync between the two systems, JBrands’ sales team had to manually map data between Salesforce and the Authorize.net payment gateway. To charge a customer, a representative first had to exit Salesforce, log into the Authorize.net dashboard, manually fill in the payment amount, process the charge, then copy the transaction ID and paste it into the corresponding Salesforce record. Every order required this repetitive, manual effort, while increasing the risk of a missed or mistyped ID was present in every transaction.

Duplicate Customer Charges Due to Validation Failures

When a rep clicked “Charge,” Salesforce validation errors triggered after the system had already sent the request to Authorize.Net. The gateway processed the payment, but Salesforce failed to record it. This enabled the rep to try again, and the second attempt pushed a duplicate charge to the gateway, resulting in billing the customer twice for the same order. JBrands needed a solution to eliminate these errors before the payment request left Salesforce, not after.

No Visibility into Failed Payment Transactions

When a card was declined or a payment failed, the system recorded nothing. Because the workflows were set up to store only successful transactions, failed transactions were lost. The accounts team had to manually search the Authorize.net portal to recognize the issue for a specific customer and resolve it. With the growing transaction volumes, this task became increasingly difficult and time-consuming.

Inability to Track Partial Payments Accurately

JBrands often divides payments into two installments for one sales order. The original system only allowed one Payment Confirmation ID. This meant that when the second payment was received, it either replaced the first ID or fed incorrect information in the Remaining Balance field. There was no reliable way to store both payment IDs, and no automated logic to recognize when a balance had been fully cleared. 

American Express Card Payments Setup

JBrands wanted a mechanism for accepting American Express Card payments to streamline their growing customer base.

Download Customer Success Story

Download Customer Success Story

Access the complete customer success story, including solutions and results.