Skip to main content
Coming Soon. The specification below is published for early review and may change before release.
Many payments carry more meaning than the amount and the payer. A deposit into a gaming account must be screened for responsible gambling. A wallet top-up requires the recipient’s identity for AML checks. A payment against a bill needs to be applied to that specific record on completion. Payment allocation captures this economic context in a structured, validated form, separate from payer identity and free-form metadata, so Moment can enforce the right compliance rules and automatically settle the right records. To set this context, include the payment_allocation field when creating a Payment Session. It is optional for most integrations. In regulated verticals such as gaming and wallet funding, it is required for compliance screening and regulatory reporting. Once a session is created, the allocation cannot be changed.

How it works

The customer and payment_allocation fields on a Payment Session serve distinct roles. customer identifies who is making the payment. payment_allocation identifies what the payment is for and which record it applies to. Two fields make up a payment allocation:
  • purpose: the reason the payment is being made, for example wallet_funding or gaming_deposit.
  • applies_to: the specific record the payment is applied against, identified by type.
These fields are independent. The same purpose can apply to different target types, and the same target type can serve different purposes. Together they determine which fields are required and how the payment is validated.

Examples

A customer is loading funds into a wallet held in the merchant system or an external platform. Moment has no prior knowledge of the wallet holder, so identity and jurisdiction attributes are required for AML, PEP, and sanctions screening.
A customer is loading funds into a wallet managed by Moment. Identity and KYC data was captured at wallet onboarding. No attributes are required.
A customer is paying against a specific bill managed on the Moment platform.
A customer is depositing funds into a gaming account. Regulatory, identity, and responsible gambling attributes are required.

Payment Purpose

The purpose field expresses the reason for the payment. It must be permitted by the merchant compliance profile.
The following purposes are planned but not yet available: account_top_up, loan_repayment, subscription_payment, airline_booking, lodging, healthcare, debt_repayment, cruise.Contact us to discuss further.

Payment Target

A payment target is the specific record the payment is applied against: a wallet being funded, a bill being settled, or a gaming account receiving a deposit. The applies_to field sets up the payment target and enables automated application of the funds against that record on completion.

Type

The type field specifies the kind of target, for example a wallet, gaming account, or bill. It determines which fields are required, where id comes from, and which attributes apply. Targets fall into two categories: Moment-managed and merchant-managed. Moment-managed targets. Moment holds identity and compliance context for these objects. No compliance attributes are required at transaction time. Merchant-managed targets. Moment has no prior knowledge of these objects. Identity and compliance context must be supplied in attributes where required.

Description

An optional human-readable label for the target, available on all target types. For unstructured targets, at least one of description or attributes must be present.

Attributes

Compliance and identity data about the payment target is passed in attributes. Required fields depend on the target type. For merchant_wallet and merchant_gaming_account targets, attributes is required. Moment has no prior knowledge of the recipient, so identity and jurisdiction data is needed for compliance screening. Unknown fields are rejected. These targets also typically require the customer field to be set on the session, identifying the payer alongside the recipient. For all other target types, attributes is optional.
The Required column reflects API-level defaults.Fields marked Conditional are optional by default but may be required at runtime by the merchant compliance profile, for example identity document for FICA, address for enhanced due diligence, or date of birth for age verification in licensed gaming jurisdictions.

Wallet Funding Fields

recipient (required) recipient.identification (optional) recipient.address (optional) jurisdiction (required) Regulatory jurisdiction of the wallet scheme. May differ from recipient.country. account (optional)

Gaming Deposit Fields

recipient (required) recipient.identification (optional) recipient.address (optional) gaming (required) jurisdiction (required) Regulatory jurisdiction of the gaming operator (for example ZA, CW). May differ from recipient.country. account (optional)

Validation

Validation runs at session creation. The request is rejected if any of the following rules are violated.