Integrator SDK
Complete MT and MX Schemas
Full schema definitions for all SWIFT MT (ISO 15022) and MX (ISO 20022) message types, including CBPR+ and IAP (ISO Accelerator Package), providing the structural foundation for parsing, building, and validating financial messages.
// Create an MX pacs.008 CBPR+ payment message
MxPacs00800102 mx = new MxPacs00800102();
mx.setFIToFICstmrCdtTrf(new FIToFICustomerCreditTransferV02()
.setGrpHdr(new GroupHeader33()));
// General Information
mx.getFIToFICstmrCdtTrf().getGrpHdr()
.setMsgId("TBEXO12345");
mx.getFIToFICstmrCdtTrf().getGrpHdr()
.setNbOfTxs("1");
// Settlement Information
mx.getFIToFICstmrCdtTrf().getGrpHdr()
.setSttlmInf(new SettlementInformation13());
mx.getFIToFICstmrCdtTrf().getGrpHdr()
.getSttlmInf()
.setSttlmMtd(SettlementMethod1Code.INDA);
// Transaction Amount
ActiveCurrencyAndAmount amount =
new ActiveCurrencyAndAmount();
amount.setCcy("USD");
amount.setValue(new BigDecimal("23453"));
System.out.println(mx.message()); LAU Signing & Verification
Local Authentication (LAU) provides digital signing and verification for SWIFT Alliance Access integration, ensuring message integrity and non-repudiation across the communication chain.
// Create a LAU signer with SAA private keys
LAU signer = new LAU();
AuthParameters authParameters =
new AuthParameters();
authParameters.setLeftKey("Abcd1234abcd1234");
authParameters.setRightKey("Abcd1234abcd1234");
// Sign an MX DataPDU envelope
String signedPayload =
signer.signXmlV2(dataPDU, authParameters);
// Verify an inbound signed payload
boolean valid =
signer.verifyXmlV2(signedPayload, authParameters); DataPDU Parser
Create and parse the DataPDU — the SAA XML v2 message envelope used for communication with SWIFT Alliance Access. Full support for both inbound and outbound message wrapping.
// Parse a DataPDU envelope
DataPDUParser pdu =
DataPDUParser.parse(xml);
// Access header metadata
pdu.getHeader().getMessage()
.getMessageIdentifier();
// → "pacs.008.001.08"
// Extract the embedded MX message
AbstractMX mx = pdu.extractMx();
MxPacs00800108 pacs =
(MxPacs00800108) mx;
// Build outbound DataPDU for an MX message
DataPDUWriter w =
new DataPDUWriter(mxMessage);
w.getHeader().getMessage()
.getNetworkInfo()
.setService("swift.finplus!pc");
String dataPDU = w.xml(); BIC Directory
Import and manage BIC data from SWIFT Ref files, then make the BIC repository available for institution lookup, validation, and routing decisions across your application.
Expanded Printout
Generate human-readable expanded printout for any MT message type. Transforms raw SWIFT FIN content into structured documents with field labels, qualifiers, and descriptions — ideal for audit reports, compliance documentation, and operational review.
// Generate expanded printout for any MT
PrintoutWriter w = new PrintoutWriter();
System.out.println(w.print(mt515));
// Output:
// ---- Message Header ----
// Swift : FIN 515 Client Confirmation
// of Purchase or Sale
// Sender : RBDSJPJTBXXX
//
// A - General Information
// 20C: Reference
// Qualifier: Sender's Message Reference
// Reference: M1999999.1
// 23G: Function of the Message
// Function: NEWM
//
// C - Confirmation Details
// 98A: Date
// Qualifier: Trade Date/Time
// Date: Jul 12, 2016 MtPath DSL
A domain-specific language that simplifies content selection in MT (FIN) messages. Use XPath-like expressions to navigate message structures, extract field values, and query across sequences — without manual field parsing.
// Get component 2 of field 20C qualifier SEME
List<MtPathResult> found =
MtPath.evaluate("20C/SEME/2", mt);
found.get(0).getComponent();
// All 93a AVAI fields in first B1b sequence
found = MtPath.evaluate(
"B1b[1]/93a/AVAI/5", mt);
for (MtPathResult f : found) {
System.out.println(f.getComponent());
}
// All 93B fields within sequence B
found = MtPath.evaluate(
"B[*]/93B", mt);
// MIR from header block 2
found = MtPath.evaluate(
"b2/" + SwiftBlock2OutputField
.MIRLogicalTerminal,
mt); SWIFT SCORE
Complete model and API support for SWIFT SCORE (Standardised CORporate Environment) messages, enabling corporate-to-bank communication through the SWIFT network.