A2A · Reference

ISO 20022 message reference

A restricted profile — the fields and code values MerasPay actually reads or writes. XML and a JSON envelope are both accepted; the JSON mirrors the same field shape one-for-one.

pacs.008.001.08

customer credit transfer

The actual transfer instruction. Sent by the debtor bank to MerasPay's POST /banking/v1/transfers.

NameTypeDescription
MsgId
required
stringUnique to the envelope, ≤35 chars. JSON: msg_id.
CreDtTm
required
datetimeRFC 3339 UTC. JSON: created_at.
SttlmMtd
required
stringAlways "CLRG" for MerasPay. JSON: settlement.method.
UETR
required
uuidUUIDv4 — your end-to-end reference. JSON: transactions[].uetr.
EndToEndId
required
stringYour internal reference. JSON: transactions[].end_to_end_id.
IntrBkSttlmAmt
required
amountJSON: amount_minor + currency. DJF is zero-decimal; pass integer DJF.
ChrgBr
required
enum"SLEV" — service level (scheme rules). JSON: charge_bearer.
Dbtr.Nm
required
stringAccount holder. JSON: debtor.name.
DbtrAcct
required
stringIBAN or other identifier. JSON: debtor.account.
DbtrAgt
required
BICBIC of debtor bank (= caller). JSON: debtor_agent.
Cdtr.Nm
required
stringAccount holder at the creditor bank. JSON: creditor.name.
CdtrAcct
required
stringIBAN or other identifier. JSON: creditor.account.
CdtrAgt
required
BICBIC of creditor bank. JSON: creditor_agent.
RmtInfstringFree-form memo, ≤140 chars. JSON: remittance_info.

pacs.002.001.10

status report

MerasPay returns this synchronously to every pacs.008. Status codes:

  • ACSC — accepted, settlement complete (terminal success)
  • ACSP — accepted, settlement in process
  • ACWP — accept without posting; held for compliance review (HTTP 202)
  • RJCT — rejected (terminal); carries status_reason

pacs.004.001.09

payment return

Post-settlement reversal. POST /banking/v1/transfers/{uetr}/return with body:

jsonjson
{
  "reason_code": "AC01",
  "reason_text": "Invalid creditor account",
  "amount_minor": 50000
}
amount_minor is optional — defaults to the full original amount. Returns the updated A2A transfer row.

camt.056.001.08

cancellation request

Functionally identical to a Return in our gross-settlement model. POST /banking/v1/transfers/{uetr}/cancel with the same body as Return.