Files
gru_emoney_token-factory/api/packages/schemas/iso20022-mapping/message-mappings.yaml
defiQUG 651ff4f7eb Initial project setup: Add contracts, API definitions, tests, and documentation
- Add Foundry project configuration (foundry.toml, foundry.lock)
- Add Solidity contracts (TokenFactory138, BridgeVault138, ComplianceRegistry, etc.)
- Add API definitions (OpenAPI, GraphQL, gRPC, AsyncAPI)
- Add comprehensive test suite (unit, integration, fuzz, invariants)
- Add API services (REST, GraphQL, orchestrator, packet service)
- Add documentation (ISO20022 mapping, runbooks, adapter guides)
- Add development tools (RBC tool, Swagger UI, mock server)
- Update OpenZeppelin submodules to v5.0.0
2025-12-12 10:59:41 -08:00

174 lines
5.0 KiB
YAML

# ISO-20022 Message Type to Canonical Field Mappings
# This file defines how ISO-20022 message types map to canonical message fields
mappings:
# Outbound Initiation Messages
pain.001:
description: "Customer Credit Transfer Initiation"
direction: OUTBOUND
triggerType: OUTBOUND
fields:
instructionId:
path: "Document/CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/PmtId/InstrId"
type: string
required: true
endToEndId:
path: "Document/CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/PmtId/EndToEndId"
type: string
required: false
amount:
path: "Document/CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/Amt/InstdAmt"
type: decimal
required: true
currency:
path: "Document/CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/Amt/InstdAmt/@Ccy"
type: string
required: true
debtorAccount:
path: "Document/CstmrCdtTrfInitn/PmtInf/DbtrAcct/Id/Othr/Id"
type: string
required: true
creditorAccount:
path: "Document/CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/CdtrAcct/Id/Othr/Id"
type: string
required: true
pacs.008:
description: "FIToFICustomerCreditTransfer"
direction: OUTBOUND
triggerType: OUTBOUND
fields:
instructionId:
path: "Document/FIToFICstmrCdtTrf/GrpHdr/MsgId"
type: string
required: true
endToEndId:
path: "Document/FIToFICstmrCdtTrf/CdtTrfTxInf/PmtId/EndToEndId"
type: string
required: false
amount:
path: "Document/FIToFICstmrCdtTrf/CdtTrfTxInf/IntrBkSttlmAmt"
type: decimal
required: true
currency:
path: "Document/FIToFICstmrCdtTrf/CdtTrfTxInf/IntrBkSttlmAmt/@Ccy"
type: string
required: true
debtorAccount:
path: "Document/FIToFICstmrCdtTrf/CdtTrfTxInf/DbtrAcct/Id/Othr/Id"
type: string
required: true
creditorAccount:
path: "Document/FIToFICstmrCdtTrf/CdtTrfTxInf/CdtrAcct/Id/Othr/Id"
type: string
required: true
pacs.009:
description: "FinancialInstitutionCreditTransfer"
direction: OUTBOUND
triggerType: OUTBOUND
fields:
instructionId:
path: "Document/FICdtTrf/GrpHdr/MsgId"
type: string
required: true
amount:
path: "Document/FICdtTrf/CdtTrfTxInf/IntrBkSttlmAmt"
type: decimal
required: true
currency:
path: "Document/FICdtTrf/CdtTrfTxInf/IntrBkSttlmAmt/@Ccy"
type: string
required: true
# Inbound Notification Messages
camt.054:
description: "BankToCustomerDebitCreditNotification"
direction: INBOUND
triggerType: INBOUND
fields:
instructionId:
path: "Document/BkToCstmrDbtCdtNtfctn/Ntfctn/Ntry/NtryRef"
type: string
required: true
endToEndId:
path: "Document/BkToCstmrDbtCdtNtfctn/Ntfctn/Ntry/NtryDtls/TxDtls/Refs/EndToEndId"
type: string
required: false
amount:
path: "Document/BkToCstmrDbtCdtNtfctn/Ntfctn/Ntry/Amt"
type: decimal
required: true
currency:
path: "Document/BkToCstmrDbtCdtNtfctn/Ntfctn/Ntry/Amt/@Ccy"
type: string
required: true
account:
path: "Document/BkToCstmrDbtCdtNtfctn/Ntfctn/Acct/Id/Othr/Id"
type: string
required: true
creditDebitIndicator:
path: "Document/BkToCstmrDbtCdtNtfctn/Ntfctn/Ntry/CdtDbtInd"
type: string
required: true
pacs.002:
description: "Payment Status Report"
direction: INBOUND
triggerType: INBOUND
fields:
instructionId:
path: "Document/FIToFIPmtStsRpt/OrgnlGrpInfAndSts/OrgnlMsgId"
type: string
required: true
status:
path: "Document/FIToFIPmtStsRpt/TxInfAndSts/Sts"
type: string
required: true
enum: ["ACSC", "RJCT", "PNDG", "CANC"]
amount:
path: "Document/FIToFIPmtStsRpt/TxInfAndSts/OrgnlTxRef/IntrBkSttlmAmt"
type: decimal
required: false
# Return/Reversal Messages
pacs.004:
description: "Payment Return"
direction: RETURN
triggerType: RETURN
fields:
instructionId:
path: "Document/FIToFIPmtRvsl/OrgnlGrpInf/OrgnlMsgId"
type: string
required: true
originalInstructionId:
path: "Document/FIToFIPmtRvsl/TxInf/OrgnlInstrId"
type: string
required: true
amount:
path: "Document/FIToFIPmtRvsl/TxInf/OrgnlIntrBkSttlmAmt"
type: decimal
required: true
camt.056:
description: "FIToFIPaymentCancellationRequest"
direction: CANCELLATION
triggerType: CANCELLATION
fields:
instructionId:
path: "Document/FIToFIPmtCxlReq/Assgnmt/Id"
type: string
required: true
originalInstructionId:
path: "Document/FIToFIPmtCxlReq/Undrlyg/OrgnlGrpInf/OrgnlMsgId"
type: string
required: true
# Status Code Mappings
statusMappings:
ACSC: SETTLED
RJCT: REJECTED
PNDG: PENDING
CANC: CANCELLED