---
title: Plastiq API Integration on Truto
slug: plastiq
category: Payment Gateway
canonical: "https://truto.one/integrations/detail/plastiq/"
---

# Plastiq API Integration on Truto



**Category:** Payment Gateway  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 26 tools for Plastiq that AI agents can call directly.

- **create_a_plastiq_payment_method** — Create a Plastiq payment method (Bank Account or Card) for a payer. Returns the created payment method including id, type, status, data, externalId, and statusReasons. Required: type, data.
- **list_all_plastiq_payment_methods** — List Plastiq payment methods for a payer. Returns payment method records including id, type, status, data, externalId, and statusReasons. Required: payerId.
- **get_single_plastiq_payment_method_by_id** — Retrieve a single Plastiq payment method by id. Returns the payment method object including id, type, status, data, externalId, and statusReasons. Required: id, payerId.
- **update_a_plastiq_payment_method_by_id** — Update a Plastiq payment method by id. Returns the updated payment method including id, type, status, data, externalId, and statusReasons. Required: id, type, data, payer.
- **create_a_plastiq_recipient** — Create a plastiq Recipient for payment disbursement via ACH, EFT, Check, or Wire. Returns: id, status, createdAt, businessName, contact, receivingMethod. Required: contact (with at least email or phone) and receivingMethod (with type). Supply payer.id to scope the recipient to a single payer.
- **list_all_plastiq_recipients** — List plastiq Recipients associated with a given payer. Returns per recipient: id, businessName, contact, receivingMethod, status, createdAt. Required: payerId.
- **get_single_plastiq_recipient_by_id** — Get a single plastiq Recipient by id. Returns: id, businessName, contact, receivingMethod, status, createdAt. Required: id. Optionally filter by payerId to resolve payer-scoped recipients.
- **update_a_plastiq_recipient_by_id** — Update an existing plastiq Recipient by id using partial (PATCH) semantics — supply only the fields to change. Returns: id, businessName, contact, receivingMethod, status, createdAt. Required: id.
- **list_all_plastiq_categories** — List all supported Recipient Categories in Plastiq Connect. Returns category objects with vendor-specific fields; consult the Plastiq Connect docs for the full field-level breakdown. Categories are read-only — they cannot be created, updated, or deleted.
- **create_a_plastiq_client_secret** — Create a plastiq Client Secret for authenticating requests from the browser with prebuilt widgets or the Connect Workflows Checkout experience. Optionally scope the secret to an existing Payer by supplying payer.id; omit the body entirely to create a non-scoped secret. Returns: payer. Client Secrets expire 30 minutes after creation.
- **plastiq_billers_search** — Search Plastiq billers by business name. Returns a list of biller groups each containing groupId and a billers array of individual biller records with id, businessName, groupId, businessAddress, and categoryId. Required: name.
- **get_single_plastiq_biller_by_id** — Get a single Plastiq biller by id. Returns the biller record including id, businessName, groupId, businessAddress (with line1, city, state, postalCode, country), and categoryId. Required: id.
- **list_all_plastiq_billers** — List Plastiq billers by business name. Returns a list of biller groups each containing groupId and a billers array of individual biller records with id, businessName, groupId, businessAddress, and categoryId. Required: name.
- **create_a_plastiq_document** — Upload a document to Plastiq and receive a pre-signed S3 upload URL for the file. Returns: uploadURL and metadata (containing AWS signing fields such as Key, bucket, and X-Amz-Signature). Required: type, fileType, filename, payer.
- **create_a_plastiq_payer** — Create a new payer in plastiq. Returns the created payer including id, externalId, businessName, contact, businessAddress, createdAt, status, hasIdentityDocuments, identityDocuments, and metadata. Required: contact (must supply either email or phone).
- **get_single_plastiq_payer_by_id** — Retrieve a single plastiq payer by id. Returns the payer object including id, externalId, businessName, contact, businessAddress, createdAt, status, hasIdentityDocuments, identityDocuments, and metadata. Required: id.
- **update_a_plastiq_payer_by_id** — Update an existing plastiq payer by id. Returns the updated payer object including id, externalId, businessName, contact, businessAddress, createdAt, status, hasIdentityDocuments, identityDocuments, and metadata. Required: id.
- **create_a_plastiq_payment** — Create a plastiq payment from a Payment Intent — reference an existing intent by paymentIntent.id, or supply paymentMethod and recipient for inline intent creation. Returns: id, status, sourceAmount, targetAmount, fees, deliveryDate, createdAt, statusReasons. Required: payer.
- **list_all_plastiq_payments** — List plastiq payments for a given payer. Returns: id, status, sourceAmount, targetAmount, fees, deliveryDate, createdAt per payment. Required: payerId.
- **get_single_plastiq_payment_by_id** — Get a single plastiq payment by id. Returns: id, status, sourceAmount, targetAmount, fees, details, deliveryDate, createdAt, statusReasons, sourceDescriptor, targetDescriptor. Required: id, payerId.
- **create_a_plastiq_payment_refund** — Create a refund or cancellation for an existing plastiq payment. Returns: status (REFUNDED or REFUND_FAILED) indicating whether the refund succeeded. Required: payment_id, payer.
- **create_a_plastiq_payment_intent** — Create a Plastiq payment intent, staging a payment for execution. Returns the created intent including id, status, sourceAmount, targetAmount, fees, paymentMethod, recipient, payer, deliveryDate, createdAt, expiresAt, deliveryOptions, details, warnings, and statusReasons. Required: paymentMethod, recipient, payer.
- **get_single_plastiq_payment_intent_by_id** — Retrieve a single Plastiq payment intent by id. Returns the full payment intent including id, status, sourceAmount, targetAmount, fees, paymentMethod, recipient, payer, details, warnings, statusReasons, deliveryDate, createdAt, expiresAt, and deliveryOptions. Required: id, payerId.
- **update_a_plastiq_payment_intent_by_id** — Update a Plastiq payment intent by id. Returns the updated intent including id, status, sourceAmount, targetAmount, fees, paymentMethod, recipient, payer, details, warnings, statusReasons, deliveryDate, createdAt, expiresAt, and deliveryOptions. Required: id.
- **list_all_plastiq_webhooks** — List Plastiq webhook notifications, optionally filtered by date range. Returns each notification's payload (containing id, event, and data sub-fields such as object, state, timestamp, and payer) and status. Use startDate and endDate to narrow results.
- **create_a_plastiq_single_use_client_secret** — Create a single-use Client Secret in plastiq to be shared with a browser widget for tokenizing sensitive data such as credit card numbers. Returns: clientSecret. Required: payer. The secret expires after 60 seconds.

