Skip to content

Payment Gateway · Beta

Moment
API integration

Ship Payment Gateway features without building the integration. Full Moment API access via Proxy and 30+ 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 us
Moment

Use Cases

Why integrate with Moment

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

01

Embed Localized Billing for Emerging Markets

Accounting, ERP, and subscription SaaS platforms can offer their merchants a native way to invoice and collect payments across African and other emerging markets. Truto handles the Moment integration so your team ships localized A/R workflows without building region-specific payment logic.

02

Ship Two-Step Authorize and Capture Checkout

E-commerce and inventory SaaS platforms can offer merchants a checkout flow that authorizes cards at purchase and captures funds only after fulfillment. If inventory falls through, the same integration voids the payment cleanly.

03

Enable Pay-by-Link from CRM and Field Service Workflows

CRM and field service platforms can let agents trigger a secure Moment payment link directly from a ticket, work order, or deal. This eliminates chasing customers for card details and closes the loop when payment succeeds.

04

Power Gift Card and Loyalty Redemption at Checkout

Loyalty, rewards, and POS SaaS platforms can offer merchants a reliable way to reserve and confirm stored-value redemptions during checkout. The two-step flow protects against double-spend in high-concurrency retail environments.

05

Generate Hosted Payment Pages for Creators and Campaigns

Creator economy, course, and marketing SaaS platforms can programmatically spin up branded hosted payment pages per product, campaign, or event. When the campaign ends or inventory sells out, the same integration deactivates the page instantly.

What You Can Build

Ship these features with Truto + Moment

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

01

Automated Bill Sync with Void Handling

Map users to Moment billing customers and accounts, generate bills on invoice creation, and void bills automatically when invoices are canceled in your system.

02

Authorize-Now, Capture-on-Fulfillment Checkout

Create payment sessions at checkout, then trigger capture when goods ship or void the payment if fulfillment fails.

03

One-Click Pay-by-Link Generation

Let users generate, update, and revoke Moment payment requests directly from a CRM record, invoice, or field service job with a single action.

04

Hosted Payment Page Lifecycle Management

Programmatically create per-product or per-campaign payment pages, pull transaction lists into dashboards, and deactivate pages when a listing is unpublished.

05

Split Payments with Vouchers and Cards

Look up stored-value balances, reserve redemptions during checkout, and confirm them alongside a card charge for combined tender flows.

06

Multi-Account Customer Ledgering

Model corporate customers with multiple billing accounts for different currencies or subsidiaries, and issue bills against the correct account programmatically.

SuperAI

Moment 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_moment_billing_customer

Create a new billing customer in Moment. Returns the customer object including id, external_reference, name, email, balance, payment_rules, and metadata. Required: external_reference, name.

update_a_moment_billing_customer_by_id

Update a Moment billing customer by id. Only provided fields are changed. Returns the updated customer object including id, external_reference, name, email, balance, payment_rules, and metadata. Required: id.

get_single_moment_billing_customer_by_id

Get a Moment billing customer by id. Returns: id, external_reference, name, email, phone, currency, balance, payment_rules, metadata, customer_id, order_id. Required: id.

create_a_moment_billing_account

Create a Moment billing account for an existing or new customer. Returns the created account object including id, external_reference, customer_id, name, currency, and balance.

update_a_moment_billing_account_by_id

Update an existing Moment billing account by id. Returns the updated account including id, external_reference, customer_id, name, currency, balance, payment_rules, and metadata. Required: id.

get_single_moment_billing_account_by_id

Get a Moment billing account by id or external reference. Returns: id, external_reference, customer_id, name, currency, balance, payment_rules, metadata, order_id. Required: id.

create_a_moment_billing_bill

Create a new bill in Moment for a customer or account. Returns the created bill including id, external_reference, status, amount_due, amount_paid, amount_remaining, and metadata. Required: external_reference, currency, amount_due. Pass either customer or account as a Moment ID, external reference, or nested object to create on the fly.

update_a_moment_billing_bill_by_id

Update an existing Moment bill. Only provided fields are changed. Returns the updated bill including id, external_reference, status, amount_due, amount_paid, amount_remaining, and metadata. Required: id.

get_single_moment_billing_bill_by_id

Get a Moment bill by its unique identifier or external reference. Returns the bill object including id, external_reference, customer_id, account_id, status, currency, amounts, payment_rules, and metadata. Required: id.

create_a_moment_bill_void

Void a bill in Moment, permanently making it uncollectable. Returns the voided bill object including id, status, amount_due, amount_remaining, and customer_id. Required: bill_id. This operation is irreversible and voided bills cannot be paid or updated.

create_a_moment_payment_page

Create a new Moment payment page. Returns the created page including id, status, page_url, currency, title, amount, custom_fields, and timestamps. Required: currency, title.

get_single_moment_payment_page_by_id

Get a Moment payment page by id. Returns the page object including id, status, page_url, currency, title, amount, and timestamps. Required: id.

update_a_moment_payment_page_by_id

Update an existing Moment payment page by id. Returns the updated page including id, status, page_url, currency, title, amount, and timestamps. Required: id.

delete_a_moment_payment_page_by_id

Delete a payment page in Moment by id. Returns an empty 204 response on success. Required: id. Only pages with no successful or attempted payments can be deleted.

moment_payment_pages_list_payments

