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

# Moment API Integration on Truto



**Category:** Payment Gateway  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 33 tools for Moment that AI agents can call directly.

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

## How it works

1. **Link your customer's Moment 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 Moment.** The Proxy API is a 1-to-1 mapping of the Moment 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 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.
- **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.
- **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.
- **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.
- **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

- **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.
- **Authorize-Now, Capture-on-Fulfillment Checkout** — Create payment sessions at checkout, then trigger capture when goods ship or void the payment if fulfillment fails.
- **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.
- **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.
- **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.
- **Multi-Account Customer Ledgering** — Model corporate customers with multiple billing accounts for different currencies or subsidiaries, and issue bills against the correct account programmatically.

## FAQs

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