Skip to content

Payment Gateway

Plastiq
API integration

Ship Payment Gateway features without building the integration. Full Plastiq API access via Proxy and 20+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
Plastiq

Use Cases

Why integrate with Plastiq

Common scenarios for SaaS companies building Plastiq integrations for their customers.

01

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.

02

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.

03

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.

04

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

Ship these features with Truto + Plastiq

Concrete product features your team can ship faster by leveraging Truto’s Plastiq integration instead of building from scratch.

01

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.

02

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.

03

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.

04

"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.

05

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.

06

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.

SuperAI

Plastiq AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

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.

Why Truto

Why use Truto’s MCP server for Plastiq

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 500+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Plastiq in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Plastiq account

Use Truto’s frontend SDK to connect your customer’s Plastiq account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Plastiq

Truto’s Proxy API is a 1-to-1 mapping of the Plastiq API. You call us, we call Plastiq, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Plastiq’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Plastiq on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

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.

Plastiq

Get Plastiq integrated into your app

Our team understands what it takes to make a Plastiq integration successful. A short, crisp 30 minute call with folks who understand the problem.