You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fineract.apache.org by "Ralph Hopman (Jira)" <ji...@apache.org> on 2026/09/15 08:45:00 UTC

[jira] [Created] (FINERACT-2834) Expose the originating client charge ID on client payment transactions

Ralph Hopman created FINERACT-2834:
--------------------------------------

             Summary: Expose the originating client charge ID on client payment transactions
                 Key: FINERACT-2834
                 URL: https://issues.apache.org/jira/browse/FINERACT-2834
             Project: Apache Fineract
          Issue Type: Improvement
          Components: Charges
            Reporter: Ralph Hopman
            Assignee: Ralph Hopman


I would like the client transaction API to return the originating client charge ID for charge-payment transactions, so that I can associate each payment transaction with the exact client charge it pays without relying on charge names, amounts, or other ambiguous attributes.
h3. Acceptance Criteria
 * When a client charge is paid, the resulting client transaction response includes a field named {{{}clientChargeId{}}}.
 * The value of {{clientChargeId}} equals the ID of the client charge associated with the payment transaction.
 * The field is populated from the existing {{m_client_charge_paid_by.client_charge_id}} relationship.
 * The field is available when retrieving an individual client transaction through the public client transaction API.
 * Transactions that are not associated with a client charge may return {{clientChargeId}} as null or omit it according to the existing serialization policy.
 * Existing client transaction fields and API behavior remain unchanged.
 * Existing client transaction retrieval, reversal, and external-ID operations continue to work.
 * An integration test creates and pays a client charge, retrieves the resulting transaction through the public API, and verifies that {{clientChargeId}} matches the originating charge.

h3. Technical Notes
 * Add {{clientChargeId}} to the client transaction response data object.
 * Map the already-selected {{clientChargeId}} SQL column in the client transaction row mapper.
 * Keep the regression coverage in the existing client transaction integration test.
 * No database schema migration is required because the relationship and SQL selection already exist.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)