Skip to content

Quote the fees

POST /v1/partners/quotes

What a payment would cost, without creating one. Same pricing inputs, same engine, no side effects.

Permissioncollect-payment
IdempotencyNot required — there is no effect to make idempotent
Answers200
POST /v1/partners/quotes
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx
x-partner-signature: <hmac-sha256 of the raw body, hex>
Content-Type: application/json
{ "method": "virtual_account", "amount": "100000", "channel": "BRI" }
FieldRequiredNotes
methodyesvirtual_account, qris, or ewallet
amountyesDecimal string
channeldependsSame rule as creating: bank for a virtual account, vendor for e-wallet, omitted for QRIS
organization_idnoPricing can differ per organisation, so quote with the same one you will create with. Must be linked to your account
{
"data": {
"amount": "100000.0000",
"gross_amount": "100000.0000",
"fee": "4000.0000",
"net_amount": "96000.0000",
"currency": "IDR",
"quoted_at": "2026-09-03T07:00:00.000Z"
},
"request_id": "req_…"
}

The quote exposes one partner-facing fee; Moria keeps the provider/margin split internally. Before creating a payment instrument, check that the resulting gross_amount is a whole IDR amount. A fractional provider gross is rejected at creation time with REQUEST_INVALID_PAYLOAD; the amount is never rounded.

  • Showing a customer the total before they commit
  • Checking a fee change before it surprises you in a settlement report
  • Deciding a price on your side that has to account for what you will net