Risk

Get Card Transaction Fraud

Use the Get Card Transaction Fraud endpoint to evaluate the risk associated with specific card transactions and understand if a transaction is fraudulent, then take appropriate action based on predefined criteria. This endpoint provides detailed fraud detection insights, including rules triggered, actions taken, and supplementary fraud prevention decisions.

See <a href="doc:about-payment-risk-platform" target="_blank">About the Payment Risk Platform</a> for more details.

post/prp/1.0/getCardTransactionFraud

Request

  • Base URL
    risk-{corename}.{env}.gpsrv.com/ (relative, and the document’s source URL is not known)
  • URL
    risk-{corename}.{env}.gpsrv.com/prp/1.0/getCardTransactionFraud
  • Auth
    none declared

Request body application/x-www-form-urlencoded

apiLoginstring required

Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: "AbC123-9999"

apiTransKeystring required

Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: "4sb62fh6w4h7w34g"

providerIdstring required

Your unique provider identifier from SoFi Tech Solutions. Pattern: Max 10-digit numeric string Example: "9999"

transactionIdstring required

Supply a globally unique ID to identify this endpoint request ("transaction"). A UUID is preferred. Pattern: Max 60 characters Example: "9845dk-39fdk3fj3-4483483478"

riskServiceIdstring required

Unique identifier provided by SoFi Tech Solutions during implementation to obtain client PRP configuration details. Pattern: Up to 50 characters Example: "EPRP-test-1231231:1"

eventType'debit' required

Specifies the type of the transaction event. Pattern: Debit Example: "Debit"

eventTsstring date-time required

Timestamp for when the transaction event occurred in <a href="ref:system-time" target="_blank">our system time</a>. May be the same timestamp as authTs. Pattern: YYYY-MM-DD hh:mm:ss Example: "2020-10-28 00:00:24"

personIdstring required

Unique identifier of the account holder/customer associated with the event. Pattern: Up to 20 characters Example: "p54789641"

accountIdstring

Unique identifier of your customer account with which the related event is associated. Pattern: Up to 20 characters Example: "a125483"

cardIdstring

An identifier of the card with which the related event is associated. Pattern: Up to 20 characters Example: "card_123"

authIdstring

Internal card authorization identifier associated with card transaction event. Pattern: Up to 4 characters Example: "8989"

authTsstring date-time

Authorization timestamp. Can specify any timezone. Pattern: YYYY-MM-DD hh:mm:ss Example: "2024-01-23T04:56:07.000+00:00"

acctOpenToBuynumber

The cardholder's available funds, also known as open to buy. Amount is checked during authorization validation to confirm the cardholder has sufficient funds to perform a transaction. Pattern: Integer or decimal amount Example: '200.00'

acctCitystring

Cardholder’s city. Pattern: Up to 30 characters: letters, spaces, hyphen and period Example: "Salt Lake City"

acctStatestring

Cardholder’s state or province for non-U.S. countries. Pattern: Up to 60 characters Example: "Washington"

acctZipstring

Cardholder’s postal code: U.S. ZIP code or local postal code. Pattern: 5–20 characters Example: "98101"

acctCountrystring

Cardholder’s two-digit country code. See the IBAN Alpha-2 codes for details. Pattern: Up to 2 characters Example: "US"

acctStartDatestring date-time

Start date-time for the account was marked ready to use (e.g. account open or account funded date). Pattern: YYYY-MM-DD hh:mm:ss Example: "2020-10-12T10:45:21.000+00:00"

cardActivateDatestring date-time

Date-time for when the card was activated. Pattern: YYYY-MM-DD hh:mm:ss Example: "2020-10-10T08:12:35.000+00:00"

cardStatusstring

Status for the card. Pattern: Up to 10 characters Example: "Active"

cardCredLimnumber

Credit limit of the cardholder’s account as whole or decimal amount. Pattern: Integer or decimal number Example: '1000'

merchantAssertsAuthenticationAttemptedboolean

