Transactions
Understand our transaction model and how to integrate with it
Summary
Mesh utilises a unified transaction model that handles both monetary and non-monetary transactions.
This model serves as the foundation for all customer transactions, ranging from financial payments to administrative events like card activations and location alerts.
Guide to usage
What’s covered at this level
We model the core fields relevant to all monetary or non-monetary transactions, including:
- User-set identifiers for transaction and customer
- Timestamp for when the transaction occurred
- Custom fields
- Indicator on monetary/non-monetary
- Customer data if a customer needs to be updated or created
- Regulatory reporting details
Handling the transaction customer, including inline customer update and creation
Transactions need to be attached to a customer record. For the fastest evaluation of transactions, users should attach the transaction to a pre-existing customer. However, we also offer the ability for the user to update or create a customer at the time of transaction processing.
In summary there are three options:
- Use an existing customer as-is
- Use an existing customer and update some details
- Use a new customer
In detail:
Customer status | Customer object provided? | System action |
|---|---|---|
Existing Customer
Supplied | No | Use existing Retrieves the most recent version of the customer details and uses them to evaluate the transaction. |
Existing Customer Supplied | Yes | Update and evaluate Updates the existing customer record with the new details and uses the updated data for evaluation. |
New Customer Supplied | Yes (required) | Create and evaluate Creates a new customer record and uses this data to evaluate the transaction. |
Custom fields
Custom fields are available at the transaction level. There is not a limit in the number supplied. Each custom field has:
- A user-set key
- A value, one of:
- string
- decimal
Recording time
occurred_at is made up of a timestamp and optional offset from UTC.
If an offset is provided, we use it to convert the timestamp to the UTC timezone.
If an offset is not provided, we keep the timestamp as-is and set the timezone as UTC.
Fields
To view the fields and full details, visit the API docs for Create and process a transaction and explore the transaction object.
Updated 13 days ago
Visit Monetary transactions to understand the next level of the transactions model.