create_disbursements
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
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
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
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.
disbursement_amount - valid non zero number
the total number of disbursements should not exceed the number specified in the envelope
the total_disbursement_amount should not exceed the number specified in the envelope
Last updated