---
title: Testing Your Square Connection
description: "Before accepting vendor payments through VendorHearth Pro, you should verify that your Square integration is working correctly. Testing helps confirm that VendorHearth can communicate with Square and that payment updates are being received properly. ## Use Square Sandbox for Initial…"
url: "https://vendorhearth.com/docs/testing-your-square-connection/"
updated: "2026-09-23"
category: Payments — Square, payment statuses, deadlines, reconciliation, manual payments
---

# Testing Your Square Connection

Before accepting vendor payments through VendorHearth Pro, you should verify that your Square integration is working correctly.

Testing helps confirm that VendorHearth can communicate with Square and that payment updates are being received properly.

## Use Square Sandbox for Initial Testing

Square's **Sandbox** environment is designed for testing without processing real payments.

For initial testing, configure VendorHearth using your Square Sandbox:

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

Make sure **Sandbox** is selected as the environment in VendorHearth.

## Confirm Your Configuration

Before attempting a test payment, verify that:

- VendorHearth is set to Sandbox.
- The Sandbox Application ID is correct.
- The Sandbox Location ID is correct.
- The Sandbox Access Token is correct.
- The VendorHearth Webhook URL has been added to Square.
- The webhook is subscribed to `payment.updated`.
- The correct Webhook Signature Key is saved in VendorHearth.

Do not mix Production and Sandbox credentials.

## Create a Test Payment

Use your normal VendorHearth workflow to create a payment opportunity for a test vendor or application.

Proceed through the payment process using Square's Sandbox testing environment.

Because this is Sandbox, no real payment should be processed.

## Verify the Payment in VendorHearth

After completing the test transaction, return to VendorHearth and review the corresponding vendor or application.

Verify that the payment is recognized and that the appropriate payment information appears in VendorHearth.

You should also verify that the vendor's application reflects the expected payment state.

## Verify the Transaction in Square

Open your Square Developer account and review the Sandbox transaction.

This helps confirm that the payment was successfully created on the Square side of the integration.

If Square shows the transaction but VendorHearth does not reflect the expected update, investigate the webhook configuration.

## Check the Webhook

If the payment was processed but VendorHearth is not updating correctly, verify:

- The webhook URL matches the URL displayed by VendorHearth.
- `payment.updated` is selected.
- The webhook is configured in the correct environment.
- The Signature Key in VendorHearth matches the Square subscription.
- Your website is accessible over HTTPS.

A successful payment in Square does not necessarily mean that the webhook configuration is correct.

## Moving to Production

Once Sandbox testing is successful, you can configure VendorHearth for live payments.

Change the environment to:

**Production**

Then replace the Sandbox information with the appropriate Production credentials.

This includes the Production:

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

Do not leave Sandbox credentials in VendorHearth after switching the environment to Production.

## Perform a Live Test Carefully

After configuring Production, consider performing a controlled live transaction before opening payments to all vendors.

This verifies that the Production configuration works as expected.

Unlike Sandbox testing, a Production transaction is a real Square transaction and may result in an actual charge and applicable processing fees.

## After Testing

Once testing is complete, verify that VendorHearth is configured for the environment you actually intend to use.

For a live organization, this will normally be:

**Production**

Leaving VendorHearth in Sandbox will prevent you from processing normal live vendor payments.

## If Testing Fails

If the integration does not behave as expected, check the configuration before repeatedly attempting transactions.

Common causes include:

- Incorrect environment
- Sandbox and Production credentials being mixed
- Incorrect Access Token
- Incorrect Location ID
- Missing webhook subscription
- Incorrect webhook URL
- Missing `payment.updated` event
- Incorrect Webhook Signature Key

Correct the configuration and then perform another controlled test.

## Next Step

Continue to **Understanding Payment Statuses** to learn how VendorHearth tracks payment information alongside vendor application status.