## How it works

1. **Link your customer's Plastiq account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Plastiq.** The Proxy API is a 1-to-1 mapping of the Plastiq API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed credit-card-to-ACH payments in AP automation** — AP automation platforms can let finance teams pay vendors with corporate credit cards while suppliers receive ACH, check, or wire — extending DPO without forcing the SaaS to become a payment facilitator.
- **Offer working capital at checkout in B2B marketplaces** — Marketplaces can give cash-strapped buyers the option to charge a card at checkout while sellers get paid via their preferred bank transfer method, increasing conversion on large orders.
- **Pay contractors and utilities from vertical ERPs** — Property management, construction, and field-service platforms can settle invoices to contractors who only accept paper checks or ACH, directly from inside the ERP workflow.
- **Enable cross-border supplier payouts** — Supply chain and procurement SaaS platforms can let domestic buyers pay overseas suppliers using a standard credit card, while Plastiq handles international wire execution on the backend.

## What you can build

- **PCI-safe card capture widget** — Use single-use or 30-minute client secrets to spawn Plastiq's secure card-entry frontend so end users tokenize cards without your app touching cardholder data.
- **Vendor type-ahead from the Plastiq biller network** — Power a supplier search box with the billers search endpoint so users match to pre-vetted billers instead of manually collecting routing details.
- **Recipient setup with ACH, wire, or check routing** — Create and update recipients with the right receiving method so the same UI handles every disbursement type your users need.
- **"Review Payment" screen with live fees and delivery dates** — Generate payment intents to surface Plastiq's exact service fees, estimated delivery date, and any warnings before the user confirms the charge.
- **Cancel and refund window inside your AP UI** — Use payment refund creation to give users a window to intercept or reverse a payment before final disbursement to the supplier.
- **Real-time invoice status sync via webhooks** — Subscribe to Plastiq webhooks to automatically move invoices through Drafted → Funded → Delivered states in your platform without polling.

## FAQs

### How does authentication work for end users connecting their Plastiq accounts?

Truto handles the Plastiq Connect API auth handshake and credential storage for each of your end users. Your app calls Truto's unified endpoints with a tenant identifier, and Truto attaches the correct Plastiq credentials per connection.

### How do we capture card details without handling PCI data?

Use create_a_plastiq_client_secret or create_a_plastiq_single_use_client_secret (the single-use variant expires in 60 seconds) to render Plastiq's hosted card-entry widget. Cardholder data goes directly to Plastiq and never touches your servers.

### Can we show fees and delivery dates before a payment is submitted?

Yes. Call create_a_plastiq_payment_intent to get back fees, estimated deliveryDate, warnings, and statusReasons. Intents don't move money — they're designed for review screens before you convert them into a payment.

### What disbursement methods to suppliers are supported?

Through create_a_plastiq_recipient you can configure ACH, wire, check, or EFT as the receiving method. You can also match to existing entries in Plastiq's biller network via plastiq_billers_search and get_single_plastiq_biller_by_id.

### How do we keep payment status in sync after submission?

Use list_all_plastiq_webhooks to consume Plastiq's event payloads and update payment state in your UI. You can also reconcile on demand with list_all_plastiq_payments and get_single_plastiq_payment_by_id.

### Can users cancel or refund a payment after submitting?

Yes — because ACH and checks take time to clear, you can expose a cancel window in your app using create_a_plastiq_payment_refund to intercept or reverse funds before final disbursement.

### How do we handle KYC and invoice document uploads?

Use create_a_plastiq_document to obtain an S3 pre-signed URL and upload KYC or invoice files required for compliance checks during payer provisioning.

## Related reading

- [Connect Plastiq to ChatGPT: Manage Payers, Billers, and Payments](https://truto.one/blog/connect-plastiq-to-chatgpt-manage-payers-billers-and-payments/) — Learn how to connect Plastiq to ChatGPT using a managed MCP server. This guide covers architecture, tool generation, rate limits, and real-world workflows.
- [Connect Plastiq to Claude: Streamline Recipient and Payment Setup via MCP](https://truto.one/blog/connect-plastiq-to-claude-streamline-recipient-and-payment-setup/) — Learn how to build a secure Plastiq MCP server to connect your payment infrastructure natively to Claude. Automate vendor onboarding and payment intents.
- [Connect Plastiq to AI Agents: Orchestrate End-to-End B2B Payments](https://truto.one/blog/connect-plastiq-to-ai-agents-orchestrate-end-to-end-b2b-payments/) — Learn how to connect Plastiq to AI agents using Truto's /tools endpoint. Build autonomous accounts payable workflows to stage payments and onboard vendors.
