Improved transaction monitoring with multi-currency & merchant data

Lately, we've been spending some time to make transactions a first class citizen in Castle, and now we've shipped two updates to our APIs that allows sending more information about transactions, to better help you spot suspicious ones.

The first is adding thetransaction.base_amount field. If your app supports transacting in multiple currencies, we recommend using this new base amount field to send the USD normalized amount. This allows for creating more robust policies and rules, since you can e.g. define a "large amount" as transaction.base_amount > 500, regardless of which native currency was used.

The second is adding the transaction.merchant object. With this new field you can now specify merchant details like ID, Name, Category (MCC) and Country code to better identify high risk merchants. When passing a valid MCC code, Castle will automatically resolve the description text, unless you're passing it yourself. This data can be used to set up Policies for detecting suspicious patterns, like e.g.:

  • Geographic-based velocity checks: if transactions in various MCC codes occur in different countries within a short time frame
  • Multiple MCC codes within a short time frame: if a customer makes multiple purchases in various categories in rapid succession, it might indicate fraudulent activity.

You can read all the details about the improvements to the transactions in our docs or in the API reference