Routing Outcomes
Understand how routing affects client API responses without making callers choose providers directly.
Routing decides which provider and channel should process a client API payment request. Client callers send a payment method, amount, currency, and metadata; Payflow evaluates the application environment configuration and returns the selected provider in the response.
Payment methods
| Method | Meaning | Current providers |
|---|---|---|
web_card | Card payments through hosted checkout or embedded components. | Stripe, Square |
ach | Bank transfer flow. | Dwolla-backed ACH |
Routing metadata
Client payment responses include the selected provider and routing metadata:
{
"provider": "stripe",
"routing": {
"provider": "stripe",
"channel": "web_card",
"matchedRuleId": "rule_123",
"matchedConditionIds": ["condition_amount_usd"],
"fallback": false
}
}Use this metadata in internal logs and support tools. Do not show raw routing internals to end customers.
Disabled or unavailable routing
When routing is disabled, Payflow returns a readable error instead of attempting a provider call:
{
"success": false,
"data": null,
"message": "Card payment routing is not configured yet."
}ACH routing can also be unavailable if the ACH provider channel is not enabled, environment credentials are missing, or wallet funding rules cannot be satisfied.
Provider readiness dependency
Routing can select only providers that are operationally ready.
For card flows:
- Stripe must have sandbox or production credentials.
- Square must have provider credentials and location setup where required.
For ACH:
- Dwolla credentials must be configured.
- The source funding source URL must point to a specific funding source resource.
- ACH channel fee configuration must be enabled.
- Wallet balances must be sufficient when Payflow-held funds are used.
Best practices
- Test routing behavior separately in sandbox and production.
- Store the returned
providerwith your payment record. - Store routing metadata in internal logs for support.
- Use customer-facing copy that does not mention internal provider routing.
- Review payment outcomes after routing changes.