AData gapdefect
The real-world fact exists, but Mojaloop never carries it. The constant is a small untruth in the data.
Payment Platform Adaptor
Tazama accepts exactly four ISO 20022 messages. None of them is a translation of a single Mojaloop message — each is assembled from a trigger plus several cached enrichment messages, across time. Some required fields are filled with constants because no Mojaloop message carries the value at all.
Every field, value and JSON payload here is transcribed from the DRPP golden-path capture and the schema-validated samples — nothing is reconstructed.
MWK 60 → ZMW 1 · cross-border via DRPP
← 10 POST /quotes
The quote request. Carries the payer's name components and merchant classification, which have no home in the pacs.008 — and has the most constant-filled required fields of the four.
← 11 PUT /quotes/{id}
The quote response. Carries the payee-side economics — receive amount, fee and commission — which have no home anywhere in the pacs.008, and the real charge bearer that pain.001 could only guess at.
← 16 POST /transfers
The payment itself. Emitted on transfer PREPARE so Tazama evaluates before settlement, and the only message carrying both currencies plus the rate that connects them.
← 17 PUT /transfers/{id}
The outcome. The only one of the four with no class-A gaps — every required field resolves to a real Mojaloop value, two of them from HTTP headers rather than the body.
“Gaps” counts required fields the real world has but Mojaloop never carries — class A below. The spread between pacs.002's zero and pain.001's fifteen is itself a finding.
Mojaloop fields sit on the left, grouped by the message they came from. The validated Tazama payload sits on the right. Arrows connect them. A field with no arrow is constant-filled — and there are five different reasons for that, only two of which are defects.
The real-world fact exists, but Mojaloop never carries it. The constant is a small untruth in the data.
Fixed by Tazama's ingestion contract, or structurally implied by Mojaloop. There is nothing to source.
An identifier or timestamp the PPA is meant to mint when the scheme supplies none.
The value does exist in Mojaloop, but only in a message that follows the one that triggers emission.
A slot exists in the message; the golden path simply did not populate it. Another flow might.