tazama-lf/tms-service

tms-service - add exchange rate to pacs008/ pain001

Opened this issue · 0 comments

User Story

As a Tazama system operator,
I want to be able to create rules to using the exchange rate element in transaction messages
So that the system can be configured to detect multi-currency fraud

Acceptance Criteria

  1. Add the exchange rate element XchgRate to the pacs.008 messages stashed in the TransactionHistoryPacs008 collection in the transactionHistory database

https://www.iso20022.org/standardsrepository/type/FIToFICustomerCreditTransferV09 > https://www.iso20022.org/standardsrepository/type/CreditTransferTransaction43

  1. Add the exchange rate element XchgRate to the pain.001 messages stashed in the TransactionHistoryPain001 collection in the transactionHistory database

https://www.iso20022.org/standardsrepository/type/CustomerCreditTransferInitiationV12
https://www.iso20022.org/standardsrepository/type/PaymentInstruction44
https://www.iso20022.org/standardsrepository/type/CreditTransferTransaction61
https://www.iso20022.org/standardsrepository/type/ExchangeRate1

Message samples

Sample Request Body (ISO20022 Pacs008)

pacs.008.001.10 Message
{
  "FIToFICstmrCdtTrf": {
    "GrpHdr": {
      "MsgId": "24e80c9836f6437e8aa46cbb3fbdd5b1",
      "CreDtTm": "2024-05-27T13:57:33.890Z",
      "NbOfTxs": 1,
      "SttlmInf": {
        "SttlmMtd": "CLRG"
      }
    },
    "CdtTrfTxInf": {
      "PmtId": {
        "InstrId": "5ab4fc7355de4ef8a75b78b00a681ed2",
        "EndToEndId": "fe252acd9f1742d0ad9d74000ecc57d8"
      },
      "IntrBkSttlmAmt": {
        "Amt": {
          "Amt": 531.81,
          "Ccy": "XTS"
        }
      },
      "InstdAmt": {
        "Amt": {
          "Amt": 531.81,
          "Ccy": "XTS"
        }
      },
      "XchgRate": 1.0234,
      "ChrgBr": "DEBT",
      "ChrgsInf": {
        "Amt": {
          "Amt": 0,
          "Ccy": "XTS"
        },
        "Agt": {
          "FinInstnId": {
            "ClrSysMmbId": {
              "MmbId": "dfsp001"
            }
          }
        }
      },
      "InitgPty": {
        "Nm": "April Blake Grant",
        "Id": {
          "PrvtId": {
            "DtAndPlcOfBirth": {
              "BirthDt": "1968-02-01",
              "CityOfBirth": "Unknown",
              "CtryOfBirth": "ZZ"
            },
            "Othr": [
              {
                "Id": "+27730975224",
                "SchmeNm": {
                  "Prtry": "MSISDN"
                }
              }
            ]
          }
        },
        "CtctDtls": {
          "MobNb": "+27-730975224"
        }
      },
      "Dbtr": {
        "Nm": "April Blake Grant",
        "Id": {
          "PrvtId": {
            "DtAndPlcOfBirth": {
              "BirthDt": "1999-05-09",
              "CityOfBirth": "Unknown",
              "CtryOfBirth": "ZZ"
            },
            "Othr": [
              {
                "Id": "60409827ba274853a2ec2475c64566d5",
                "SchmeNm": {
                  "Prtry": "TAZAMA_EID"
                }
              }
            ]
          }
        },
        "CtctDtls": {
          "MobNb": "+27-730975224"
        }
      },
      "DbtrAcct": {
        "Id": {
          "Othr": [
            {
              "Id": "7473251533b34fe891fa8b0d1691d375",
              "SchmeNm": {
                "Prtry": "MSISDN"
              }
            }
          ]
        },
        "Nm": "April Grant"
      },
      "DbtrAgt": {
        "FinInstnId": {
          "ClrSysMmbId": {
            "MmbId": "dfsp001"
          }
        }
      },
      "CdtrAgt": {
        "FinInstnId": {
          "ClrSysMmbId": {
            "MmbId": "dfsp002"
          }
        }
      },
      "Cdtr": {
        "Nm": "Felicia Easton Quill",
        "Id": {
          "PrvtId": {
            "DtAndPlcOfBirth": {
              "BirthDt": "1935-05-08",
              "CityOfBirth": "Unknown",
              "CtryOfBirth": "ZZ"
            },
            "Othr": [
              {
                "Id": "1d495a2f710e436089677dcc789f279d",
                "SchmeNm": {
                  "Prtry": "TAZAMA_EID"
                }
              }
            ]
          }
        },
        "CtctDtls": {
          "MobNb": "+27-707650428"
        }
      },
      "CdtrAcct": {
        "Id": {
          "Othr": [
            {
              "Id": "f58d206a6ada4a34a372dfbd66b17c6f",
              "SchmeNm": {
                "Prtry": "MSISDN"
              }
            }
          ]
        },
        "Nm": "Felicia Quill"
      },
      "Purp": {
        "Cd": "MP2P"
      }
    },
    "RgltryRptg": {
      "Dtls": {
        "Tp": "BALANCE OF PAYMENTS",
        "Cd": "100"
      }
    },
    "RmtInf": {
      "Ustrd": "Generic payment description"
    },
    "SplmtryData": {
      "Envlp": {
        "Doc": {
          "Xprtn": "2021-11-30T10:38:56.000Z",
          "InitgPty": {
            "Glctn": {
              "Lat": "-3.1609",
              "Long": "38.3588"
            }
          }
        }
      }
    }
  }
}

