Credit account
The path above is illustrative. You host this endpoint; Moov Money POSTs to the URL you register for this operation. See Setup.
Credit a request-for-payment’s funding destination from the provider wallet.
The request body is a RequestEnvelope; the inner JWE payload conforms to
CreditAccountRequestJWTPayload. The response body is a ResponseEnvelope;
the inner JWE payload conforms to CreditAccountResponseJWTPayload.
Outcomes (200 OK):
approved: the ledger entry is posted.destination_unavailable: this destination cannot receive the deposit (closed/invalid account); retryable.refused: you refuse the deposit itself; terminal.
Do not return 200 with an unmodeled outcome value. Moov Money treats that
(and any transport error, 408, 429, or 5xx) as an internal unknown
result and retries the same request with the same idempotencyKey.
Idempotency: you must return the same outcome (and same creditReference
if approved) for repeated requests with the same idempotencyKey. The scope
of a credit-account idempotencyKey is one disbursement attempt.
Retries: Moov Money retries on transport errors, 408, 429, and 5xx.
Other 4xx are terminal. Moov Money never reverses while the credit outcome
is ambiguous; only an explicit refused begins reversal.
curl -X POST https://fi.example.com/ledger/credit-account \
-H "Content-Type: application/json" \
-d '{
"request": "eyJhbGciOiJBMjU2S1ciLCJlbmMiOiJBMjU2R0NNIiwidHlwIjoiSldUIiwiY3R5IjoiSldUIn0.…"
}'{
"response": "eyJhbGciOiJBMjU2S1ciLCJlbmMiOiJBMjU2R0NNIiwidHlwIjoiSldUIiwiY3R5IjoiSldUIn0.…"
}Request
request field. All business fields (amounts, references, idempotency
key) travel inside the JWE claims, not in the outer JSON.request
string
requiredRequest claims
POST credit-account.exp
integer<int64>
requiredmoov
object
requiredMoov claims
moov
providerID
string
requiredidempotencyKey
string
requiredrequesterExternalID
string
requiredfundingDestination
string
requiredamount
object
requiredShow child attributes
moov.amount
currency
object
requiredShow child attributes
moov.amount.currency
decimalPlaces
integer<uint8>
requiredcode. Required.numericCode
stringname
stringcode
string
requiredvalue
string
requiredrequestID
string
requiredtyp
string<enum>
requiredcredit-account on this operation.credit-accountiat
integer<int64>
requiredResponse claims
POST credit-account.exp
integer<int64>
requiredmoov
object
requiredMoov claims
moov
reason
stringdenied/failed; optional for approved.outcome
string<enum>
requiredapproved,
destination_unavailable,
refused,
unknowncreditReference
stringoutcome=approved; omit otherwise.idempotencyKey
string
requirediat
integer<int64>
requiredResponse
response field. All business fields (outcome, references, echoed
idempotency key) travel inside the JWE claims, not in the outer JSON.response
string
required