AvidPay
AvidPay is a payments and supplier-enrollment platform used to manage partner enrollment and payment-processing workflows through API-driven operations.
The Flowgear AvidPay Node lets you work with the curated AvidPay Customer Enrollment and Payments surface by using template-driven read, create, update, and related payment-batch operations in a Workflow.
Revision History
0.1.1.1 - Preserved inherited fields in designer templates when OpenAPI schemas use constraints-only allOf overlays.
0.1.1.0 - Added sanitized request echoes to mutation templates and response rows.
0.1.0.0 - Completed the V2 overhaul with eager first-request startup and lazy query continuation.
0.0.0.13 - Aligned the V2 connector contract and public help article.
0.0.0.1 - Initial release for the curated AvidPay Customer Enrollment and Payments surface.
0.0.0.2 - Improved generic HTTP-style failure normalization so 4xx and 5xx provider payloads emit standard Flowgear error rows.
0.0.0.3 - Stopped copying list paging metadata onto singular payment-batch detail rows that arrive in an upstream Items transport wrapper.
0.0.0.4 - Added the supported Create a payment batch POST template and its JSON request contract to the curated Payments surface.
0.0.0.5 - Corrected the payment-batch template so Items.Value emits plain raw JSON and uses string batch identifiers instead of nested Flowgear-style wrappers.
0.0.0.6 - Corrected the payment-batch template again so request defaults live on Items.Properties children while the Items container remains a schema-only wrapper.
0.0.0.7 - Corrected the payment-batch contract to use identifier objects for Id and ExternalId, kept nested request arrays schema-driven, and now fail fast when Payments is empty or contains placeholder objects.
0.0.0.8 - Surfaced the documented nested payment-batch request schema for payment rows, payer/payee, check, bank account, remittance, and delivery method fields, and now reject missing required nested fields before the provider call.
0.0.0.9 - Corrected payment-batch create responses to emit one row per provider Results[] item, normalized per-result failures on HTTP 200, and now reject filterless batch-list reads before the provider call.
Connection
Use the Connection to store the AvidPay environment, partner credentials, optional default tenant, and the cached bearer token used by the Node methods.
| Property | Type | Description |
|---|---|---|
Environment |
AvidPayEnvironment | Selects the AvidPay gateway environment used for token and API calls. |
Client ID |
String | Client identifier issued by AvidPay for the selected environment. |
Client Secret |
Masked | Client secret issued by AvidPay for the selected environment. |
Subscription Key |
Masked | Subscription key sent in the avid-ibp-subscription-id header on token and API calls. |
Default Customer Tenant ID |
String | Optional buyer tenant ID used for tenant-scoped calls when a method template does not supply x-ax-tenant-id in Options. |
Access Token |
Masked | Cached bearer token used for AvidPay API requests. |
Access Token Expires At UTC |
String | UTC expiry timestamp recorded for the cached access token. |
Setup Notes
- Configure the Connection with the AvidPay credentials issued for the selected environment.
Client ID,Client Secret, andSubscription Keyare required.- Many supported operations are tenant-scoped. Set
Default Customer Tenant IDon the Connection unless you plan to supplyx-ax-tenant-idinOptionsfor each call. - Connection test acquires a bearer token from AvidPay and updates the runtime-managed token fields.
- The Node refreshes tokens automatically when the cached token is missing, close to expiry, or rejected by the API.
- The supported surface is curated. Deferred APIs such as proof-of-payment retrieval and webhook-oriented endpoints are intentionally not exposed by templates in this version.
Methods
The Node exposes action-based methods that use curated templates from the embedded AvidPay OpenAPI document.
Query
Reads supported Customer Enrollment and Payments data, including application lookups, customer lookups, payment lists, payment batch reads, payment details, and payment history.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | AvidPay Connection profile. |
OperationId |
String | Template-selected operation identifier. |
Options |
Object | Path and query parameters required by the selected operation. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Query result rows for the selected AvidPay operation. Read methods emit the business payload without mutation-style default fields. |
Create
Creates supported Customer Enrollment records and payment batches through the curated create templates. This method only allows AvidPay POST operations.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | AvidPay Connection profile. |
OperationId |
String | Template-selected operation identifier. |
Options |
Object | Path and query parameters required by the selected operation. |
Items |
Array | JSON request body for the selected operation. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Mutation result rows for the selected AvidPay operation. Each row can include the Flowgear object with IsSuccess, Message, and Request fields. |
Update
Updates supported Customer Enrollment resources such as company, company verification, contract, and bank-account information. This method only allows AvidPay PUT operations.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | AvidPay Connection profile. |
OperationId |
String | Template-selected operation identifier. |
Options |
Object | Path and query parameters required by the selected operation. |
Items |
Array | JSON request body for the selected operation. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Mutation result rows for the selected AvidPay operation. Each row can include the Flowgear object with IsSuccess, Message, and Request fields. |
Delete
Executes the curated payment-void delete surface. This method only allows the supported AvidPay DELETE payment-void operation.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | AvidPay Connection profile. |
OperationId |
String | Template-selected operation identifier. |
Options |
Object | Path and query parameters required by the selected operation. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Mutation result rows for the selected AvidPay operation. Each row can include the Flowgear object with IsSuccess, Message, and Request fields. In this version, only the curated payment-void delete surface is exposed. |
Usage Notes
- Use method templates to choose only the supported AvidPay operations exposed by this Node.
- Query operations complete the first provider request while the Node invoke is awaited. Additional pages are fetched only as the Workflow consumes the response stream.
- Request-body operations complete their single provider request while the Node invoke is awaited and accept at most 100 input rows. An empty connected input sends no provider request.
- The Node owns paging internally for Customer Enrollment application lists and Payments list endpoints.
- Create and Update copy their normalized
Itemsbody intoFlowgear.Request. Bodyless Delete operations copy theirOptionsselectors instead. - Payment-batch submission uses a JSON request contract with optional identifier-object
Id, required identifier-objectExternalId, and requiredPayments. - For request-body templates,
Propertiesdescribes the schema and child entries underItems.Propertiescarry the default values. The top-levelItemscontainer and nested request arrays remain schema wrappers. - Payment-batch templates expose the documented nested payment fields for payer, payee, bank account detail, check, remittances, delivery method, paper-check flags, and expense date.
- Legacy string values supplied for
IdorExternalIdare normalized to identifier objects before the provider call is made. - Payment-batch create responses emit one Flowgear row per provider
Results[]entry instead of treating the transport as aPaymentBatchobject. Each row preservesReference,Type,Successful, andErrors, and also exposes normalized aliasesproviderReference,providerType,providerSuccessful, andproviderErrors. - The Node rejects empty
Paymentsarrays, empty payment objects, and missing required nested payment fields before sending a request, so incomplete Workflows no longer silently produce[]responses. - Payments list and batch list operations require business filters in
Options. Templates enforce the curated supported patterns before any provider request is sent. - Payments list rows emit one row per payment item and copy provider paging metadata into
paging. - Payment-batch detail reads use the provider batch-id path directly and were live-validated with the external batch ID supplied on create.
- Payment-batch detail reads emit the batch row itself and do not copy list paging metadata onto that singular result.
- Customer Enrollment application lists emit one row per application and copy list metadata into
pageInfo. - Query methods treat empty provider result sets as valid no-match outcomes and emit no rows instead of throwing.
- If the first provider call for a query operation fails, that provider error surfaces to the Workflow instead of being normalized into an empty success row.
- Mutation-style methods use the
Flowgearobject for default success and failure metadata.
Known Issues
- Customer Enrollment live reads remain tenant-sensitive in the currently validated sandbox profile and were not fully validated with the available local tenant values.
- Proof-of-payment retrieval and some other deferred AvidPay APIs remain intentionally hidden from the curated template surface.