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 NameScopePurpose
session.amount / session.currencySessionThe 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_currencySessionThe total processed amount across all approved transactions within the entire cashier session (in base currency).
transaction.amount / transaction.currencyTransactionVALUE 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_currencyTransactionShows what the customer sees on their bank receipt or SMS. The currency here may differ if converted.

Key Points for Final Status:

  • The transaction.amount may change in the final notification, reflecting what was received from the PSP.
  • The final transaction.amount will always correspond to transaction.processed_amount, calculated using the transaction.conversion_rate (if currencies differ).
  • For withdrawals processed in a different currency, you must treat transaction.currency as the base for payout processing.

2. Currency Conversion

Currency conversion occurs if the processing currency differs from the submitted currency.

ScenarioDescription
Customer SelectionThe cashier interface offers multiple currencies based on configuration, and the customer selects an alternative.
PSP ConfigurationThe 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.

ScenarioFee HandlingFee (Minor Units)Amount Credited/Debited (transaction.amount)Amount Charged/Received (transaction.processed_amount)
Deposit – Fee IncludedFee subtracted from amount70$9.30 (930) (Credited to customer)$10.00 (1000) (Charged to customer)
Deposit – Fee AddedFee added on top70$10.00 (1000) (Credited to customer)$10.70 (1070) (Charged to customer)
Withdrawal – Fee IncludedFee subtracted from payout70$10.00 (1000) (Debited from customer)$9.30 (930) (Sent to customer)
Withdrawal – Fee AddedFee added to debit total70$10.70 (1070) (Debited from customer)$10.00 (1000) (Sent to customer)