• Work in progress
  • Payments

    GovStack resources

    GovStack resources

    GovStack requirements for BB

    https://govstack.gitbook.io/specification/architecture-and-nonfunctional-requirements/introduction#2.3-building-blocks

    GovStack requirements for payments BB

    https://govstack.gitbook.io/bb-payments/

    Github link to BB-Payments

    GitHub - GovStackWorkingGroup/bb-payments: The Payments Building Block for GovStack

    MVP will cover only Government to people (G2P) payment type with the minimum required dataset. G2P payment principles are available here: https://govstack.gitbook.io/bb-payments/5-key-digital-functionalities

    We will concentrate on one payment method: UC-P-USCT-001: Payment - Unconditional Social Cash Transfer (bank payments)

    Initial plan for involving actual BB candidates:

    Normal course of payment in MVP

    Normal course is a description on what happens if the event is triggered and pre-conditions are met.

    MVP normal course

    MVP normal course

    • Payments building block receives a message from IM about payment order

      • Has payment due been reached?

    • Extract the beneficiary’s bank account details and payment amount from the message

      • Are the beneficiary's bank account details available in IFMS? (IFMS will be mocked)

    • Trigger the payment to the beneficiary

      • Send message about payment completion to the IM (messaging will be mocked)

        • Message will be received in SRIS (OpenIMIS)

        • Message received on beneficiary mobile phone (mocked)

    Preconditions:

    • Information mediator IM is installed to the sandbox and enabled

    • The mocked database acting as the bank IFMS ( Integrated Financial Management Information System) is created

    • The beneficiary has registered to the the SRIS (Social Registry Information System),

      • beneficiary banc account number is added

    • The beneficiary has been verified and enrolled into a program in BOMS

      • benefit amount is calculated

      • payment due date for the payment is filled

    The payment BB assumes, that all identification, registration and enrollment is done by external systems and are compliant.

    If Mifos product will be used as Payment BB we need to predefine data for:

    • client is created (Create payer Client)

    • product is created (saving Product)

    • client account is created (savings accounts)

    Trigger

    Payment is triggered, when the message from IM is extracted and payment due date is reached

    Data input and output

    Below is described the minimum necessary dataset for USCT MVP.

    NB! All additional backround data that is required for minimum data exchange between BB (RequestID, ResponseID, SourceBBID,….etc.) should be included to the input and output (marked as ……)

    Data input

    Data output

    Sandbox API specification

    Data input

    Data output

    Sandbox API specification

    • Payment due date

    • Citizen ID (Beneficiary data)

    • Payment amount

    • Payment currency

    • Payment account details

    • ……

     

     

    • Beneficiary data (PayeeFunctionalID)

      • ID (alphanumeric code e.g. EE123456)

      • Beneficiary account number (alphanumeric)

      • Beneficiary mobile no? (mocked)

    • Benefit amount for beneficiary (decimal number)

    • Currency (string)

    • Description of the payment (string)

    • …….

    Covered data structure is in chapter 7.3.3 API name: “Incoming Government Payment” 7 Data Structures | bb-payments

    Covered service API for MVP is described in chapter 8.2.2 8 Service APIs | bb-payments

    • Update Beneficiary Details API - to update beneficiary's data

    • Pre Payment Validation API - to make the transaction to beneficiary