5 minute read
June 1, 2023

Using the Fraud Feedback API

The rule sets that you have defined in Real-Time Decisioning may generate false positives where genuine transactions were incorrectly declined. You may also have false negatives where fraudulent transactions were incorrectly authorized. The /fraud endpoint allows you to inform the Real-Time Decisioning of both false positives and false negatives to help refine the accuracy of your RiskControl rule sets and prevent them from occurring for future transactions.

For false positives:

  • Report the false positive.

  • Override the rule sets that declined the transaction so the cardholder can successfully complete a second transaction.

For false negatives, use the /fraud endpoint to report the false negative. For details on the /fraud endpoint, see Fraud Feedback API Reference.

Handling false positives

Use rules to receive the /fraud endpoint call reporting false positives and to suppress rules for the cardholder so they can successfully complete a second transaction attempt. The following shows an example that uses state to store when the last false positive occurred, a rule to suppress alerts, and the risk tag if the last false positive was within the past two days.


Is this helpful?


Overriding a declined transaction

The following shows the sequence for temporarily overriding a false positive using the /fraud endpoint:

  • The cardholder uses a card for purchase, initiating an authorization transaction.

  • The network sends the transaction to Marqeta. A TRANSACTION_RT event is generated, triggering a rule that results in a risk-no-review (decline) state.

  • Marqeta informs your system that the transaction was declined because a Real-Time Decisioning rule was triggered.

  • Your team notifies the cardholder that their transaction has been tagged as risky and has been declined.

  • The cardholder notifies you that they meant to make the purchase.

  • Your team uses the /fraud endpoint to notify Marqeta of the false positive. For example:


    Is this helpful?

  • Real-time Decisioning updates state to allow the next transaction to succeed, updating the state of CARD_FRAUD to false.

  • The next transaction coming in from the same user and card will then be allowed through Real-Time Decisioning.

  • Marqeta notifies you that the false positive state has been updated to accept the next transaction. Your team tells the cardholder they can try again.

  • The cardholder uses the card at the POS again within 60 minutes of the initial CARD_FRAUD event, the TRANSACTION_RT is evaluated as no-risk, and the transaction succeeds.

Subscribe to our developer newsletter