Sample Request Body (ISO20022 Pain001)

Pain.001.001.11 Message
{
"CstmrCdtTrfInitn": {
  "GrpHdr": {
    "MsgId": "24988b914e3d4cf98a7659b2c45ce063258",
    "CreDtTm": "2021-12-03T12:40:14.000Z",
    "NbOfTxs": 1,
    "InitgPty": {
      "Nm": "April Blake Grant",
      "Id": {
        "PrvtId": {
          "DtAndPlcOfBirth": {
            "BirthDt": "1968-02-01",
            "CityOfBirth": "Unknown",
            "CtryOfBirth": "ZZ"
          },
          "Othr": [
            {
              "Id": "+27730975224",
              "SchmeNm": {
                "Prtry": "MSISDN"
              }
            }
          ]
        }
      },
      "CtctDtls": {
        "MobNb": "+27-730975224"
      }
    }
  },
  "PmtInf": {
    "PmtInfId": "5ab4fc7355de4ef8a75b78b00a681ed2569",
    "PmtMtd": "TRA",
    "ReqdAdvcTp": {
      "DbtAdvc": {
        "Cd": "ADWD",
        "Prtry": "Advice with transaction details"
      }
    },
    "ReqdExctnDt": {
      "Dt": "2021-12-03",
      "DtTm": "2021-12-03T12:40:14.000Z"
    },
    "Dbtr": {
      "Nm": "April Blake Grant",
      "Id": {
        "PrvtId": {
          "DtAndPlcOfBirth": {
            "BirthDt": "1968-02-01",
            "CityOfBirth": "Unknown",
            "CtryOfBirth": "ZZ"
          },
          "Othr": [
            {
              "Id": "+27730975224",
              "SchmeNm": {
                "Prtry": "MSISDN"
              }
            }
          ]
        }
      },
      "CtctDtls": {
        "MobNb": "+27-730975224"
      }
    },
    "DbtrAcct": {
      "Id": {
        "Othr": [
          {
            "Id": "+27730975224",
            "SchmeNm": {
              "Prtry": "MSISDN"
            }
          }
        ]
      },
      "Nm": "April Grant"
    },
    "DbtrAgt": {
      "FinInstnId": {
        "ClrSysMmbId": {
          "MmbId": "dfsp001"
        }
      }
    },
    "CdtTrfTxInf": {
      "PmtId": {
        "EndToEndId": "2c516801007642dfb892944dde1cf845"
      },
      "PmtTpInf": {
        "CtgyPurp": {
          "Prtry": "TRANSFER BLANK"
        }
      },
      "Amt": {
        "InstdAmt": {
          "Amt": {
            "Amt": 31020.89,
            "Ccy": "USD"
          }
        },
        "EqvtAmt": {
          "Amt": {
            "Amt": 31020.89,
            "Ccy": "USD"
          },
          "CcyOfTrf": "USD"
        }
      },
     "XchgRate": 1.00,
      "ChrgBr": "DEBT",
      "CdtrAgt": {
        "FinInstnId": {
          "ClrSysMmbId": {
            "MmbId": "dfsp002"
          }
        }
      },
      "Cdtr": {
        "Nm": "Felicia Easton Quill",
        "Id": {
          "PrvtId": {
            "DtAndPlcOfBirth": {
              "BirthDt": "1935-05-08",
              "CityOfBirth": "Unknown",
              "CtryOfBirth": "ZZ"
            },
            "Othr": [
              {
                "Id": "+27707650428",
                "SchmeNm": {
                  "Prtry": "MSISDN"
                }
              }
            ]
          }
        },
        "CtctDtls": {
          "MobNb": "+27-707650428"
        }
      },
      "CdtrAcct": {
        "Id": {
          "Othr": [
            {
              "Id": "+27707650428",
              "SchmeNm": {
                "Prtry": "MSISDN"
              }
            }
          ]
        },
        "Nm": "Felicia Quill"
      },
      "Purp": {
        "Cd": "MP2P"
      },
      "RgltryRptg": {
        "Dtls": {
          "Tp": "BALANCE OF PAYMENTS",
          "Cd": "100"
        }
      },
      "RmtInf": {
        "Ustrd": "Payment of USD 30713.75 from April to Felicia"
      },
      "SplmtryData": {
        "Envlp": {
          "Doc": {
            "Dbtr": {
              "FrstNm": "April",
              "MddlNm": "Blake",
              "LastNm": "Grant",
              "MrchntClssfctnCd": "BLANK"
            },
            "Cdtr": {
              "FrstNm": "Felicia",
              "MddlNm": "Easton",
              "LastNm": "Quill",
              "MrchntClssfctnCd": "BLANK"
            },
            "DbtrFinSvcsPrvdrFees": {
              "Ccy": "USD",
              "Amt": 307.14
            },
            "Xprtn": "2021-11-30T10:38:56.000Z"
          }
        }
      }
    }
  },
  "SplmtryData": {
    "Envlp": {
      "Doc": {
        "InitgPty": {
          "InitrTp": "CONSUMER",
          "Glctn": {
            "Lat": "-3.1609",
            "Long": "38.3588"
          }
        }
      }
    }
  }
}
}