send-service

command
v0.0.0-...-1305305 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2021 License: Apache-2.0 Imports: 24 Imported by: 0

README

Send Service

Participant service for sending a transaction request (ISO20022 standard) to other participant.

ISO20022 payment messages

Payments Clearing and Settlement (pacs)
Please find more information about the ISO20022 payment messages here.

ISO4217 currency code (alpha)

The currency code used in settlement amount and transaction fee will follow the ISO4217 standard.

API

/transactions/send

For OFI to send a transaction request which include transaction details and a encoded base 64 ISO20022 pacs008 message

payload
{
	"message_type": "iso20022:pacs.008.001.07",
	"message": "encoded pacs008 XML message"
}
pacs008 example

/transactions/receive

For RFI to send a encoded base 64 ibwf001 federation and compliance result message back to the OFI.

payload
{
	"message_type": "iso20022:ibwf.001.001.01",
	"message": "encoded ibwf001 XML message"
}
ibwf001 example
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:ibwf.001.001.01">
    <FedCompRes>
        <GrpHdr>
            <MsgId>USDDO26012019USDVWXYZ77700000000001</MsgId>
            <CreDtTm>2015-09-28T16:00:00</CreDtTm>
            <NbOfTxs>1</NbOfTxs>
            <SttlmInf>
                <SttlmMtd>{WWDO WWDA XLM}</SttlmMtd>
                <SttlmAcct>
                    <Id>
                        <Othr>
                            <Id>{RFI id}</Id>
                        </Othr>
                    </Id>
                    <Nm>{issuing or name of operating account}</Nm>
                </SttlmAcct>
            </SttlmInf>
            <InstgAgt>
                <FinInstnId>
                    <BICFI>USDVWXYZ777</BICFI>
                    <Othr>
                        <Id>{RFI id}</Id>
                    </Othr>
                </FinInstnId>
            </InstgAgt>
            <InstdAgt>
                <FinInstnId>
                    <BICFI>TWDABCDE101</BICFI>
                    <Othr>
                        <Id>{OFI id}</Id>
                    </Othr>
                </FinInstnId>
            </InstdAgt>
        </GrpHdr>
        <FedRes>
            <AccId>{RFI public key}</AccId>
            <FedSts>ACTC</FedSts>
            <PmtId>
                <EndToEndId>TWDDO25012019TWDABCDE10100000000001</EndToEndId>
                <TxId>TWDDO25012019TWDABCDE10100000000001</TxId>
            </PmtId>
        </FedRes>
        <CmpRes>
            <InfSts>ACTC</InfSts>
            <TxnSts>ACTC</TxnSts>
            <PmtId>
                <EndToEndId>TWDDO25012019TWDABCDE10100000000001</EndToEndId>
                <TxId>TWDDO25012019TWDABCDE10100000000001</TxId>
            </PmtId>
        </CmpRes>
    </FedCompRes>
</Document>

Send Status Response

After sending a request to send service, OFI will receive a encoded base 64 ISO20022 pacs002 message.
Decode the pacs002 message, you will see the status under the tag "Rsn(reason)".

status type
Status Code Description
RJCT 1001 Can not parse the request body
RJCT 1002 Unable to validate the send request
RJCT 1003 Unable to set XML file for validation
RJCT 1004 Error validate the XML file
RJCT 1005 Error finding account address from participant registry
RJCT 1006 RFI was not whitelisted by OFI
RJCT 1007 OFI was not whitelisted by RFI
RJCT 1008 Unable to sign the payload
RJCT 1009 Error parsing xml message into Go structure or ProtoBuffer
RJCT 1010 Unable to send ProtoBuffer to Kafka broker
RJCT 1011 Error verifying OFI signature
RJCT 1012 Error verifying RFI signature
RJCT 1013 Unable to get IBM account from gas-service
RJCT 1014 Error signing the transaction envelope
RJCT 1015 Error sending transaction to Stellar network
RJCT 1016 Unable to communicate with RFI backend system
RJCT 1017 Can not use the same message ID as the undergoing or previous request
RJCT 1018 Please use the same settlement method as the payment request
RJCT 1019 Failed to get transaction related information from database
ACTC 1101 Payment request had been successfully sent to Kafka broker, waiting for the response form RFI
ACTC 1102 Payment response had been successfully sent to Kafka broker
RCVD 1103 Transaction successfully sent to Stellar network
RJCT 1201 RFI reject the payment request
response json
{
  "message_type": "pacs.002.001.09",
  "message": "encoded pacs002 XML message"
}
pacs002 example
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.09">
	<FIToFIPmtStsRpt>
		<GrpHdr>
			<MsgId>TWDDO25012019TWDABCDE10100000000002</MsgId>
			<CreDtTm>2019-01-26T00:58:51</CreDtTm>
			<InstgAgt>
				<FinInstnId>
					<BICFI>TWDABCDE101</BICFI>
				</FinInstnId>
			</InstgAgt>
			<InstdAgt>
				<FinInstnId>
					<BICFI>USDVWXYZ777</BICFI>
				</FinInstnId>
			</InstdAgt>
		</GrpHdr>
		<TxInfAndSts>
			<StsId>AB/8568</StsId>
			<OrgnlEndToEndId>TWDDO25012019TWDABCDE10100000000001</OrgnlEndToEndId>
			<OrgnlTxId>TWDDO25012019TWDABCDE10100000000001</OrgnlTxId>
			<TxSts>ACTC</TxSts>
			<StsRsnInf>
				<Rsn>
					<Cd>1006</Cd>
					<Prtry>Payment successfully sent to Kafka broker, waiting for RFI response</Prtry>
				</Rsn>
			</StsRsnInf>
		</TxInfAndSts>
	</FIToFIPmtStsRpt>
</Document>

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL