ISO20022 Card Transaction Authorization (caaa.001)

This dataset provides comprehensive, real-time records of card transaction authorization requests, including detailed card, merchant, and transaction attributes, fraud scoring, and limit checks. It is ideal for payment analytics, fraud detection, regulatory compliance, and operational monitoring in financial services. The schema supports granular analysis of transaction flows, risk assessment, and merchant performance.

  • last updated 29 Oct 2025
  • by GoMask
The brief that made it

Real-time fraud detection and risk scoring for card transactions

Sample rows

preview · 8 of 800 rows · all 30 columns
authorization_idstringauthorization_statusstringfraud_scorefloatlimit_check_passedbooleandecline_reason_codestringtransaction_datetimedatetimecard_number_maskedstringcard_typestringcard_issuerstringcardholder_idstringtransaction_amountfloattransaction_currencystringmerchant_idstringmerchant_namestringmerchant_category_codestringpos_entry_modestringtransaction_channelstringterminal_idstringtransaction_countrystringfraud_flagbooleancardholder_countrystringcardholder_postal_codestringmerchant_citystringmerchant_statestringmerchant_postal_codestringmerchant_countrystringresponse_datetimedatetimeissuer_response_codestringadditional_authentication_requiredbooleanremarksstring
AUTH-001-ABCDapproved0.13trueblank2024-06-14T08:32:10Z********1234creditWells FargoCH101001237.45USDM-682371Target5411chipPOSTERM101USfalseUS90210Los AngelesCA90015US2024-06-14T08:32:13Z00falseblank
LONGID-002-XYZFdeclined0.83false052024-06-14T11:42:05Z************8765virtualPaypalCH1020011350EURM-294018Amazon EU5311onlinee-commerceblankDEtrueDE10115Berlinblank10117DE2024-06-14T11:42:10Z05trueDeclined due to suspected fraud, OTP required
RANDOM-003-PQWEapproved0.09trueblank2024-06-14T19:24:46Z*********4521debitHSBCCH10300162.77GBPM-843927Tesco5812chipPOSTERM102GBfalseGBEC1A1BBLondonblankW1D7AFGB2024-06-14T19:24:48Z00falseblank
SEQ-004-ANMNpending0.61falseblank2024-06-13T13:19:31Z************9842prepaidWiseCH1040015120USDM-450921eBay US5399onlinee-commerceblankUStrueUS10013New YorkNY10001US2024-06-13T13:19:36Z01true3DSecure required, fraud review
AUTH-005-QWERapproved0.11trueblank2024-06-13T07:55:10Z**********3389creditChaseCH10500179.99USDM-370182Walmart5311contactlessPOSTERM103USfalseUS75001DallasTX75201US2024-06-13T07:55:14Z00falseblank
AUTH-006-TYUIapproved0.07trueblank2024-06-14T03:22:15Z***********2398debitSantanderCH106001499.99EURM-649283Carrefour5411swipePOSTERM104ESfalseES08001Barcelonablank08002ES2024-06-14T03:22:18Z00falseblank
AUTH-007-PLKOapproved0.14trueblank2024-06-12T14:05:10Z*********4501debitBanco do BrasilCH107001175BRLM-292378Pao de Acucar5411chipPOSTERM105BRfalseBR01001-000Sao PauloSP01311-000BR2024-06-12T14:05:13Z00falseblank
RANDOM-008-XCVBdeclined0.77false512024-06-13T16:44:22Z***********7890prepaidNetspendCH1080012150.1USDM-591827Best Buy5732manuale-commerceblankUStrueblankblankHoustonTX77002US2024-06-13T16:44:26Z51trueDeclined: limit exceeded, OTP sent

What the 800 rows show

from the 800-row sample

Approved (authorization status) stands out: 600 of its 601 rows have limit_check_passed = true, against 2 of 199 for the rest.

  • 75%limit_check_passed = true
  • 0.12median fraud_score
  • 4card types
  • 4transaction channels
  • 5pos entry modes
  • 12transaction currencies
Limit check passed rate by authorization_statuslimit_check_passed = true
0%50%100%100%approved600 of 6010%declined0 of 1273%pending2 of 72

Approved (authorization status)'s mean fraud_score is 0.13, against 0.76 for declined and 0.69 for pending.

fraud_score800 rows, in bands of 0.1
0170340336188232030324338474300.51fraud_score →

Median 0.12, from 0.01 to 0.99.

decline_reason_code127 rows with a value · 673 left blank
  1. 0565
  2. 5129
  3. 5710
  4. 626
  5. 544
  6. 143
  7. 913
  8. 592
  9. 072
  10. 041
