Payments Troubleshooting
  • 14 Aug 2024
  • 6 Minutes to read
  • Dark
    Light

Payments Troubleshooting

  • Dark
    Light

Article summary

If you still have questions after looking through our Troubleshooting documentation please contact Blackthorn Support. We're happy to help!

Keys for Idempotent Requests Error

Error: "Keys for idempotent requests can only be used with the same parameters they were first used with."

To resolve the error, complete the following steps.

  1. Remove any value from the Key field on the Transaction.
  2. Change the Transaction Status to “Open”.
  3. Reprocess the Transaction.

Spreedly and the Payment Gateway Customer record

Why isn’t a Payment Gateway Customer record created when I add a Payment Method via the Virtual Terminal with Spreedly as the Payment Gateway?

Since Spreedly does not have an equivalent record (ex. user id) for customers, a Payment Gateway Customer record will not be created in Salesforce.

Your request to install package "Blackthorn Payments" was unsuccessful

If you see long error messages while installing the app, please verify the following..

  • You're the system administrator of your Salesforce instance.
  • If you have Salesforce shield running in your org, follow our guide here.

Blocked by Content Security Policy error on Virtual terminal

I_02_troubleshooting 1

Follow step 4 in this guide to ensure your domain is allowlisted.

Troubleshooting general errors

Blackthorn no longer supports Payments APIs. 
The documentation provided is a self-help resource for legacy implementations only. 

Check the below automated processes and rules in place on the following sources and related objects:

Objects:
Payment Gateway Customer, Payment Method, Transaction, Account, Contact, and any Transaction Parent you set in the Setup Wizard, such as an Opportunity

Look at:

  • Process Builders
  • Workflows
  • Validations
  • Apex Triggers
  • Field Level Permissions
  • Object Level Permissions (Sharing Settings)
  • If by a custom UI, Salesforce API or our Payments API

{"success":false,"errors":{"E_UNKOWN_ERROR":"PDF Generator Error"}} OR A time-out message: Application Error - an error occurred in the application and your page could not be served....

Reauth using this link: https://documentlink.billing360.io/auth/salesforce.

Facing error while setting up webhook endpoint in Stripe OR Authorize.net OR in Experience Clouds with Virtual Terminal

You may see the following errors while setting up the endpoint in Stripe/Auth.net dashboard or if you are using the Virtual Terminal in the Experience Cloud.

  1. Test Webhook Error:500 (stripe)
  2. Test Webhook Error:400 (stripe)
  3. Error occurred in connecting to endpoint (Auth.net)
  4. Result:[id=null, message=Problem with finding PG by label primary . List size: 0, success=false]” with an error 400 (stripe)
  5. Unable to find a Payment Gateway for id=null (Virtual Terminal in the Experience Cloud)

To resolve this, please follow the below steps -

  1. Login to Salesforce, navigate to Setup > Sharing settings > Payment Gateway > Change the Default External Access from Private to Public Read Only.
  2. Uncheck the Secure guest user record access option. It overrides the Default External Access and sets it to private for every object including the Payment Gateway (PG).

btcombobox error when trying to upgrade.

If you receive this issue when installing or upgrading Payments, the component must implement at least one of flexipage:availableForAllPageTypes,flexipage:availableForRecordHome interface. BT_comboboxResult: The component must implement at least one of flexipage:availableForAllPageTypes,flexipage:availableForRecordHome interface.

Please remove the btcombobox component from a lightning page. Odds are you have it on the Opportunity lightning page layout.

Permission error: bt_stripe.SObjectSelector.FLSException: You do not have permission to read the field OtherStreet: (bt_stripe)

To resolve this error, please upgrade to the latest version of Payments from here.

Row with duplicate name at index:2

I_02_troubleshooting 2

This occurs when there are duplicate entries created for the Transaction parent. You will not be able to proceed ahead until you delete the duplicates. To do this, go to Setup > Custom Settings > Transaction parents > Manage. Click "Del" next to the duplicate item in the list.

The Transaction can't be authorized.

I_02_troubleshooting 3

