create_disbursements

API Attributes

Direction

Inward

Invoked by

PBMS

Mode

Synchronous

Tables

disbursement disbursement_batch_status

A disbursement represents a single disbursement transaction under a disbursement_envelope. A disbursement_envelope will contain many hundreds/thousands of disbursements. Each such disbursement will be denoted by a unique disbursement_id

Object design

disbursement

Attribute
Datatype

disbursement_envelope_id

The envelope under which this disbursement is being effected Non Unique Index

disbursement_id

Unique identifier for each disbursement transaction - Primary Key

beneficiary_id

The Beneficiary ID to whom this disbursement is being targeted

beneficiary_name

The name of the beneficiary as available in the PBMS / Social Registry records

disbursement_amount

The disbursement amount (in the currency specified in the envelope) for this cycle of the program

narrative

The text that will be available in the Account Statement of the beneficiary's account against this disbursement credit transaction

receipt_time_stamp

Time stamp of receipt of disbursement

cancellation_status

Enum NOT_CANCELLED CANCELLED

cancellation_time_stamp

Time stamp of receipt of cancellation request

disbursement_batch_status

Attribute
Datatype

disbursement_id

Unique identifier for each disbursement transaction - Primary Key

disbursement_envelope_id

The envelope under which this disbursement is being effected

shipment_to_bank_status

Enum PENDING PROCESSED

shipment_to_bank_time_stamp

Time stamp of shipment to Sponsor bank

reply_status_from_bank

Enum SUCCESS FAILURE

reply_from_bank_time_stamp

Time stamp of receipt of reply from Sponsor bank

reply_failure_error_code

Error code from the downstream G2P chain participants (Sponsor bank, Payment switch, Destination banks) in case of a FAILURE (reply_status_from_bank)

reply_failure_error_message

Error message describing the failure_error_code

reply_success_fsp_code

If the disbursement is a success, the fsp (the financial service provider / destination bank) code - where the account was credited

reply_success_fa

The full Financial Address (including account number, branch code / mobile number) where the disbursement was credited

mapper_resolved_fa

The FA resolved from ID-Account-Mapper

mapper_resolved_phone_number

The phone number resolved from ID-Account-Mapper

mapper_resolved_name

The name of the beneficiary resolved from ID-Account-Mapper

mapper_resolved_timestamp

The timestamp - when ID-Account was resolved

mapper_resolved_retries

Retry Count - for ID-Account-Mapper resolution

Business Logic

Results in persistence of 1 record each in the tables - disbursement and disbursement_batch_status.

Bulk Insert should be used to persist the disbursements

Transaction Control - should be ALL or NONE, i.e. either everything should be inserted or none should be inserted.

Validations & Exceptions

  1. Ideally, disbursements should arrive before disbursement_schedule_date. However, system will not check this condition. System will anyway process an envelope, only when all the disbursements have arrived.

  2. disbursement_amount - valid non zero number

  3. the total number of disbursements should not exceed the number specified in the envelope

  4. the total_disbursement_amount should not exceed the number specified in the envelope

Last updated

Logo

Copyright © 2024 OpenG2P. This work is licensed under Creative Commons Attribution International LicenseCC-BY-4.0 unless otherwise noted.

#712: Pramod's Jun 3 changes

Change request updated