List payments collected through a Moment payment page. Returns: id, payment_page_id, status, amount, currency, customer, custom_fields, payment_id, products, checkout_session_id, delivery_address, metadata, created_at, updated_at. Required: payment_page_id.

moment_payment_pages_deactivate

Mark a Moment payment page as inactive by payment page id. Returns the updated page including id, status, page_url, amount, currency, title, and updated_at. Required: payment_page_id.

create_a_moment_payment_request

Create a new Payment Request in Moment for collecting a payment. Returns the created payment request including id, type, status, amount, currency, link or push details, and metadata. Required: amount, currency.

get_single_moment_payment_request_by_id

Get a Payment Request in Moment by its unique id. Returns the payment request including id, status, type, amount, currency, link details, metadata, and timestamps. Required: id.

update_a_moment_payment_request_by_id

Update an existing Payment Request in Moment. Only unpaid and unexpired requests can be updated. Returns the updated payment request including id, type, status, amount, currency, link details, and timestamps. Required: id.

delete_a_moment_payment_request_by_id

Delete a Moment Payment Request by id. Returns an empty 204 response on success. Required: id.

create_a_moment_payment_session

Create a payment session in Moment. Returns the payment session object including id, type, amount, currency, status, payment_outcome, session_url, mode, created_at and updated_at. Required: amount, currency.

get_single_moment_payment_session_by_id

Get a payment session in Moment by id. Returns the full payment session object including id, type, amount, currency, status, payment_outcome, session_url, mode, created_at and updated_at. Required: id.

moment_payments_capture

Capture an authorised Moment payment. Returns the updated payment including id, status, amount, currency, capture_method, authorised_amount, paid_amount, voided_amount, created_at, and updated_at. Required: payment_id. Only for payments with capture_method: manual that have not expired.

get_single_moment_payment_by_id

Get a Moment payment by id. Returns the payment object including id, status, amount, currency, capture_method, intent, authorised_amount, paid_amount, voided_amount, created_at, and updated_at. Required: id.

moment_payments_void

Void an authorised Moment payment, releasing the full remaining authorised amount. Returns the updated payment including id, status, amount, currency, capture_method, authorised_amount, paid_amount, voided_amount, created_at, and updated_at. Required: payment_id. Only for manual-capture payments in succeeded status with remaining authorised amount.

create_a_moment_redemption

Create a redemption in Moment to redeem a voucher. Returns the redemption including id, status, version, amount, currency, operations, created_at, and updated_at. Required: type, source.

moment_redemptions_confirm

Confirm a reserved redemption in Moment to consume the reserved funds. Returns the updated redemption including id, status, version, amount, currency, operations, created_at, and updated_at. Required: redemption_id.

get_single_moment_redemption_by_id

Get a redemption by id in Moment. Returns the redemption including id, status, version, amount, currency, operations, created_at, and updated_at. Required: id.

list_all_moment_redemption_types

List supported redemption types in Moment. Returns a list of redemption type descriptors, each including type, category, name, description, capabilities, and required_fields. No caller parameters required.

create_a_moment_payment_capture

Capture funds for a Moment payment. Returns the updated payment object including id, status, amount, paid_amount, and payment_method_details. Required: payment_id. Optional: amount to capture a partial amount; omit it to capture the full remaining authorised amount.

create_a_moment_payment_void

Void the remaining authorised amount for a Moment payment. Returns the updated payment object including id, status, amount, currency, voided_amount, payment_method_details, and updated_at. Required: payment_id. The void always releases the full remaining authorised amount and increments voided_amount.

list_all_moment_payment_page_transactions

List transactions for a Moment payment page. Returns each transaction with id, payment_page_id, status, amount, currency, customer, products, metadata, created_at, and updated_at. Required: payment_page_id. Max 100 transactions per page.

moment_stored_value_balances_lookup

Look up a stored value balance in Moment. Returns the balance, currency, source credentials, and provider metadata. Required: type and source.

Why Truto

Why use Truto’s MCP server for Moment

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 550+ 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 Moment in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Moment account

Use Truto’s frontend SDK to connect your customer’s Moment 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 Moment

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

04

Unified response format

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

FAQs

Common questions about Moment on Truto

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

How does authentication work for the Moment integration?

Your end users connect their Moment account through Truto, which manages credential storage, token refresh, and per-tenant isolation. Your application calls Truto with a tenant identifier and never handles Moment credentials directly.

Which Moment operations are supported today?

Truto supports billing customers, billing accounts, and bills (create, read, update, void), payment pages (create, read, update, delete, list payments, deactivate), payment requests (create, read, update, delete), payment sessions, payments (capture, void, read), stored value balance lookups, and redemptions (create, confirm, read, list types).

Can I authorize a payment and capture it later?

Yes. Create a payment session for checkout, then call the capture endpoint when you're ready to settle funds, or call void if the order is canceled before capture.

How do gift card and voucher redemptions work?

Redemptions use a two-step reservation flow: look up the stored value balance, create a redemption to reserve funds, and confirm the redemption once the checkout completes. This prevents double-spend in concurrent environments.

Can one customer have multiple billing accounts?

Yes. Moment's data model allows a single billing customer to hold multiple billing accounts, which is useful for handling different currencies, regional subsidiaries, or business units under one parent entity.

How do I track payments made against a hosted payment page?

Use the list payments operation on a payment page to pull transaction records for reconciliation or dashboards, and call deactivate to shut off the page when a campaign ends or a product sells out.

Moment

Get Moment integrated into your app

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