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
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