Payments

Martis enables businesses to accept payments from customers through multiple payment methods including QRIS, virtual accounts, and e-wallets. The payment system handles the complete transaction lifecycle from charge creation to settlement.


How Payments Work

The payment flow consists of six stages:

StageDescription
1. Charge CreationA payment charge is created with amount, currency, and customer details
2. Method SelectionPayment instructions are generated based on the configured payment method
3. Customer PaymentThe customer completes payment using the provided instructions
4. ConfirmationA webhook event notifies the merchant of the payment status
5. SettlementFunds are settled to the merchant's available balance
6. PayoutSettled funds can be withdrawn or disbursed

Payment Methods

Martis supports multiple payment method types:

MethodDescriptionSettlement Time
QRISQR code-based payments via mobile banking or e-walletsD+2
Virtual AccountBank transfer to a generated account numberD+1
E-WalletDirect payment via digital wallet applicationsD+1

Payment Lifecycle

Charge States

A payment charge progresses through the following states:

  • Name
    pending
    Description

    Charge created, awaiting customer payment

  • Name
    success
    Description

    Payment completed successfully

  • Name
    failed
    Description

    Payment failed or expired

Expiration

Payment charges expire if not completed within the specified timeframe. The default expiration period varies by payment method:

MethodDefault Expiration
QRIS30 minutes
Virtual Account24 hours

Settlement

Settlement is the process of transferring confirmed payment funds to the merchant's available balance.

Payment MethodSettlement Time
QRIS2 business days (D+2)
Virtual Account1 business day (D+1)

Settled funds appear in the Available Balance and can be withdrawn to a registered bank account or disbursed via API.


Integration

To start accepting payments:

  1. Generate an API key for authentication
  2. Configure payment methods for the account
  3. Create payment charges via the API
  4. Set up webhooks to receive payment notifications

Was this page helpful?