Skip to content

Wallet & Payments

The wallet operations are the day-to-day money movements a member makes on their main balance: putting money in, sending it to another member, taking it out to a bank, paying by QRIS, and paying bills. Every product in the catalog ultimately relies on these rails.

These are transfers of a member’s own funds under Wadiah safe-keeping. No interest is earned or charged on any operation; fees, where they apply, are transparent service charges, not riba.

  • Members — top up, send, withdraw, and pay from their balance.
  • Your organization — set which methods are available and how fees are applied.
OperationDirectionWhat it does
Top-upMoney inAdd funds via bank transfer, QRIS, or a virtual account
TransferInternalSend funds to another member on the platform
WithdrawalMoney outDisburse funds to an external bank account
QRISIn / outReceive or pay using Indonesia’s national QR standard
Bill paymentMoney outPay bills directly from the balance

Top-up is asynchronous: the member requests it, pays through an external channel, and the balance is credited only once the payment provider confirms settlement. The member never waits on a screen for a bank to respond.

sequenceDiagram
    autonumber
    actor M as Member
    participant App as Moria app
    participant Prov as Payment provider
    participant Bank as Bank / QRIS

    M->>App: Request top-up (amount, method)
    App->>Prov: Create payment order
    Prov-->>App: Virtual account / QR / instructions
    App-->>M: Show payment instructions
    M->>Bank: Pay (transfer / scan QR)
    Bank-->>Prov: Payment received
    Prov-->>App: Settlement callback (signed)
    App->>App: Credit main balance
    App-->>M: Balance updated

Money out — withdrawal, transfer, bill payment

Section titled “Money out — withdrawal, transfer, bill payment”

Anything that moves money out of the balance passes through the transaction PIN and a recipient check. Withdrawals and bill payments settle to an external party; transfers settle instantly to another member.

flowchart TD
    A([Member starts money-out]) --> B{Which kind?}
    B -->|Transfer| C[Confirm recipient name]
    B -->|Withdrawal| D[Confirm bank account name]
    B -->|Bill payment| E[Confirm biller & amount]
    C --> P
    D --> P
    E --> P
    P[Transaction PIN step-up] --> Q{Authorized?}
    Q -->|No| R[Rejected]
    Q -->|Yes| S{Destination}
    S -->|Another member| T([Instant internal transfer])
    S -->|External bank / biller| U[Disburse to provider]
    U --> V[Settlement callback]
    V --> W([Balance debited, receipt issued])
    T --> W

    classDef step fill:#E8E1FF,stroke:#3C2C96,stroke-width:1.5px,color:#1E1B4B;
    classDef gate fill:#FFF3D0,stroke:#F4BE27,stroke-width:1.5px,color:#8B5A00;
    classDef done fill:#FDF8E8,stroke:#3C2C96,stroke-width:2px,color:#1E1B4B;
    class A,C,D,E,P,U,V,R step;
    class B,Q,S gate;
    class T,W done;

Every operation lands on a bank-grade statement: dated entries, running balance, and a receipt per transaction. Members can review exactly where their money went; your organization gets a reconcilable record.

  • Available methods — choose which top-up and payout channels members can use.
  • Fees — pricing per method is configured per partner (a service fee, never interest).
  • Limits — transaction and balance limits can be set to match your risk posture.
  • Branding — the entire flow appears under your brand in a white-label deployment.
  • Top-up completes only after the provider confirms settlement — instant-looking, but provider-dependent.
  • Money-out always requires a valid transaction PIN.
  • Withdrawals target bank accounts and billers supported by the connected provider.
  • Platform & Wallet — the balance and security model these operations run on.
  • Every product in the catalog funds and settles through these same rails.