5 minute read
November 16, 2022

Using the Fraud Feedback API

The rule sets that you have defined using AMDL may generate false positives where genuine transactions were incorrectly declined. You may also have false negatives where fraudulent transactions were incorrectly authorized. The /fraud_feedback 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, use AMDL and the /fraud_feedback endpoint to:

  • 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_feedback endpoint to report the false negative.

For details on the /fraud_feedback endpoint, see Fraud Feedback API Reference.

Handling false positives

Use AMDL rules to receive the /fraud_feedback API call reporting false positives and to suppress AMDL rules for the cardholder so they can successfully complete a second transaction attempt. The following shows an AMDL example that uses state to store when the last false positive occurred and 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_feedback 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_feedback 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.

Join our developer newsletter