Specifies whether the merchant/acquirer attempted to authenticate the buyer using 3-D Secure. True if attempted, False if the merchant/acquirer did not attempt. Pattern: true or false Example: True

transactionCitystring

Merchant's city. Pattern: Up to 60 characters Example: Seattle

transactionZipstring

Postal code (US zip code or local postal code) where the transaction or event was performed. Pattern: 5–20 characters Example: "98102"

isCardNotPresentboolean

Whether a card was present during a transaction or event. True is card-not-present; False is card-present. Pattern: true or false Example: True

isCardholderNotPresentboolean

Whether a card was present during a transaction or event. True is card-not-present; False is card-present. Pattern: true or false Example: True

isDomesticboolean

Whether this is a domestic transaction. True is a domestic transaction; False for an international transaction. Definition of domestic at the discretion of the client. Pattern: true or false Example: True

merchantDescstring

Card acceptor name/location. See Data element 43 of the ISO message. Pattern: Up to 50 characters Example: "ROSS"

merchantIdstring

Card acceptor identification code. See Data element 42 of the ISO message. Pattern: Up to 15 characters Example: "Ross_1234"

networkNamestring required

The card network. Acceptable values are: Visa, Mastercard, Discover, American Express, JCB, UnionPay, Accel, Star, Allpoint. Pattern: Up to 20 characters Example: "Visa"

requestedAmountnumber

The requested amount. Pattern: Integer or decimal amount Example: '85'

isContactlessboolean

Whether this is a transaction is contactless. True is a contactless transaction. Definition of contactless is at the discretion of the client. Pattern: true or false Example: True

isMagStripeReadboolean

Whether the card’s magnetic stripe was swiped. True is yes. Pattern: true or false Example: True

isRecurringboolean

Whether the transaction is a recurring bill payment.True is for a recurring bill payment. Pattern: true or false Example: True

isTransactionEmvboolean

Whether the transaction used an EMV chip.True for when an EMV chip was used. Pattern: true or false Example: True

threedsecureIndicatorboolean

Whether the transaction is 3-D Secure. True if the transaction was authenticated using 3-D Secure. Pattern: true or false Example: True

acquirerInstitutionIdCodestring

Acquiring institution identification code. See Data element 32 of the ISO message. Pattern: Up to 6 characters Example: "INST_12"

mccstring

Merchant category code, also known as the MCC. This indicates the type of merchant at the point of sale, such as supermarket, auto supply, etc. Codes are defined in the ISO 18245. See Data element 18 of the ISO message. Pattern: Up to 4 characters Example: "6011"

messageTypeIndicatorstring

Message type indicator for the authorization message being sent by the card network.See Data element 22 of the ISO message. Pattern: Up to 4 characters Example: "0180"

posEntryModeFullstring

Point of service (POS) entry mode code. See Data element 22 of the ISO message. Pattern: Up to 2 characters Example: "05"

transTypeCodestring

Cardholder transaction type code. See Data element 3 subfield 1 of the ISO message. Pattern: Up to 2 characters Example: "01"

aavstring

Result from validating the 3-D Secure Accountholder authentication value. Accepted values: 'Y'- Validated, 'F' - Failed, 'N' - Not present. Pattern: Up to 1 character Example: "Y"

avsstring

Result from validating the 3-D Secure Accountholder authentication value. Accepted values: 'Y'- Validated, 'F' - Failed, 'N' - Not present. Pattern: Up to 1 character Example: "Y"

pinstring

Indicates the status of the pin. Accepted values: 'Y' - Validated, 'F' - Failed, 'N' - Not present, 'L' - Locked, 'M' - PIN not set, 'B' - Blocked). Pattern: Up to 1 character Example: "N"

riskCodestring

Risk code sent by card network. Pattern: Up to 3 characters Example: "675"

transactionCountrystring

Two character identifier for the country where the transaction was performed. Pattern: Up to 2 characters Example: "US"

transactionStatestring

State where the transaction was performed. Pattern: Up to 20 characters Example: "Washington"

transactionStateFullstring

Full province name where transaction occurred. This is only for international transactions. Leave empty for US based transactions. Pattern: Up to 20 characters Example: "Ontario"

riskScoreinteger

Visa Advanced Authorization (VAA) risk score ranging from 0 to 99 or Mastercard Decision Intelligence (DI) score ranging from 0 to 999. Pattern: Up to 4 digits Example: 56

accountAttackIntelligenceScorestring

The account attack intelligence score provided by Visa. Range: 01–99. Higher values indicate higher risk. Returns "None" if not populated in the ISO message. Pattern: 2-digit string from 01 to 99 Example: "15"

acctStatusstring

Status of the account. Pattern: Up to 15 characters Example: "Active"

acctActiveboolean

Whether the account is active. True for when the account is active. Pattern: true or false Example: True

cardholderAppDatestring date-time

Date-time the cardholder applied for an account. Pattern: YYYY-MM-DD hh:mm:ss Example: "2020-10-10T08:12:35.000+00:00"

pinFailDatestring date-time

Date of last PIN failure. Pattern: YYYY-MM-DD hh:mm:ss Example: "2023-05-10T02:48:38.000+00:00"

isEcommerceboolean

Whether this was an ecommerce transaction. True is for ecommerce transactions. Pattern: true or false Example: True

isMerchantAuthAssertionsValidatedboolean

Whether the AAV card value was validated and passed validation. True when the AVV card is validated and passed. Pattern: true or false Example: True

aavIndicatorstring

Indicates whether the AAV was authenticated or if an authentication attempt was made. Pattern: Y or N Example: 'Y'

rawEcistring

The ECI sent in the transaction message. This is specific to the card network. Possible values include: 05 (Visa), 212 (MasterCard), 5 (Discover), etc. See Data element 48 Sub Element 42. Pattern: Up to 3 characters Example: "05"

merchantAssertsDataProtectionboolean

True if the merchant/acquirer asserts that the communication channel between the buyer and the merchant is encrypted (e.g. with TLS/HTTPS). False if the merchant/acquirer makes no guarantee about the security of the communication channel with the buyer (e.g. uses HTTP). Proceed with caution when this field is False. A malicious third party could have compromised the transaction. Pattern: true or false Example: True

merchantAssertsAuthenticatedboolean

Whether the merchant authenticated the buyer with 3-D Secure. True if the merchant/acquirer asserts that it authenticated the buyer using 3-D Secure and obtained a valid CAVV/AAV from the card network or SoFi Tech Solutions. False if the merchant/acquirer makes no assertion whether the buyer is fully authenticated using 3-D Secure. Pattern: true or false Example: True

emvCvnstring

Cryptogram version number for the EMV transaction. Pattern: Up to 2 characters Example: "20"

emvCvrstring

Card verification results for the EMV transaction. Pattern: Up to 12 characters Example: "a00120400400"

emvDkistring

Derivative Key Index (DKI) for the EMV transaction. See Data element 55 for 9F10 value. Pattern: Up to 2 characters Example: "65"

provisioningDeviceTypestring

Visa only. Type of device used at the provisioning time from ISO8583. See Data element 125. Pattern: Up to 60 characters Example: "dtype_123"

provisioningDeviceLanguagestring

Three letter code for device_language at the provisioning time. See <a href='https://www.loc.gov/standards/iso639-2/php/English_list.php'>ISO 639.2 standards</a>. Pattern: Up to 3 characters Example: "eng"

provisioningDeviceIdstring

Device ID at the time of provisioning. Pattern: Up to 60 characters Example: "108998A103804F45740927FF9984ML91J43R"

provisioningDeviceNumberstring

Device phone number at the provisioning time when applicable. See Data element 125 for Visa or DE 124 for Mastercard. Pattern: Up to 12 characters Example: "+18888888888"

provisioningLocationstring

Latitude and longitude with 2 digits of precision. Pattern: Up to 20 characters Example: "+37.78/-122.43"

provisioningDeviceIpstring

IP address of the device at the provisioning time. Pattern: Up to 60 characters Example: "12.45.65.123"

