---
title: Troubleshooting Payments and Square
description: If a payment is not updating correctly in VendorHearth Pro, first determine whether the problem occurred during the Square transaction or while VendorHearth was receiving the payment information. Square processes the payment, while VendorHearth records and uses the resulting payment…
url: "https://vendorhearth.com/docs/troubleshooting-payments-and-square/"
updated: "2026-09-23"
category: Troubleshooting — System Information, email problems, payment issues, roles/access, common problems
---

# Troubleshooting Payments and Square

If a payment is not updating correctly in VendorHearth Pro, first determine whether the problem occurred during the Square transaction or while VendorHearth was receiving the payment information.

Square processes the payment, while VendorHearth records and uses the resulting payment status.

## Start With the VendorHearth Payment Record

Locate the affected vendor and payment in VendorHearth.

Check:

- Vendor
- Event or purchase
- Amount
- Payment status
- Payment method
- Transaction information
- Application status

Then compare that information with the transaction shown in Square.

## Payment Completed in Square but VendorHearth Did Not Update

If Square shows a successful payment but VendorHearth has not updated the vendor, investigate the Square webhook.

VendorHearth uses Square's `payment.updated` webhook event to receive payment updates.

Check:

1. Square is using the correct VendorHearth webhook URL.
2. The `payment.updated` event is enabled.
3. The Webhook Signature Key is correct.
4. VendorHearth is configured for the correct Square environment.
5. The transaction appears successfully in Square.

A successful Square payment does not automatically prove that the webhook reached VendorHearth.

## Check Sandbox vs. Production

Square provides separate Sandbox and Production environments.

Make sure VendorHearth is using credentials from the same environment you are testing.

For example, do not combine:

- Production Application ID
- Sandbox Access Token
- Production Location ID

Use credentials belonging to the same Square environment.

## Verify Your Square Credentials

Review your VendorHearth Square settings.

Confirm:

- Application ID
- Location ID
- Access Token
- Webhook Signature Key
- Environment

Copy credentials carefully.

An extra space or incomplete credential can prevent communication with Square.

## Check the Webhook URL

The webhook URL configured in Square must match the webhook URL provided by VendorHearth.

This is especially important after:

- Changing domains
- Moving WordPress
- Creating a new Square application
- Switching from Sandbox to Production

If your website address changes, review the Square webhook configuration.

## Verify `payment.updated`

Your Square webhook subscription should include:

`payment.updated`

This event allows VendorHearth to receive updates when the status of a Square payment changes.

If the webhook exists but is not subscribed to the correct event, VendorHearth may not receive the information it needs.

## Webhook Signature Problems

VendorHearth uses the Square Webhook Signature Key to verify webhook requests.

If the Signature Key stored in VendorHearth does not match the webhook subscription in Square, the request may not be accepted.

Copy the Signature Key from the correct Square webhook subscription and verify it in VendorHearth.

Treat the Signature Key as sensitive information.

## VendorHearth Shows Awaiting Payment

An application may remain **Awaiting Payment** until VendorHearth receives and processes the appropriate payment confirmation.

Check Square before manually changing the application.

If Square shows the payment succeeded, investigate webhook delivery before assuming the vendor failed to pay.

## Payment Failed in Square

If Square shows that the payment itself failed, VendorHearth cannot convert it into a successful transaction.

The vendor may need to attempt payment again.

Use Square's transaction information to determine the payment status rather than manually marking a failed transaction as successful.

## Duplicate Payment Concerns

If a vendor reports being charged twice, review Square before changing VendorHearth records.

Determine whether Square contains:

- One successful transaction
- Multiple successful transactions
- A failed attempt followed by a successful payment
- A pending transaction
- A refund

Do not create refunds or modify payment records based only on what appears in the VendorHearth interface.

The payment processor is the authoritative source for the actual financial transaction.

## Manual Payment Confirmation

VendorHearth supports manual payment records when appropriate.

Use manual payment confirmation for legitimate payments received outside the normal online Square workflow.

Examples may include:

- Cash
- Check
- Historical payment
- Other approved offline payment method

Do not use manual confirmation simply to hide an unresolved Square integration problem.

## Historical Payments Are Not Square Transactions

When importing existing records, VendorHearth can create labeled manual or historical payment records.

These records document that payment occurred before or outside the normal VendorHearth payment workflow.

VendorHearth does not create a fake Square transaction to represent them.

## Application Is Still Not Confirmed

If the payment record is correct but the application status is not what you expect, review:

- Payment status
- Application status
- Event
- Vendor
- Amount
- Related application

Make sure you are reviewing the payment associated with the correct event and application.

## Test the Square Connection

If multiple vendors are experiencing payment problems, perform a controlled Square test.

Verify:

1. VendorHearth is using the intended environment.
2. Credentials are correct.
3. The Square location is correct.
4. The webhook is configured.
5. `payment.updated` is subscribed.
6. The Signature Key matches.
7. VendorHearth receives the resulting payment update.

Testing the complete workflow is more useful than checking credentials individually.

## Problems After Moving the Website

If payment problems begin after changing domains or migrating WordPress, immediately review the Square webhook.

The old webhook may still point to the previous website.

Also verify VendorHearth's:

- Square environment
- Application ID
- Location ID
- Access Token
- Signature Key

Do not assume payment configuration transferred correctly simply because the rest of the website migrated.

## Protect Square Credentials

Never include complete Square credentials in:

- Screenshots
- Public support posts
- Documentation examples
- Social media
- Emails to vendors

Protect your:

- Access Token
- Webhook Signature Key
- Other private Square credentials

If you believe a credential has been exposed, replace or regenerate it through Square as appropriate.

## Before Contacting Support

Gather:

- VendorHearth version
- Whether you are using Sandbox or Production
- Affected event
- Affected vendor
- Payment status shown in VendorHearth
- Payment status shown in Square
- Whether the problem affects one or multiple payments
- Whether the webhook is configured
- Whether `payment.updated` is enabled
- Any relevant error message

Do **not** send your Access Token or Webhook Signature Key.

## Next Step

Continue to **Troubleshooting Email and Automated Communications** for help with missing emails, automated reminders, communication history, and email delivery problems.
