Payflow Docs

Webhooks

Understand provider callback behavior for Stripe, Square, and Dwolla-backed ACH payment status updates.

Provider callbacks let Stripe, Square, and Dwolla notify Payflow when payment or transfer status changes after your client API call returns.

These callback URLs are configured in provider dashboards or Payflow-managed provider readiness settings. Your application does not call them directly, and they do not use Payflow client API keys.

Implemented callback sources

ProviderWhat Payflow uses it for
StripeCard payment status and provider event updates.
SquareCard payment status updates.
DwollaACH transfer status updates.

Successful provider callback handling returns:

{
  "received": true
}

This response intentionally does not use the Payflow client API envelope because providers expect simple acknowledgement payloads.

Stripe behavior

Payflow verifies Stripe callback signatures before applying mapped payment updates. If the signature is missing or invalid, Payflow returns 400.

Square behavior

Payflow verifies Square callback signatures before applying mapped payment updates. If the signature or payload is invalid, Payflow returns 400.

Dwolla behavior

Dwolla events are parsed and mapped to ACH transfer updates where possible. Environment selection is handled as part of provider callback configuration.

Callback safety

Follow these rules for all provider callbacks:

  • Keep provider callback secrets out of source control.
  • Use HTTPS in non-local environments.
  • Configure callbacks for the hosted Payflow API origin, https://api.ftosllc.co, and the matching provider environment.
  • Make provider retries safe. Payflow applies idempotent updates where transaction references allow it.
  • Do not assume every provider event changes a Payflow transaction.
  • Monitor non-2xx provider callback delivery in provider dashboards.

What to store

Store Payflow and provider identifiers on your own payment record:

  • payflowReference
  • Provider returned by Payflow
  • Provider payment or transfer reference when available
  • Your order, invoice, transfer, or cart ID
  • Last known status
  • Last callback timestamp if your own system mirrors status changes

On this page