provisioningDeviceScorestring

Wallet device score at the provisioning time. See Data element 125 for Visa or DE 124 for Mastercard. Pattern: Up to 2 characters Example: "78"

provisioningAccountScorestring

Account score at the provisioning time. See Data element 125 for Visa or DE 124 for Mastercard. Pattern: Up to 2 characters Example: "5"

provisioningPanSourcestring

Identifies the method which the cardholder is attempting to tokenize a primary account number. See Data element 125 for Visa or DE 124 for Mastercard. Pattern: Up to 2 characters Example: "02"

provisioningAccountEmailAddrstring

Account email address at the time of provisioning. Pattern: Up to 60 characters Example: "someemail@gmail.com"

provisioningCorrelationIdstring

correlation_id at the time of provisioning. Pattern: Up to 20 characters Example: "D0000000000000"

provisioningPaymentAppInstanceIdstring

payment_app_instance_id at the time of provisioning. Pattern: Up to 60 characters Example: "98HAKDSFNQ84R8109R412IU3NRKABSF230"

provisioningCardholderNamestring

Cardholder name at the time of provisioning. Pattern: Up to 60 characters Example: "Sam Smith"

provisioningTokenizationRecommendationstring

Tokenization decision suggested by the wallet provider. See Data element 125 for Visa or DE 124 for Mastercard. Pattern: Up to 1 character Example: "2"

provisioningTokenizationRecommendationStandardVerstring

The version of the standards the wallet provider is using to determine the suggested tokenization recommendation. See Data element 125 for Visa or DE 124 for Mastercard. Pattern: Up to 60 characters Example: "tokenstdvar_345"

provisioningTokenizationRecommendationReasonCodestring

Indicates the specific reason the wallet provider is suggesting the tokenization recommendation. See Data element 125 for Visa or DE 124 for Mastercard. Pattern: Up to 20 characters Example: "00088C"

provisioningActiveTokensstring

active_tokens at the time of provisioning. Pattern: Up to 2 characters Example: 22

provisioningTokenTypestring

Mastercard only. Contains a value indicating the type of requested token. See DE 124 for Mastercard. Pattern: Up to 1 character Example: "C"

provisioningConsumerIdentifierstring

consumer_identifier at the time of provisioning. Pattern: Up to 60 characters Example: "cid_777"

isPartialAuthSupportedboolean

Whether the account supports partial authorizations. True for an account that supports partial authorization. Pattern: true or false Example: True

isCardEmvboolean

Whether the card is EMV capable. True if card is EMV enabled. Pattern: true or false Example: True

isEmvFallbackboolean

Whether the transaction is when a card product is EMV and the terminal where the transaction is performed is EMV enabled but the transaction is non-EMV. Pattern: true or false Example: True

isFinalCompletionboolean

Whether it is the last preauthorization after multiple preauths that are tied together have been performed and acts as a complete advice/authorization. Pattern: true or false Example: True

isIncrementalAuthboolean

Whether it is part of an incremental authorization tied to other purchases that will settle at the same time (e.g. multiple purchases from a mini-fridge in a hotel). Pattern: true or false Example: True

isTerminalEmvboolean

Whether the terminal is EMV capable. True when EMV is enabled. Pattern: true or false Example: True

avsRequestedboolean

Whether AVS was requested. True when requested. Pattern: true or false Example: True

currencyCodeBillingstring

Currency Code, Cardholder billing. See Data element 51 of the ISO message. Pattern: Up to 3 characters Example: "371"

currencyCodeTransactionstring

Currency Code, Transaction. See Data element 49 of the ISO message. Pattern: Up to 3 characters Example: "304"

merchantTerminalIdstring

Card Acceptor Terminal Identification Code. See Data element 41 of the ISO message. Pattern: Up to 8 characters Example: "05940594"

posConditionCodestring

Visa only. SMS POS Condition. See Data element 25 of the ISO message. Pattern: Up to 2 characters Example: "89"

posDatastring

Mastercard only. POS Data. See Data element 61 of the ISO message. Pattern: Up to 30 characters Example: 00000000030000040000012039410324

