-
-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
All Fedwires and CHIPS wires are moving to ISO20022.
We need to build a class for sending Wires. (Technically this is compatible with both Fedwire and CHIPs)
The interface should look something like this:
const payment = checking.createWireCreditPaymentInitiation([
{
type: 'wire',
direction: 'credit',
amount: 100000, // $1000.00 Dollars
currency: 'USD',
creditor: {
name: 'All-American Dogs Co.',
account: {
accountNumber: '123456789012',
},
agent: {
abaRoutingNumber: '37714568112',
}
},
remittanceInformation: '1000 Hot Dogs Mar4',
}
]);
We should follow the format listed here:
Goldman Sachs
https://developer.gs.com/docs/services/transaction-banking/pain001fedwiresample/
Inline:
<?xml version="1.0" encoding="UTF-8" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>Message-Id</MsgId>
<CreDtTm>2024-05-10T16:10:02.017+00:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>510.24</CtrlSum>
<InitgPty>
<Id>
<OrgId>
<Othr>
<Id>dda0123</Id>
</Othr>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>batch-Id</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<ReqdExctnDt>2024-05-10</ReqdExctnDt>
<Dbtr>
<Nm>Debtor Account Holder Name</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id>Debtor Account Id</Id>
</Othr>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>Bank BIC</BIC>
</FinInstnId>
</DbtrAgt>
<CdtTrfTxInf>
<PmtId>
<EndToEndId>End-to-End-Id</EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy="USD">510.24</InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<BIC>Bank BIC</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Creditor Account Holder Name</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>Creditor Account Id</Id>
</Othr>
</Id>
</CdtrAcct>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
Cross River
https://docs.crossriver.com/bank-rails/iso20022-payments/xml-input-file-examples/fedwire
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>DOMT10001174</MsgId>
<CreDtTm>2020-07-15T16:20:05</CreDtTm>
<NbOfTxs>3</NbOfTxs>
<CtrlSum>6.01</CtrlSum>
<InitgPty>
<Nm>John Doe Corporation</Nm>
<Id>
<OrgId>
<BICOrBEI>JOHNDOE99</BICOrBEI>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>DOMT10000000</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<BtchBookg>false</BtchBookg>
<NbOfTxs>3</NbOfTxs>
<CtrlSum>6.01</CtrlSum>
<PmtTpInf>
<InstrPrty>NORM</InstrPrty>
<SvcLvl>
<Cd>URGP</Cd>
</SvcLvl>
</PmtTpInf>
<ReqdExctnDt>2020-07-15</ReqdExctnDt>
<Dbtr>
<Nm>John Doe Corporation</Nm>
<PstlAdr>
<StrtNm>999 Any Street, 13th Floor</StrtNm>
<PstCd>99999</PstCd>
<TwnNm>Anytown</TwnNm>
<CtrySubDvsn>CA</CtrySubDvsn>
<Ctry>US</Ctry>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id>0123456789</Id>
</Othr>
</Id>
<Ccy>USD</Ccy>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>USABA</Cd>
</ClrSysId>
<MmbId>123456789</MmbId>
</ClrSysMmbId>
<PstlAdr>
<Ctry>US</Ctry>
</PstlAdr>
</FinInstnId>
</DbtrAgt>
<ChrgBr>SHAR</ChrgBr>
<CdtTrfTxInf>
<PmtId>
<InstrId>100FED011119</InstrId>
<EndToEndId>0000000000000064</EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy="USD">1.00</InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>USABA</Cd>
</ClrSysId>
<MmbId>123456789</MmbId>
</ClrSysMmbId>
<Nm>THE BANK OF NEW YORK MELLON</Nm>
<PstlAdr>
<Ctry>US</Ctry>
</PstlAdr>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>John Doe Funding LLC</Nm>
<PstlAdr>
<StrtNm>999 Any Avenue</StrtNm>
<PstCd>10000</PstCd>
<TwnNm>New York</TwnNm>
<CtrySubDvsn>NY</CtrySubDvsn>
<Ctry>US</Ctry>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>0123456789</Id>
</Othr>
</Id>
<Ccy>USD</Ccy>
</CdtrAcct>
<RmtInf>
<Ustrd>Testing</Ustrd>
</RmtInf>
</CdtTrfTxInf>
<CdtTrfTxInf>
<PmtId>
<InstrId>100FED000000</InstrId>
<EndToEndId>0000000000000065</EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy="USD">3.00</InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>USABA</Cd>
</ClrSysId>
<MmbId>123456789</MmbId>
</ClrSysMmbId>
<Nm>Cross River Bank NJ</Nm>
<PstlAdr>
<Ctry>US</Ctry>
</PstlAdr>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>John Doe Funding LLC</Nm>
<PstlAdr>
<StrtNm>999 Any Avenue</StrtNm>
<PstCd>10000</PstCd>
<TwnNm>New York</TwnNm>
<CtrySubDvsn>NY</CtrySubDvsn>
<Ctry>US</Ctry>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>0123456789</Id>
</Othr>
</Id>
<Ccy>USD</Ccy>
</CdtrAcct>
<RmtInf>
<Ustrd>Testing 3</Ustrd>
</RmtInf>
</CdtTrfTxInf>
<CdtTrfTxInf>
<PmtId>
<InstrId>100FED000000</InstrId>
<EndToEndId>0000000000000066</EndToEndId>
</PmtId>
<Amt>
<InstdAmt Ccy="USD">2.01</InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>USABA</Cd>
</ClrSysId>
<MmbId>123456789</MmbId>
</ClrSysMmbId>
<Nm>THE BANK OF NEW YORK MELLON</Nm>
<PstlAdr>
<Ctry>US</Ctry>
</PstlAdr>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>John Doe Funding LLC</Nm>
<PstlAdr>
<StrtNm>999 Any Avenue</StrtNm>
<PstCd>10000</PstCd>
<TwnNm>New York</TwnNm>
<CtrySubDvsn>NY</CtrySubDvsn>
<Ctry>US</Ctry>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>0123456789</Id>
</Othr>
</Id>
<Ccy>USD</Ccy>
</CdtrAcct>
<RmtInf>
<Ustrd>Testing 2</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
Some Notes:
- Include the sample files in testing
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels