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

https://github.com/GovStackWorkingGroup/bb-payments

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” https://govstack.gitbook.io/bb-payments/8-data-structures

Covered service API for MVP is described in chapter 8.2.2 https://govstack.gitbook.io/bb-payments/9-service-apis

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

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