isHighRiskboolean

Flag to indicate whether card is high risk. Pattern: true or false Example: True

arqcstring

A cryptogram that is generated by the chip on a card during a chip transaction and sent to SoFi Tech Solutions to validate that the source of the transaction is legitimate. Pattern: Up to 1 character Example: N

cvv1Statusstring

Indicates status of CVV1. Accepted values: 'Y' - Verified, 'N' - Failed, 'None' - No CVV1 Passed. Pattern: Up to 4 characters Example: 'Y'

cvv2Statusstring

Indicates status of CVV2. Accepted values: 'Y' - Verified, 'N' - Failed, 'None' - No CVV2 Passed. Pattern: Up to 4 characters Example: 'N'

cvv3Statusstring

Indicates status of CVV3. Accepted values: 'Y' - Verified, 'N' - Failed, 'None' - No CVV3 Passed. Pattern: Up to 4 characters Example: 'N'

offlinePinStatusstring

Indicates the status of the offline pin. Accepted values: 'Y' - Verified, 'N' - Failed, 'E' - Offline Pin Try Count Exceeded, 'P' - Failed or tries exceeded, but within risk parameters, 'None' - No Offline PIN verification performed. Pattern: Up to 4 characters Example: 'N'

cashbackAmountnumber

Cashback amount that was requested. Pattern: Integer or decimal amount Example: 354

level1string

Hierarchy level 1 of your program. Pattern: Consumer Example: level 1

level2string

Hierarchy level 2 of your program. Pattern: Up to 60 characters Example: Division - HSA

level3string

Hierarchy level 3 of your program. Pattern: Up to 60 characters Example: Client

level4string

Hierarchy level 4 of your program. Pattern: Up to 60 characters Example: SoFi Tech Solutions

level5string

Hierarchy level 5 of your program. Pattern: Up to 60 characters Example: Cohort

level6string

Hierarchy level 6 of your program. Pattern: Up to 60 characters Example: Group

level7string

Hierarchy level 7 of your program. Pattern: Up to 60 characters Example: Account ID

level8string

Hierarchy level 8 of your program. Pattern: Up to 60 characters Example: level 8

level9string

Hierarchy level 9 of your program. Pattern: Up to 60 characters Example: Card ID

level10string

Hierarchy level 10 of your program. Pattern: Up to 60 characters Example: Card Type

customField1string

Optional custom field containing additional data elements to send to SoFi Tech Solutions. Pattern: Up to 60 characters Example: "field1val"

customField2string

Optional custom field containing additional data elements to send to SoFi Tech Solutions. Pattern: Up to 60 characters Example: "field2val"

customField3string

Optional custom field containing additional data elements to send to SoFi Tech Solutions. Pattern: Up to 60 characters Example: "field3val"

customField4string

Optional custom field containing additional data elements to send to SoFi Tech Solutions. Pattern: Up to 60 characters Example: "field4val"

customField5string

Optional custom field containing additional data elements to send to SoFi Tech Solutions. Pattern: Up to 60 characters Example: "field5val"

Example request

