Skip to main content
Click “Copy Page” to copy this use case as markdown.

Problem

When users open their banking or fintech app and scroll through recent transactions, the best they typically see is a cleaned-up merchant name (sometimes) and a dollar amount. A $36.58 charge at DoorDash tells them where they spent money, but not what they actually ordered. This is the L3 transaction data gap. Without item-level detail, users cannot verify that a charge is legitimate, recall what they purchased, or feel confident that their account activity is accurate. This gap is especially problematic for fraud detection. A user who sees an unfamiliar charge amount at a merchant they do use has no way to confirm whether the purchase was theirs without leaving your app and digging through email receipts or merchant order histories.

Solution

Use SKU-level transaction data from Knot’s Sync Transactions endpoint to enrich transactions in your app with the individual items purchased, including product names, descriptions, images, quantities, and prices. Further data such as the order status and delivery information is also available. Surface this data on the dedicated transaction detail screen your app already has for each transactions, so users can see exactly what was in each order.
Transaction detail screen showing a $104.78 Target order with itemized products including milk, chicken, paper towels, and a coffee maker
This turns every transaction from a generic line item into a rich, verifiable record, giving users confidence in their purchase history and making your app the first place they check when something looks off.

Flow

Implementation

1

Sync transaction data

When a user switches their card at a merchant or links their merchant account, Knot begins collecting transaction data for that account. Listen for the NEW_TRANSACTIONS_AVAILABLE webhook event, then call Sync Transactions to pull the user’s transactions.
2

Match & store transactions

Persist the SKU-level transaction data so it can be retrieved when a user views a transaction in your app. Match each SKU-level transaction from Knot to the corresponding card transaction in your system using this guide to determine exact fields to match on.
3

Display enriched data on the transaction detail screen

When a user taps on a transaction in your app and the user is navigated to the transaction detail screen, display the fully-enriched set of transaction information, including the products, order status, and delivery information.Only display transactions with order_status of COMPLETED, DELIVERED, PICKED_UP, SHIPPED, BILLED, or ORDERED. Filter out CANCELLED, REFUNDED, and FAILED.Additional fields to display:If Knot SKU-level txn information is NOT available:There are a few scenarios where your system may not have enriched, SKU-level transaction data from Knot for a corresponding card transaction in your system. Below are each scenario outlined with their solution if applicable:This makes the enriched experience feel like a natural upgrade rather than an inconsistent feature.

Expansion Path

  • Handle updated transactions - Transactions can change after they are first synced, for example when an order ships, a refund is issued, or items are modified. Listen for the UPDATED_TRANSACTIONS_AVAILABLE webhook and re-sync the affected transactions to keep your stored data current.
  • Fraud verification flow - When a user disputes or flags a transaction, show the itemized breakdown as a first step before escalating. If the user recognizes the items, they can dismiss the dispute immediately, reducing false dispute rates and support volume.