Third party Settlement feeds
Third party applications can send accumulator updates at the batch (ICL) or entry level for both inbound and outbound work. The applications send a Messaging API message to the Settlement queue. If the application needs to add to one accumulator and subtract from a different accumulator, it can be done in a single message if the message contains multiple instances of the same message type.
A third party message sent to Settlement contains the following fields:
- Bank Id
- Business day Id
- Application name
- Entry type
- Entry Batch / ICL Id
- Accumulator Id
- Inbound outbound indicator
- Adjustment item count (positive or negative) (nonIpd only)
- Adjustment item amount (positive or negative) (nonIpd only)
- Debit item count (positive or negative) (nonFtm only)
- Debit item amount (positive or negative) (nonFtm only)
- Credit item count (positive or negative) (nonFtm only)
- Credit item amount (positive or negative) (nonFtm only)
Sample XML schema for the messages sent to Settlement by a third party
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="ThirdPartyFeed">
<xsd:complexType>
<xsd:choice>
<xsd:element ref="NonIpd" maxOccurs="unbounded"/>
<xsd:element ref="NonFtm" maxOccurs="unbounded"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
<xsd:element name="NonIpd">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="BANK_ID"/>
<xsd:element ref="BDAY_ID"/>
<xsd:element ref="ACCUM_ID"/>
<xsd:element ref="APPLICATION_NAME"/>
<xsd:element ref="ENTRY_TYPE"/>
<xsd:element ref="ENTRY_DEPOSIT_ID"/>
<xsd:element ref="IN_OUT_IND"/>
<xsd:element ref="ITEM_COUNT"/>
<xsd:element ref="TOTAL_AMT"/>
</xsd:sequence>
<xsd:attribute ref="version" use="optional" fixed="1.00.00"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="NonFtm">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="BANK_ID"/>
<xsd:element ref="BDAY_ID"/>
<xsd:element ref="ACCUM_ID"/>
<xsd:element ref="APPLICATION_NAME"/>
<xsd:element ref="ENTRY_TYPE"/>
<xsd:element ref="ENTRY_DEPOSIT_ID"/>
<xsd:element ref="IN_OUT_IND"/>
<xsd:element ref="DEBIT_COUNT"/>
<xsd:element ref="DEBIT_AMOUNT"/>
<xsd:element ref="CREDIT_COUNT"/>
<xsd:element ref="CREDIT_AMOUNT"/>
</xsd:sequence>
<xsd:attribute ref="version" use="optional" fixed="2.00.00"/>
</xsd:complexType>
</xsd:element>
<xsd:attribute name="version">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="([0-9])\.[0-9]{2}\.[0-9]{2}"/>
<xsd:enumeration value="1.00.00"/>
<xsd:enumeration value="1.01.00"/>
<xsd:enumeration value="2.00.00"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:element name="ENTRY_TYPE">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="D"/>
<xsd:enumeration value="E"/>
<xsd:enumeration value="U"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ENTRY_DEPOSIT_ID">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:totalDigits value="8"></xsd:totalDigits>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="IN_OUT_IND">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="I"/>
<xsd:enumeration value="O"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ITEM_COUNT">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:totalDigits value="4"></xsd:totalDigits>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="TOTAL_AMT">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:totalDigits value="16"></xsd:totalDigits>
<xsd:fractionDigits value="2"></xsd:fractionDigits>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ACCUM_ID" nillable="false">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="20"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="APPLICATION_NAME" nillable="false">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="20"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BANK_ID" nillable="false">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:totalDigits value="4"></xsd:totalDigits>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BDAY_ID" nillable="false">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:totalDigits value="8"></xsd:totalDigits>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DEBIT_COUNT">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:totalDigits value="4"></xsd:totalDigits>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DEBIT_AMOUNT">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:totalDigits value="16"></xsd:totalDigits>
<xsd:fractionDigits value="2"></xsd:fractionDigits>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CREDIT_COUNT">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:totalDigits value="4"></xsd:totalDigits>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CREDIT_AMOUNT">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:totalDigits value="16"></xsd:totalDigits>
<xsd:fractionDigits value="2"></xsd:fractionDigits>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:schema>
Sample payloads for the XML messages sent to Settlement by a third party
This sample nonIpd payload is generated from the schema for the XML
message.
<NonIpd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
<BANK_ID>6</BANK_ID>
<BDAY_ID>123</BDAY_ID>
<ACCUM_ID>OffsettingDB</ACCUM_ID>
<APPLICATION_NAME>TransitSends</APPLICATION_NAME>
<ENTRY_TYPE>D</ENTRY_TYPE>
<ENTRY_DEPOSIT_ID>15</ENTRY_DEPOSIT_ID>
<IN_OUT_IND>0</IN_OUT_IND>
<ITEM_COUNT>7</ITEM_COUNT>
<TOTAL_AMT>12345</TOTAL_AMT>
</NonIpd>
This sample nonFtm payload is generated from the schema for the XML
message.
<NonFtm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
<BANK_ID>1</BANK_ID>
<BDAY_ID>12</BDAY_ID>
<ACCUM_ID>DefaultDB</ACCUM_ID>
<APPLICATION_NAME>APPLICATION </APPLICATION_NAME>
<ENTRY_TYPE>U</ENTRY_TYPE>
<ENTRY_DEPOSIT_ID>1015</ENTRY_DEPOSIT_ID>
<IN_OUT_IND>I</IN_OUT_IND>
<DEBIT_COUNT>2</DEBIT_COUNT>
<DEBIT_AMOUNT>100</DEBIT_AMOUNT>
<CREDIT_COUNT>3</CREDIT_COUNT>
<CREDIT_AMOUNT>100</CREDIT_AMOUNT>
</NonFtm>
Sample XML messages sent to Settlement by a third party
This example includes the message header with its message description and message type
elements.
<?xml version="1.0" encoding="UTF-8"?>
<ibmPaymentsDirectorBridge>
<header>
<msgDesc>Service_Request</msgDesc>
<msgType>nonIPD</msgType>
<version>1.0.0</version>
<messageTime>2016-03-17T18:02: 28.509-05:00</messageTime>
<sourceId>IBM Third Party App</sourceId>
<destinationId>Settlement</destinationId>
<unitOfWork type="PRESENTMENT_ID" track="true">6530</unitOfWork>
<responseRequired>false</responseRequired>
</header>
<payload>
<NonIpd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
<BANK_ID>1</BANK_ID>
<BDAY_ID>131</BDAY_ID>
<ACCUM_ID>OffsettingDB</ACCUM_ID>
<APPLICATION_NAME>TransitSends</APPLICATION_NAME>
<ENTRY_TYPE>D</ENTRY_TYPE>
<ENTRY_DEPOSIT_ID>6530</ENTRY_DEPOSIT_ID>
<IN_OUT_IND>I</IN_OUT_IND>
<ITEM_COUNT>1</ITEM_COUNT>
<TOTAL_AMT>12000</TOTAL_AMT>
</NonIpd>
</payload>
</ibmPaymentsDirectorBridge>
This example shows how multiple nonIpd and nonFtm instances can be fed into Settlement at the
same time. Only one type of payload (nonIpd or nonFtm) can be fed in a single message. If any instance in the
message contains errors, the entire message is
rejected.
<?xml version="1.0" encoding="UTF-8"?>
<ibmPaymentsDirectorBridge>
<header>
<msgDesc>Service_Request</msgDesc>
<msgType>nonIPD</msgType>
<version>1.0.0</version>
<messageTime>2016-03-17T18:02: 28.509-05:00</messageTime>
<sourceId>IBM Third Party App</sourceId>
<destinationId>Settlement</destinationId>
<unitOfWork type="PRESENTMENT_ID" track="true">6530</unitOfWork>
<responseRequired>false</responseRequired>
</header>
<payload>
<NonFtm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
<BANK_ID>1</BANK_ID>
<BDAY_ID>12</BDAY_ID>
<ACCUM_ID>DefaultDB</ACCUM_ID>
<APPLICATION_NAME>APPLICATION </APPLICATION_NAME>
<ENTRY_TYPE>U</ENTRY_TYPE>
<ENTRY_DEPOSIT_ID>1015</ENTRY_DEPOSIT_ID>
<IN_OUT_IND>I</IN_OUT_IND>
<DEBIT_COUNT>2</DEBIT_COUNT>
<DEBIT_AMOUNT>100</DEBIT_AMOUNT>
<CREDIT_COUNT>3</CREDIT_COUNT>
<CREDIT_AMOUNT>100</CREDIT_AMOUNT>
</NonFtm>
<NonFtm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ThirdPartyFeed.xsd">
<BANK_ID>1</BANK_ID>
<BDAY_ID>12</BDAY_ID>
<ACCUM_ID>DefaultDB</ACCUM_ID>
<APPLICATION_NAME>APPLICATION </APPLICATION_NAME>
<ENTRY_TYPE>U</ENTRY_TYPE>
<ENTRY_DEPOSIT_ID>1015</ENTRY_DEPOSIT_ID>
<IN_OUT_IND>I</IN_OUT_IND>
<DEBIT_COUNT>2</DEBIT_COUNT>
<DEBIT_AMOUNT>100</DEBIT_AMOUNT>
<CREDIT_COUNT>3</CREDIT_COUNT>
<CREDIT_AMOUNT>100</CREDIT_AMOUNT>
</NonFtm>
</payload>
</ibmPaymentsDirectorBridge>