If you have received this error, check to make sure the Payment Method related to this Transaction is not an ACH Payment Method. ACH Payment Methods are not able to authorize Transactions.

Removing the Transaction or Payment Method parent object.

Please see our Transaction and Payment Methods documentation.

Test webhook error: Domain unknown.

I_02_troubleshooting 4

If you have received this error, check your Webhook URL. If you are using Blackthorn Payments with a developer account remove the ".secure". If you are using any other account, make sure the ".secure" is included.

Unable to see Payment objects in the Experience Cloud

If the digital experience user is unable to see the payment object (Example- Sales document) in the the Experience Cloud, please verify the following -

  1. User has a Payment License (If production)
  2. User has assigned Blackthorn | Payments (Community/Platform User) permission set assigned.
  3. The organization-wide default for Payment Gateway = Public Read-Only.

Customer cus_AwROhSB7FyifGc does not have a linked source with ID ba_1AaYW9BQbf3hbNo9B8juK4lo

This error means that the related Payment Method on the Transaction no longer has a valid Card ID Token. What this means is most likely the card or ACH token was deleted in Stripe. Please view related Stripe Payment Gateway Customer record to verify if there is a valid Payment Method form. If there is no longer a valid Payment Method form, create a new payment for this Stripe Payment Gateway Customer OR edit the existing Payment Method with the updated card/ACH information, remove the values from the card id and customer id, select save and this Payment Method will sync back to Stripe.

The reason you cannot see the Related To field is that there is an issue with your Transaction Parent settings. Please navigate to Custom Settings, click manage next to Transaction Parents, verify that all records have a Transaction field with the correct API format.

Terminal error on new record screen

I_02_troubleshooting 4_5

This error means you have a required field that needs a value in order to create the new record and most likely that field is not in the Virtual Terminal's new record screen. To fix, verify all required fields are in the Virtual Terminal's new record screen. Click here for instructions on adding fields to your Virtual Terminal.

Updating Scheduled Transactions

If the user who installed Blackthorn Payments is no longer active, schedule jobs will fail. Those jobs include capturing Transactions and Webhook Services.

  • Navigate to Schedule Jobs.

Lightning/Classic: Setup | In the Quick Find/Search type in and click "Scheduled Jobs".

  • Click "Del" next to Blackthorn | Payments Daily Captures.
  • Navigate to Apex Classes

Lightning/Classic: Setup | In the Quick Find/Search type in and click "Apex Classes".

  • Click Schedule Apex button
  • Job Name: "Blackthorn | Payments Daily Captures"
  • Apex Class: Select "Transaction_Scheduler"
  • Apex Execution: Select "Weekly" | Check "Sunday-Saturday" | Start = Today's Date | End = As far out as possible | Preferred Start Time = 1:00AM
  • Click Save.

Updating Webhook Record Cleanup

  • Navigate to Schedule Jobs.

Lightning/Classic: Setup | In the Quick Find/Search type in and click "Scheduled Jobs".

  • Click "Del" next to Blackthorn | Payments Webhook Record Cleanup.
  • Navigate to Apex Classes

Lightning/Classic: Setup | In the Quick Find/Search type in and click "Apex Classes".

  • Click Schedule Apex button
  • Job Name: "Blackthorn | Payments Webhook Record Cleanup"
  • Apex Class: Select "WebhookCleanupJob_Scheduler"
  • Apex Execution: Select "Weekly" | Check "Sunday-Saturday" | Start = Today's Date | End = As far out as possible | Preferred Start Time = 1:00AM
  • Click Save.

Stripe Sync Job Keeps Running

When you sync the gateway data the sync job keeps running even after hours. The sync job keeps on restarting as long there are stripe customer found. To solve the issue:

  • Use the filter to sync with dates
    I_02_troubleshooting 5

  • Once the job is done syncing for the defined dates, it'll show as completed.

“No such customer: 'cus_**************'” Error

Q: I am trying to create a new Payment Method, but got “No such customer: 'cus'.” What does it mean?

A: The “No such customer: 'cus_**************'” error means that the customer does not exist on the connected account that you are trying to charge. Please create a new Payment Gateway Customer and try again.