30 columns by typefrom the column list below
  • string 23
  • float 2
  • datetime 2
  • boolean 3

Columns

30 columns in four groups
blueprint · 30 columns
columntypedescriptionexample
Text 23 columns
authorization_idstringUnique identifier for the card transaction authorization requestuniqueAUTH-001-ABCD
card_number_maskedstringMasked card number used for the transaction (e.g., last 4 digits)********1234
card_typestringType of card used (e.g., credit, debit, prepaid)credit · debit · prepaid · virtualcredit
card_issuerstringName of the card issuing bank or institutionWells Fargo
cardholder_idstringUnique identifier for the cardholder (internal reference, not PII)CH101001
transaction_currencystringISO 4217 currency code for the transaction12 currenciesUSD
merchant_idstringUnique identifier for the merchant accepting the transactionM-682371
merchant_namestringName of the merchant accepting the transactionTarget
merchant_category_codestringMerchant category code (MCC) indicating the type of merchant5411
pos_entry_modestringMethod used to enter card details at POS (e.g., chip, swipe, contactless, online)chip · swipe · contactless · manual · onlinechip
transaction_channelstringChannel through which the transaction was initiated (e.g., POS, e-commerce, mobile)POS · e-commerce · mobile · ATMPOS
terminal_idstringIdentifier for the POS terminal or online gatewayoptionalTERM101
transaction_countrystringISO 3166-1 alpha-2 country code where the transaction occurredUS
authorization_statusstringResult of the authorization request (e.g., approved, declined, referred)approved · declined · referred · pendingapproved
decline_reason_codestringCode indicating the reason for decline (if applicable)12 codes · optional05
cardholder_countrystringISO 3166-1 alpha-2 country code of cardholder's registered addressoptionalUS
cardholder_postal_codestringPostal code of cardholder's registered addressoptional90210
merchant_citystringCity where the merchant is locatedoptionalLos Angeles
merchant_statestringState or province where the merchant is locatedoptionalCA
merchant_postal_codestringPostal code of the merchant's locationoptional90015
merchant_countrystringISO 3166-1 alpha-2 country code of the merchant's locationoptionalUS
issuer_response_codestringResponse code from the card issuer for the authorization requestoptional00
remarksstringAdditional remarks or notes related to the transaction authorizationoptionalCashback transaction
Numbers 2 columns
transaction_amountfloatTotal amount of the transaction0.01 or more237.45
fraud_scorefloatFraud risk score assigned to the transaction (0-1 scale, higher is riskier)0 to 10.13
Dates and times 2 columns
transaction_datetimedatetimeDate and time when the transaction was initiated2024-06-14T08:32:10Z
response_datetimedatetimeDate and time when the authorization response was generated2024-06-14T08:32:13Z
True or false 3 columns
fraud_flagbooleanIndicates whether the transaction was flagged as potentially fraudulentfalse
limit_check_passedbooleanIndicates whether the cardholder's transaction limit was passedtrue
additional_authentication_requiredbooleanIndicates whether additional authentication (e.g., 3DS, OTP) was requiredoptionalfalse

Use it for

  • limit check pa…75%602 of 800 rowsmean fraud score by a…0.13approv…0.76declin…0.69pending

    A finance dashboard

    The limit_check_passed rate, fraud_score by authorization_status and a breakdown of decline_reason_code. Excel, Power BI or Tableau.

  • Why do 602 of 800 rows have limit_check_passed = true?

    A root-cause class exercise

    Hand out the rows and one question. The answer is in the data, not in the brief.

  • A software demo

    Believable authorizations with transaction_datetime, card_number_masked and card_type to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 30 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

1,000 rows: $1.99 · 10,000: $12.99One-time. No subscription. All prices

This dataset800 rows30 columns
Yours1,000 rows30 columnstransaction_country: UK only

blueprint · iso20022-card-transaction-authorization-caaa001

Behind this dataset

Same schema. As many rows as you need.

These 800 rows came out of a blueprint — 30 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.

Rules it was built with
  • Card number masked (PAN tokenized)
  • Transaction amount positive
  • Merchant category code valid
  • Authorization code generated if approved
  • Decline reason code if rejected
  • Available balance checked
  • Fraud score calculated
  • Geographic location verification
Rows
Open the blueprint in Data Factory

1 credit per row. Preview 20 rows free. Buy rows for the full run.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
iso20022-card-transaction-authorization-caaa001

What should your data show?

Preview 20 rows free
No signup. No card.