{
  "apiLogin": "\"AbC123-9999\"",
  "apiTransKey": "\"4sb62fh6w4h7w34g\"",
  "providerId": "\"9999\"",
  "transactionId": "\"9845dk-39fdk3fj3-4483483478\"",
  "riskServiceId": "\"EPRP-test-1231231:1\"",
  "eventType": "\"Debit\"",
  "eventTs": "\"2020-10-28 00:00:24\"",
  "personId": "\"p54789641\"",
  "accountId": "\"a125483\"",
  "cardId": "\"card_123\"",
  "authId": "\"8989\"",
  "authTs": "\"2024-01-23T04:56:07.000+00:00\"",
  "acctCity": "\"Salt Lake City\"",
  "acctState": "\"Washington\"",
  "acctZip": "\"98101\"",
  "acctCountry": "\"US\"",
  "acctStartDate": "\"2020-10-12T10:45:21.000+00:00\"",
  "cardActivateDate": "\"2020-10-10T08:12:35.000+00:00\"",
  "cardStatus": "\"Active\"",
  "transactionCity": "Seattle",
  "transactionZip": "\"98102\"",
  "merchantDesc": "\"ROSS\"",
  "merchantId": "\"Ross_1234\"",
  "networkName": "\"Visa\"",
  "acquirerInstitutionIdCode": "\"INST_12\"",
  "mcc": "\"6011\"",
  "messageTypeIndicator": "\"0180\"",
  "posEntryModeFull": "\"05\"",
  "transTypeCode": "\"01\"",
  "aav": "\"Y\"",
  "avs": "\"Y\"",
  "pin": "\"N\"",
  "riskCode": "\"675\"",
  "transactionCountry": "\"US\"",
  "transactionState": "\"Washington\"",
  "transactionStateFull": "\"Ontario\"",
  "accountAttackIntelligenceScore": "\"15\"",
  "acctStatus": "\"Active\"",
  "cardholderAppDate": "\"2020-10-10T08:12:35.000+00:00\"",
  "pinFailDate": "\"2023-05-10T02:48:38.000+00:00\"",
  "aavIndicator": "'Y'",
  "rawEci": "\"05\"",
  "emvCvn": "\"20\"",
  "emvCvr": "\"a00120400400\"",
  "emvDki": "\"65\"",
  "provisioningDeviceType": "\"dtype_123\"",
  "provisioningDeviceLanguage": "\"eng\"",
  "provisioningDeviceId": "\"108998A103804F45740927FF9984ML91J43R\"",
  "provisioningDeviceNumber": "\"+18888888888\"",
  "provisioningLocation": "\"+37.78/-122.43\"",
  "provisioningDeviceIp": "\"12.45.65.123\"",
  "provisioningDeviceScore": "\"78\"",
  "provisioningAccountScore": "\"5\"",
  "provisioningPanSource": "\"02\"",
  "provisioningAccountEmailAddr": "\"someemail@gmail.com\"",
  "provisioningCorrelationId": "\"D0000000000000\"",
  "provisioningPaymentAppInstanceId": "\"98HAKDSFNQ84R8109R412IU3NRKABSF230\"",
  "provisioningCardholderName": "\"Sam Smith\"",
  "provisioningTokenizationRecommendation": "\"2\"",
  "provisioningTokenizationRecommendationStandardVer": "\"tokenstdvar_345\"",
  "provisioningTokenizationRecommendationReasonCode": "\"00088C\"",
  "provisioningActiveTokens": "22",
  "provisioningTokenType": "\"C\"",
  "provisioningConsumerIdentifier": "\"cid_777\"",
  "currencyCodeBilling": "\"371\"",
  "currencyCodeTransaction": "\"304\"",
  "merchantTerminalId": "\"05940594\"",
  "posConditionCode": "\"89\"",
  "posData": "00000000030000040000012039410324",
  "arqc": "N",
  "cvv1Status": "'Y'",
  "cvv2Status": "'N'",
  "cvv3Status": "'N'",
  "offlinePinStatus": "'N'",
  "level1": "level 1",
  "level2": "Division - HSA",
  "level3": "Client",
  "level4": "SoFi Tech Solutions",
  "level5": "Cohort",
  "level6": "Group",
  "level7": "Account ID",
  "level8": "level 8",
  "level9": "Card ID",
  "level10": "Card Type",
  "customField1": "\"field1val\"",
  "customField2": "\"field2val\"",
  "customField3": "\"field3val\"",
  "customField4": "\"field4val\"",
  "customField5": "\"field5val\""
}

Response

status_codeinteger required

The response status code. May return a string for some statuses.

statusstring required

The condition of a process or response

errorsstring[]

A list of errors generated while the request was processed

rtokenstring nullable

A system-generated ID used for tracking

processing_timenumber nullable

The time elapsed in processing the request

system_timestampstring date-time nullable

A system generated timestamp

Changes

No recorded changes to this operation across all 1 revision of this API.