TransactionPostedEvent (v1.0.0)
Event emitted when a financial transaction is posted to a merchant account
TransactionPostedEvent
Published when a financial transaction is successfully posted to a merchant account using double-entry bookkeeping principles.
Schema
{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "title": "TransactionPostedEvent", "description": "Event emitted when a financial transaction is posted to a merchant account", "properties": { "accountId": { "type": "object", "description": "Account identifier", "properties": { "value": { "type": "string", "format": "uuid", "description": "The unique account UUID" } }, "required": ["value"] }, "transactionId": { "type": "object", "description": "Transaction identifier", "properties": { "value": { "type": "string", "format": "uuid", "description": "The unique transaction UUID" } }, "required": ["value"] }, "transactionType": { "type": "string", "enum": ["CHARGE", "REFUND", "FEE_ADDED", "CHARGEBACK", "TOPUP", "REMITTANCE", "ADJUSTMENT_CREDIT", "ADJUSTMENT_DEBIT"], "description": "Type of transaction posted", "example": "CHARGE" }, "amount": { "type": "integer", "description": "Transaction amount (in smallest currency unit, e.g., 10050 = 100.50)", "example": 10050 }, "currency": { "type": "string", "pattern": "^[A-Z]{3}$", "description": "Currency of the transaction (ISO 4217)", "example": "EUR" }, "reference": { "type": "string", "description": "External reference for the transaction", "example": "order-12345" }, "description": { "type": "string", "description": "Description of the transaction", "example": "Payment for order #12345" }, "postings": { "type": "array", "description": "List of account postings made", "items": { "type": "object", "properties": { "accountDefinitionId": { "type": "integer", "description": "Account definition identifier" }, "accountDefinitionName": { "type": "string", "description": "Account definition name" }, "amount": { "type": "integer", "description": "Posted amount (in smallest currency unit, e.g., 10050 = 100.50)" }, "sign": { "type": "string", "enum": ["POSITIVE", "NEGATIVE"], "description": "Posting sign" } }, "required": ["accountDefinitionId", "accountDefinitionName", "amount", "sign"] } }, "timestamp": { "type": "string", "format": "date-time", "description": "Timestamp when the transaction was posted" } }, "required": ["accountId", "transactionId", "transactionType", "amount", "currency", "postings", "timestamp"], "additionalProperties": false}Purpose
This event indicates that a financial transaction has been processed and recorded in the merchant’s account ledger, updating relevant account balances according to the configured posting rules. It represents the completion of the transaction booking process.
Key Attributes
- Account ID: Merchant account aggregate identifier where the transaction was posted
- Transaction ID: Unique identifier for the posted transaction
- Transaction Type: Type of transaction (CHARGE, REFUND, FEE_ADDED, REMITTANCE, etc.)
- Amount: Transaction amount that was posted
- Currency: Currency of the transaction
- Value Date: Date when the transaction takes effect
- Posting Timestamp: When the transaction was posted
- Account Postings: List of account balance changes made by this transaction
- Reference Information: Transaction reference and provider details
Business Impact
- Balance Updates: Account balances are updated according to posting rules
- Financial Recording: Transaction is permanently recorded in the ledger
- Audit Trail: Creates immutable record for financial auditing
- Compliance: Maintains double-entry bookkeeping integrity
Integration Points
This event is consumed by:
- Balance Views: To update account balance displays and reporting
- Financial Reporting: For generating financial statements and reports
- Reconciliation Services: For matching transactions with external sources
- Audit Systems: For maintaining compliance and audit trails
- Analytics: For transaction volume and financial performance analysis
Transaction Types Supported
The system processes various transaction types:
Payment Operations
- CHARGE: Customer payment transactions
- REFUND: Money returned to customers
- FEE_ADDED: Additional fees applied to transactions
Settlement Operations
- REMITTANCE: Settlement payments to merchants
- RESERVE_REMITTANCE: Holding funds before settlement
- REVERSE_REMITTANCE: Reversal of settlement payments
Account Management
- TOPUP: Manual account balance increases
- ADJUSTMENT_CREDIT: Positive balance adjustments
- ADJUSTMENT_DEBIT: Negative balance adjustments
Operational Fees
- SCHEME_FEE: Payment network processing fees
- CAPS_REMITTANCE: Capacity-based settlements
Double-Entry Bookkeeping
Each transaction posting follows double-entry principles:
- Balanced Postings: Total debits equal total credits
- Account Categories: Affects appropriate asset, liability, or revenue accounts
- Posting Rules: Applied according to transaction definition configuration
- Balance Integrity: Maintains accounting equation balance
Automatic Processing
Transaction posting may trigger additional automatic processes:
- Reservation Release: Automatic release of related reservations
- Balance Notifications: Trigger balance threshold notifications
- Refund Authorization: Enable automatic refund processing if sufficient balance
- Remittance Scheduling: Update remittance order dates for applicable transactions