Payment Gateway · Beta
Zum Rails
API integration
Ship Payment Gateway features without building the integration. Full Zum Rails API access via Proxy and 70+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Zum Rails
Common scenarios for SaaS companies building Zum Rails integrations for their customers.
Embed rent collection in a PropTech platform
Let landlords using your property management SaaS auto-collect rent from verified tenant bank accounts, split platform fees into a Zūm Wallet, and disburse the remainder to landlord funding sources — without building payments infrastructure in-house.
Instant loan disbursement for lending SaaS
Underwrite applicants using Zum Rails aggregation and insights data, then push approved capital to borrowers in real time via Interac or Visa Direct instead of waiting two days for EFT to settle.
Batch payouts for gig and payroll platforms
Onboard contractors as Zum Rails users, link their verified bank accounts, and orchestrate weekly mass payouts through batch processing — with webhook-driven status updates back to your app.
Recurring billing for B2B invoicing SaaS
Offload subscription and invoice logic to Zum Rails so your customers can bill their clients on ACH/EFT, track invoice events, and reconcile paid vs. failed transactions inside your product.
Virtual card programs for expense management tools
Issue, reissue, and manage corporate or virtual cards on behalf of your customers, sync card transactions into your ledger, and expose live balances inside your spend management UI.
What You Can Build
Ship these features with Truto + Zum Rails
Concrete product features your team can ship faster by leveraging Truto’s Zum Rails integration instead of building from scratch.
One-click bank account verification
Create Zum Rails users and attach verified payment instruments so your customers can link tenant, borrower, or payee bank accounts without micro-deposits or manual entry.
Multi-rail money movement engine
Initiate individual or batched transactions across ACH, EFT, Interac e-Transfer, and Visa Direct from a single transaction creation flow inside your product.
Native subscriptions and invoicing
Ship recurring billing, pause/resume/cancel controls, and invoice status tracking by mapping your product's billing model to Zum Rails subscriptions and invoices.
Card issuance and ledger sync
Provision cards, update card status, fetch balances, and pull card transactions and statements into your app for a fully embedded card program experience.
Cash flow insights for underwriting
Pull aggregation requests and insights profiles to power credit decisioning, fraud checks, and affordability scoring directly inside lending or onboarding workflows.
Chargeback and dispute workflows
Surface transaction limits and manage chargeback lifecycle events so ops teams using your product can resolve disputes without leaving your UI.
SuperAI
Zum Rails 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_zum_rails_auth
Authenticate in zumrails and generate an access token. No prior authentication is required to call this endpoint. Returns the authorization result; the upstream zumrails API documentation should be consulted for the specific token fields contained in the response, as none are enumerated in the available source.
update_a_zum_rails_auth_by_id
Cancel or invalidate an active authorization token in zumrails. Returns the cancellation result; the upstream zumrails API documentation should be consulted for the specific fields contained in the response, as none are enumerated in the available source.
create_a_zum_rails_user
Create a new user in zumrails. Returns: id.
get_single_zum_rails_user_by_id
Get a specific zumrails user by id. Returns: id. Required: id.
update_a_zum_rails_user_by_id
Update basic information for a zumrails user by id. Returns: id. Required: id.
delete_a_zum_rails_user_by_id
Delete a zumrails user by id. Returns an empty 204 response on success. Required: id.
list_all_zum_rails_users
Search for zumrails users using a filter. Returns: id.
create_a_zum_rails_user_payment_instrument
Add a payment instrument to a zumrails user account. Returns: id. Required: addpaymentinstrumentinformation_id (the target user's id).
update_a_zum_rails_user_payment_instrument_by_id
Update payment instrument information for a zumrails user. Returns: id. Required: user_id, id (payment instrument id).
update_a_zum_rails_user_bank_account_by_id
Update bank account information for a zumrails user by id. Returns: id. Required: id.
update_a_zum_rails_user_billing_address_by_id
Update billing address information for a user in zumrails. Returns: id. Required: id.
update_a_zum_rails_user_credit_card_by_id
Update credit/debit card information for a user in zumrails. Returns: id. Required: id.
update_a_zum_rails_user_card_info_by_id
Update card information for a user in zumrails by id. The source documents no request body fields or response payload fields for this endpoint. Returns an empty 204 response on success. Required: id.
create_a_zum_rails_user_card_approval
Approve a card for a user in zumrails. Returns a result object; the source provides no field-level documentation for either the request body or the response — consult the zumrails API reference for the expected inputs and return values.
update_a_zum_rails_user_shipping_address_by_id
Update the shipping address information for a zumrails user. Returns the updated shipping address record including id and attributes. Required: user_id, same_as_billing.
create_a_zum_rails_card
Activate a card in zumrails. Returns: id, created_at, updated_at.
list_all_zum_rails_cards
List cards for a user in zumrails. Returns: id, created_at, updated_at. Required: get_card_id.
update_a_zum_rails_card_program_by_id
Update a card program in zumrails. Returns: id, created_at, updated_at. Required: id.
get_single_zum_rails_card_balance_by_id
Retrieve a card balance inquiry in zumrails for a user by id. Returns the balance inquiry result; id is the primary identifier of the returned record. Required: id.
update_a_zum_rails_card_status_by_id
Update the status of a card in zumrails. Returns: id, createdAt, updatedAt. No specific body parameters are documented in the available source; consult the zumrails cards API reference for required fields.
create_a_zum_rails_card_reissue
Reissue a card in zumrails by submitting a POST request to the reissue-card endpoint. Returns the reissue operation result. The available source provides no field-level documentation for request body parameters or the response payload; consult the zumrails API reference at docs.zumrails.com/api-reference/cards for full details.
list_all_zum_rails_card_transactions
List card transactions in zumrails. Returns card transaction records including id, created_at, and updated_at.
list_all_zum_rails_card_statements
Filter and list card statements in zumrails by submitting filter criteria in the request body. Returns a collection of card statement records. Returns: id.
list_all_zum_rails_card_statement_transactions
Filter and list card statement transactions in zumrails. Returns a collection of transaction records from the result.Items envelope; the per-record field shape is not enumerated in the available source documentation. Returns: id, attributes.
create_a_zum_rails_transaction
Create a new transaction in zumrails. Returns the created transaction object including id, created_at, and updated_at.
get_single_zum_rails_transaction_by_id
Get a specific zumrails transaction by id. Returns the transaction object including id, created_at, and updated_at. Required: id.
list_all_zum_rails_transactions
Search for transactions in zumrails using the filter endpoint. Returns a collection of transaction records including id, created_at, and updated_at.
delete_a_zum_rails_transaction_by_id
Delete a zumrails transaction by id. Returns an empty 204 response on success. Required: id.
create_a_zum_rails_transaction_batch_validate
Validate a batch transaction file in zumrails by submitting it to the ValidateBatchFile endpoint. Returns validation results. The source documentation does not enumerate request body fields or response field names; consult the zumrails API reference for the full field-level breakdown.
create_a_zum_rails_transaction_batch_process
Process a batch file of transactions in zumrails. Returns a result object containing the outcome of the batch processing operation; the specific response fields are not enumerated in the available source documentation and the payload is treated as a dynamic result.
create_a_zum_rails_transaction_batch_us
Upload a batch file for US transactions in zumrails. Returns the result object including the batch id.
list_all_zum_rails_batches
Search and list batches in zumrails by posting filter criteria to the batch filter endpoint. Returns batch records including id, created_at, and updated_at. No required parameters are documented in the available source.
list_all_zum_rails_funding_sources
Search for funding sources in zumrails. Returns: id, created_at, updated_at.
get_single_zum_rails_funding_source_by_id
Get a specific funding source in zumrails by id. Returns: id, created_at, updated_at. Required: id.
create_a_zum_rails_product
Create a product in zumrails. Returns the created product object including its id, created_at, and updated_at.
update_a_zum_rails_product_by_id
Update a product in zumrails by id. Returns the updated product object including its id, created_at, and updated_at. Required: id.
get_single_zum_rails_product_by_id
Get a specific product in zumrails by id. Returns the product object including its id, created_at, and updated_at. Required: id.
list_all_zum_rails_products
Search for products in zumrails. Returns a list of product objects, each including id, created_at, and updated_at.
delete_a_zum_rails_product_by_id
Delete a product in zumrails by id. Returns an empty 204 response on success. Required: id.
update_a_zum_rails_product_image_by_id
Upload a product image for a zumrails product. Returns the upload result via the result envelope. Required: product_id.
update_a_zum_rails_product_archive_by_id
Archive a product in zumrails by its product ID. Returns: id, created_at, updated_at. Required: product_id.
update_a_zum_rails_product_unarchive_by_id
Unarchive a product in zumrails by product ID. Returns the unarchived product result including id, created_at, and updated_at. Required: product_id.
get_single_zum_rails_product_price_by_id
Get a specific product price in zumrails by id. Returns: id. Required: id.
delete_a_zum_rails_product_price_by_id
Delete a product price in zumrails by id. Returns an empty 204 response on success. Required: id.
update_a_zum_rails_product_price_archive_by_id
Archive a product price in zumrails by its product price ID. Returns an empty 204 response on success. Required: product_price_id.
update_a_zum_rails_product_price_unarchive_by_id
Unarchive a product price in zumrails, restoring it to active status. Returns the updated product price record including id, created_at, and updated_at. Required: product_price_id.
create_a_zum_rails_invoice
Create an invoice in zumrails. Returns: id.
update_a_zum_rails_invoice_by_id
Update an invoice in zumrails by id. Returns: id. Required: id.
get_single_zum_rails_invoice_by_id
Get a specific invoice in zumrails by id. Returns: id. Required: id.
list_all_zum_rails_invoices
Search for invoices in zumrails. Returns: id.
list_all_zum_rails_invoice_events
List invoice events for a specific invoice in zumrails. Returns: id, created_at, updated_at. Required: getinvoiceevent_id.
update_a_zum_rails_invoice_status_by_id
Change the status of an invoice in zumrails by its id. Returns: id. Required: id.
create_a_zum_rails_subscription
Create a subscription in zumrails. Returns the created subscription object including id, created_at, and updated_at.
update_a_zum_rails_subscription_by_id
Update a subscription in zumrails by id. Returns the updated subscription object including id, created_at, and updated_at. Required: id.
get_single_zum_rails_subscription_by_id
Get a specific subscription in zumrails by id. Returns the subscription object including id, created_at, and updated_at. Required: id.
list_all_zum_rails_subscriptions
Search for subscriptions in zumrails. Returns a list of subscription objects each including id, created_at, and updated_at.
update_a_zum_rails_subscription_cancel_by_id
Cancel a subscription in zumrails by id. Returns an empty 204 response on success. Required: id.
update_a_zum_rails_subscription_pause_by_id
Pause a zumrails subscription by id. Returns: id. Required: id.
update_a_zum_rails_subscription_resume_by_id
Resume a paused subscription in zumrails by id. Returns: id. Required: id.
list_all_zum_rails_subscription_events
List subscription events for a given subscription in zumrails. Returns a collection of subscription event records including id, created_at, and updated_at. Required: getsubscriptionevent_id.
list_all_zum_rails_subscription_invoices
List invoices for a specific zumrails subscription. Returns subscription invoice records including id, created_at, and updated_at. Required: getsubscriptioninvoice_id.
get_single_zum_rails_aggregation_request_by_id
Get aggregation information from zumrails by request id. Returns the aggregation result object including id and request-specific attributes; the exact field set varies by aggregation type and is not enumerated in the upstream docs. Required: id.
get_single_zum_rails_aggregation_async_status_by_id
Get the async transaction status for a zumrails aggregation request by id. Returns: id, status, created_at, updated_at. Required: id.
list_all_zum_rails_insights_profiles
List Zumrails insights profiles by applying a filter. Returns a collection of insights profile records including id, created_at, and updated_at.
get_single_zum_rails_insights_profile_by_id
Get a single Zumrails insights profile. Returns the insights profile record including id, created_at, and updated_at.
zum_rails_insights_profiles_search
Search for a Zumrails insights profile. Returns the matching insights profile record including id, created_at, and updated_at.
create_a_zum_rails_insight
Retrieve insights data from zumrails by calling the GetInsights endpoint. Returns a result object containing analytics or summary data; the specific fields are not enumerated in the available source documentation — consult the zumrails Insights API reference for the full field-level breakdown. No request parameters are documented in the current source.
list_all_zum_rails_wallets
List wallets in zumrails. Returns a collection of wallet records from the result array, including id, created_at, and updated_at for each entry.
list_all_zum_rails_wallet_transactions
Search and list wallet transactions in zumrails by posting filter criteria. Returns a collection of transaction records including id, created_at, and updated_at.
get_single_zum_rails_transaction_limit_by_id
Get the transaction limits for a specific customer in zumrails by id. Returns: id, created_at, updated_at. Required: id.
update_a_zum_rails_transaction_chargeback_by_id
Accept a zumrails transaction chargeback, marking it as accepted. Returns an empty 204 response on success. Required: transaction_chargeback_id.
delete_a_zum_rails_transaction_chargeback_by_id
Dispute a zumrails transaction chargeback, marking it as disputed. Returns an empty 204 response on success. Required: transaction_chargeback_id.
update_a_zum_rails_transaction_action_by_id
Take action on an Interac fraud transaction in zumrails by id. Returns: id. Required: id.
create_a_zum_rails_wallet_transaction_summary
Retrieve the daily auto-withdrawal summary in zumrails by posting to the summary endpoint. Returns the summary result object; the specific fields within the result are not enumerated in the available documentation. No body parameters or query parameters are documented for this endpoint.
Why Truto
Why use Truto’s MCP server for Zum Rails
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.
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.
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.
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.
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.
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.
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 Zum Rails in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Zum Rails account
Use Truto’s frontend SDK to connect your customer’s Zum Rails account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
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.
Call our API, we call Zum Rails
Truto’s Proxy API is a 1-to-1 mapping of the Zum Rails API. You call us, we call Zum Rails, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Zum Rails’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Zum Rails on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication with Zum Rails work through Truto?
Truto handles the Zum Rails auth setup for you via the create and update auth endpoints. Your end users don't see credentials — you generate a Truto integrated account, and Truto manages token storage, refresh, and injection on every downstream API call.
Which Zum Rails resources can I read and write today?
The current toolset covers users and payment instruments (bank accounts, credit cards, billing/shipping addresses), transactions (single, batch validate, batch process, US batch), cards (issuance, status, reissue, balances, transactions, statements), products, invoices, subscriptions (with pause/resume/cancel), wallets, funding sources, aggregation requests, insights profiles, transaction limits, and chargebacks.
Can I process high-volume payouts in a single call?
Yes. Use the batch process and batch validate transaction tools to submit many transactions at once, then list batches to monitor status. This is the recommended pattern for payroll, marketplace payouts, and mass disbursement workflows.
How do I keep transaction and invoice state in sync?
Bank rails like ACH and EFT settle asynchronously, so you should combine polling (get transaction by ID, list invoice events, list subscription events) with Zum Rails webhooks for events like Transaction Updated, Invoice StatusChange, and Aggregation Status. Truto normalizes the auth and request layer so your handlers stay clean.
Does the integration support open banking and account verification data?
Yes. You can retrieve aggregation requests and their async status, list and search insights profiles, and create insights to power KYC, account verification, and cash flow underwriting flows — no micro-deposits required.
Can I support both Canadian and US payment rails?
Yes. Zum Rails is built for North America, and the available tools include a dedicated US batch transaction endpoint alongside general transaction endpoints that cover ACH, EFT, Interac e-Transfer, Visa Direct, and card rails.
Zum Rails
Get Zum Rails integrated into your app
Our team understands what it takes to make a Zum Rails integration successful. A short, crisp 30 minute call with folks who understand the problem.