Understanding Amounts
This section describes how amounts are handled throughout a transaction, covering essential aspects like fees, currency conversion, and the final values used for crediting or debiting the customer's balance.
IMPORTANT: Transaction and session amounts may change during processing, particularly in approved deposits (e.g., due to bank wire or crypto payments). Always refer to the specific fields outlined below for accurate reconciliation.
1. Notification Amounts: Fields for Reconciliation
Transaction status notifications contain multiple amount fields. Understanding the purpose of each is critical for correctly updating the customer’s balance.
| Field Name | Scope | Purpose |
|---|---|---|
session.amount / session.currency | Session | The original amount submitted in the cashier login request or by the customer during a withdrawal. Always in the base currency. |
session.processed_amount / session.processed_currency | Session | The total processed amount across all approved transactions within the entire cashier session (in base currency). |
transaction.amount / transaction.currency | Transaction | VALUE TO USE: Reflects the final amount confirmed by the PSP. This is the value you should use to credit or debit the customer’s balance. |
transaction.processed_amount / transaction.processed_currency | Transaction | Shows what the customer sees on their bank receipt or SMS. The currency here may differ if converted. |
Key Points for Final Status:
- The
transaction.amountmay change in the final notification, reflecting what was received from the PSP. - The final
transaction.amountwill always correspond totransaction.processed_amount, calculated using thetransaction.conversion_rate(if currencies differ). - For withdrawals processed in a different currency, you must treat
transaction.currencyas the base for payout processing.
2. Currency Conversion
Currency conversion occurs if the processing currency differs from the submitted currency.
| Scenario | Description |
|---|---|
| Customer Selection | The cashier interface offers multiple currencies based on configuration, and the customer selects an alternative. |
| PSP Configuration | The PSP itself processes the transaction in a different currency based on its configuration or the merchant account settings. |
Note: Currency conversion at the Praxis side is never applied to refunds or to transactions processed via Direct API, unless the PSP itself performs the conversion.
3. Fees: Calculation and Reporting
If transaction fees are applied, they affect the final transaction.amount and transaction.processed_amount differently based on whether they are included or added.
| Scenario | Fee Handling | Fee (Minor Units) | Amount Credited/Debited (transaction.amount) | Amount Charged/Received (transaction.processed_amount) |
|---|---|---|---|---|
| Deposit – Fee Included | Fee subtracted from amount | 70 | $9.30 (930) (Credited to customer) | $10.00 (1000) (Charged to customer) |
| Deposit – Fee Added | Fee added on top | 70 | $10.00 (1000) (Credited to customer) | $10.70 (1070) (Charged to customer) |
| Withdrawal – Fee Included | Fee subtracted from payout | 70 | $10.00 (1000) (Debited from customer) | $9.30 (930) (Sent to customer) |
| Withdrawal – Fee Added | Fee added to debit total | 70 | $10.70 (1070) (Debited from customer) | $10.00 (1000) (Sent to customer) |
Updated about 1 month ago