---
title: "Verify card"
method: POST
path: "/cards/verify"
tags: ["Cards"]
---

# Verify card

`POST /cards/verify`

Use this method to verify a customer’s card details.  

In the request, send the customer’s card details.  

In the response, our gateway indicates if the card details are valid and if you should use them in follow-on actions.

## Headers

- `Authorization` string, required
- `Idempotency-Key` string, uuid, required

## Request body

- CardVerificationRequest
  - `processingTerminalId` string, required — Unique identifier that we assigned to the terminal.
  - `operator` string — Operator who requested to verify the card.
  - `customer` Customer — Object that contains the customer's contact details and address information. Contains parameters required for [Level 2, Level 3, and CEDP transactions](https://docs.payroc.com/knowledge/card-payments/enhanced-data).
    - `firstName` string — Customer's first name.
    - `lastName` string — Customer's last name.
    - `dateOfBirth` string, date — Customer's date of birth. The format for this value is **YYYY-MM-DD**.
    - `referenceNumber` string — Identifier of the transaction, also known as a customer code. For requests, you must send a value for **referenceNumber** if the customer provides one. Required for [Level 2, Level 3, and CEDP transactions](https://docs.payroc.com/knowledge/card-payments/enhanced-data).
    - `billingAddress` Address — Object that contains information about the address.
      - `address1` string, required — Address line 1.
      - `address2` string — Address line 2.
      - `address3` string — Address line 3.
      - `city` string, required — City.
      - `state` string, required — Name of the state or state abbreviation.
      - `country` string, required — Two-digit country code for the country that the business operates in. The format follows the [ISO-3166-1](https://www.iso.org/iso-3166-country-codes.html) standard.
      - `postalCode` string, required — Zip code or postal code.
    - `shippingAddress` Shipping — Object that contains information about the customer and their shipping address. Contains parameters required for [Level 3 and CEDP transactions](https://docs.payroc.com/knowledge/card-payments/enhanced-data).
      - `recipientName` string — Recipient's name. Required for [Level 3 and CEDP transactions](https://docs.payroc.com/knowledge/card-payments/enhanced-data).
      - `address` Address — Object that contains information about the address.
        - `address1` string, required — Address line 1.
        - `address2` string — Address line 2.
        - `address3` string — Address line 3.
        - `city` string, required — City.
        - `state` string, required — Name of the state or state abbreviation.
        - `country` string, required — Two-digit country code for the country that the business operates in. The format follows the [ISO-3166-1](https://www.iso.org/iso-3166-country-codes.html) standard.
        - `postalCode` string, required — Zip code or postal code.
    - `contactMethods` ContactMethod[] — Array of polymorphic objects, which contain contact information. The value of the type parameter determines which variant you should use: - `email` - Email address - `phone` - Phone number - `mobile` - Mobile number - `fax` - Fax number
      - union
        - object — email variant
          - `type` 'email', required — Discriminator value: email
          - `value` string, required — Email address.
        - object — phone variant
          - `type` 'phone', required — Discriminator value: phone
          - `value` string, required — Phone number.
        - object — mobile variant
          - `type` 'mobile', required — Discriminator value: mobile
          - `value` string, required — Mobile number.
        - object — fax variant
          - `type` 'fax', required — Discriminator value: fax
          - `value` string, required — Fax number.
    - `notificationLanguage` 'en' | 'fr' — Language that the customer uses for notifications. This code follows the [ISO 639-1](https://www.iso.org/iso-639-language-code) alpha-2 standard.
  - `card` CardVerificationRequestCard, required — Object that contains information about the customer’s payment card.
    - `type` 'card', required — Discriminator value: card
    - `accountType` 'checking' | 'savings' — Indicates the customer’s account type. **Note:** Send a value for accountType only for bank account details.
    - `cardDetails` union, required — Polymorphic object that contains payment card information. The value of the entryMethod parameter determines which variant you should use: - `raw` - Unencrypted payment data directly from the device. - `icc` - Payment data that the device captured from the chip. - `keyed` - Payment data that the merchant entered manually. - `swiped` - Payment data that the device captured from the magnetic strip.
      - object — Object that contains information about the unencrypted card details.
        - `entryMethod` 'raw', required — Discriminator value: raw
        - `downgradeTo` 'keyed' | 'swiped' — If an offline transaction is not approved using the initial entry method, reprocess the transaction using a downgraded entry method. For example, an Integrated Circuit Card (ICC) transaction can be downgraded to a swiped transaction or to a keyed transaction.
        - `device` Device, required — Object that contains information about the physical device the merchant used to capture the customer’s card details.
          - `model` 'bbposChp' | 'bbposChp2x' | 'bbposChp3x' | 'bbposRambler' | 'bbposWp' | 'bbposWp2' | 'bbposWp3' | 'genericCtlsMsr' | 'genericMsr' | 'idtechAugusta' | 'idtechMinismart' | 'idtechSredkey' | 'idtechVp3300' | 'idtechVp5300' | 'idtechVp6300' | 'idtechVp6800' | 'ingenicoAxiumDx4000' | 'ingenicoAxiumDx8000' | 'ingenicoAxiumEx8000' | 'ingenicoIct220' | 'ingenicoIpp320' | 'ingenicoIpp350' | 'ingenicoIuc285' | 'ingenicoL3000' | 'ingenicoL7000' | 'ingenicoS2000' | 'ingenicoS3000' | 'ingenicoS4000' | 'ingenicoS5000' | 'ingenicoS7000' | 'paxA80' | 'paxA920' | 'paxA920Pro' | 'paxA920Max' | 'paxE500' | 'paxE700' | 'paxE800' | 'paxIm30' | 'uic680' | 'uicBezel8', required — Model of the device that the merchant used to process the transaction.
          - `category` 'attended' | 'unattended' — Indicates if the device is attended or unattended.
          - `serialNumber` string, required — Serial number of the physical device.
          - `firmwareVersion` string — Firmware version of the physical device.
          - `config` DeviceConfig — Object that contains information about the configuration of the POS terminal.
            - `quickChip` boolean, required — Indicates if Quick Chip mode is active on a merchant’s POS terminal.
        - `rawData` string, hexadecimal, required — Unencrypted data from the POS terminal.
        - `cardholderSignature` string — Cardholder's signature. For more information about how to format the signature, go to [How to send a signature to our gateway](https://docs.payroc.com/knowledge/basic-concepts/signature-capture).
      - object — Object that contains information about the Integrated Circuit Card (ICC).
        - `entryMethod` 'icc', required — Discriminator value: icc
        - `downgradeTo` 'keyed' | 'swiped' — If an offline transaction is not approved using the initial entry method, reprocess the transaction using a downgraded entry method. For example, an Integrated Circuit Card (ICC) transaction can be downgraded to a swiped transaction or a keyed transaction.
        - `device` EncryptionCapableDevice, required — Object that contains information about the encryption details of the POS terminal.
          - `model` 'bbposChp' | 'bbposChp2x' | 'bbposChp3x' | 'bbposRambler' | 'bbposWp' | 'bbposWp2' | 'bbposWp3' | 'genericCtlsMsr' | 'genericMsr' | 'idtechAugusta' | 'idtechMinismart' | 'idtechSredkey' | 'idtechVp3300' | 'idtechVp5300' | 'idtechVp6300' | 'idtechVp6800' | 'ingenicoAxiumDx4000' | 'ingenicoAxiumDx8000' | 'ingenicoAxiumEx8000' | 'ingenicoIct220' | 'ingenicoIpp320' | 'ingenicoIpp350' | 'ingenicoIuc285' | 'ingenicoL3000' | 'ingenicoL7000' | 'ingenicoS2000' | 'ingenicoS3000' | 'ingenicoS4000' | 'ingenicoS5000' | 'ingenicoS7000' | 'paxA80' | 'paxA920' | 'paxA920Pro' | 'paxA920Max' | 'paxE500' | 'paxE700' | 'paxE800' | 'paxIm30' | 'uic680' | 'uicBezel8', required — Model of the device that the merchant used to process the transaction.
          - `category` 'attended' | 'unattended' — Indicates if the device is attended or unattended.
          - `serialNumber` string, required — Serial number of the physical device.
          - `firmwareVersion` string — Firmware version of the physical device.
          - `config` DeviceConfig — Object that contains information about the configuration of the POS terminal.
            - `quickChip` boolean, required — Indicates if Quick Chip mode is active on a merchant’s POS terminal.
          - `dataKsn` string, hexadecimal, required — Key serial number.
        - `iccData` string, hexadecimal, required — Cardholder data from the ICC. The data consists of EMV tags in Tag-Length-Value (TLV) format.
        - `firstDigitOfPan` string — First digit of the card number.
        - `cardholderSignature` string — Cardholder's signature. For more information about how to format the signature, go to [How to send a signature to our gateway](https://docs.payroc.com/knowledge/basic-concepts/signature-capture).
        - `ebtDetails` EbtDetailsWithVoucher — Object that contains information about the Electronic Benefit Transfer (EBT) transaction.
          - `benefitCategory` 'cash' | 'foodStamp', required — Indicates if the balance relates to an EBT Cash account or an EBT SNAP account. - `cash` – EBT Cash - `foodStamp` – EBT SNAP
          - `withdrawal` boolean — Indicates whether the customer wants to withdraw cash. **Note:** Cash withdrawals are available only from EBT Cash accounts.
          - `voucher` Voucher — Object that contains information about the EBT voucher. **Note:** Vouchers are available only for EBT SNAP payments.
            - `approvalCode` string, required — Authorization code that the processor issued for the transaction.
            - `serialNumber` string, required — Serial number of the voucher.
      - object — Object that contains information about the keyed card details.
        - `entryMethod` 'keyed', required — Discriminator value: keyed
        - `keyedData` union, required — Polymorphic object that contains payment card details that the merchant manually entered into the device. The value of the dataFormat parameter determines which variant you should use: - `fullyEncrypted` - All payment card details are encrypted. - `partiallyEncrypted` - Some payment card details are encrypted. - `plainText` - Payment card details are in plain text.
          - object — Object that contains information about the encrypted card data for keyed transactions.
            - `dataFormat` 'fullyEncrypted', required — Discriminator value: fullyEncrypted
            - `device` EncryptionCapableDevice, required — Object that contains information about the encryption details of the POS terminal.
              - …
            - `encryptedData` string, hexadecimal, required — Encrypted card data.
            - `firstDigitOfPan` string — First digit of the customer’s card number.
          - object — Object that contains information about the partially-encrypted card data for keyed transactions.
            - `dataFormat` 'partiallyEncrypted', required — Discriminator value: partiallyEncrypted
            - `device` EncryptionCapableDevice, required — Object that contains information about the encryption details of the POS terminal.
              - …
            - `encryptedPan` string, hexadecimal, required — Encrypted card number.
            - `maskedPan` string, required — Masked card number. The gateway shows only the first six digits and the last four digits of the account number. For example, `453985******7062`.
            - `expiryDate` string, required — Expiry date of the customer’s card.
            - `cvv` string — Security code of the customer’s card.
            - `cvvEncrypted` string, hexadecimal — Encrypted security code data.
            - `issueNumber` string — Issue number of the customer’s card.
          - object — Object that contains information about the plain-text card data for keyed transactions.
            - `dataFormat` 'plainText', required — Discriminator value: plainText
            - `device` Device — Object that contains information about the physical device the merchant used to capture the customer’s card details.
              - …
            - `cardNumber` string, required — Customer’s card number.
            - `expiryDate` string — Expiry date of the customer’s card. **Note:** We require you to send an expiry date for most BIN lookups and electronic voucher transactions.
            - `cvv` string — Security code of the customer’s card.
            - `issueNumber` string — Issue number of the customer’s card.
        - `cardholderName` string — Cardholder’s name.
        - `cardholderSignature` string — Cardholder's signature. For more information about how to format the signature, go to [How to send a signature to our gateway](https://docs.payroc.com/knowledge/basic-concepts/signature-capture).
        - `pinDetails` FxRateInquiryPaymentMethodDiscriminatorMappingCardCardDetailsDiscriminatorMappingKeyedPinDetails — Object that contains information about encrypted PIN details.
          - `dataFormat` 'dukpt', required — Discriminator value: dukpt
          - `pin` string, hexadecimal, required — Encrypted PIN. **Note:** PIN is encrypted using the DUKPT scheme.
          - `pinKsn` string, hexadecimal, required — Key serial number.
        - `ebtDetails` EbtDetailsWithVoucher — Object that contains information about the Electronic Benefit Transfer (EBT) transaction.
          - `benefitCategory` 'cash' | 'foodStamp', required — Indicates if the balance relates to an EBT Cash account or an EBT SNAP account. - `cash` – EBT Cash - `foodStamp` – EBT SNAP
          - `withdrawal` boolean — Indicates whether the customer wants to withdraw cash. **Note:** Cash withdrawals are available only from EBT Cash accounts.
          - `voucher` Voucher — Object that contains information about the EBT voucher. **Note:** Vouchers are available only for EBT SNAP payments.
            - `approvalCode` string, required — Authorization code that the processor issued for the transaction.
            - `serialNumber` string, required — Serial number of the voucher.
      - object — Object that contains information about the customer’s card details for swiped transactions.
        - `entryMethod` 'swiped', required — Discriminator value: swiped
        - `downgradeTo` 'keyed' | 'swiped' — If an offline transaction is not approved using the initial entry method, reprocess the transaction using a downgraded entry method. For example, a swiped transaction can be downgraded to a keyed transaction.
        - `swipedData` union, required — Polymorphic object that contains payment card details that a device captured from the magnetic strip. The value of the dataFormat parameter determines which variant you should use: - `encrypted` - Payment card details are encrypted. - `plainText` - Payment card details are in plain text.
          - object — Object that contains information about the encrypted swiped card data.
            - `dataFormat` 'encrypted', required — Discriminator value: encrypted
            - `device` EncryptionCapableDevice, required — Object that contains information about the encryption details of the POS terminal.
              - …
            - `encryptedData` string, hexadecimal, required — Encrypted data received from the magnetic stripe reader.
            - `firstDigitOfPan` string — First digit of the of the card number.
            - `fallback` boolean — Indicates that this is a fallback transaction. For example, if there was a technical issue with the chip on the customer's card and the merchant then swiped the card.
            - `fallbackReason` 'technical' | 'repeatFallback' | 'emptyCandidateList' — Reason for the fallback.
          - object — Object that contains information about plain-text swiped card data.
            - `dataFormat` 'plainText', required — Discriminator value: plainText
            - `device` Device, required — Object that contains information about the physical device the merchant used to capture the customer’s card details.
              - …
            - `trackData` string, required — Customer’s card data from the swiped transaction.
            - `fallback` boolean — Indicates that this is a fallback transaction. For example, if there was a technical issue with the chip on the customer's card and the merchant then swiped the card.
            - `fallbackReason` 'technical' | 'repeatFallback' | 'emptyCandidateList' — Reason for the fallback.
        - `cardholderName` string — Cardholder’s name.
        - `cardholderSignature` string — Cardholder's signature. For more information about how to format the signature, go to [How to send a signature to our gateway](https://docs.payroc.com/knowledge/basic-concepts/signature-capture).
        - `pinDetails` FxRateInquiryPaymentMethodDiscriminatorMappingCardCardDetailsDiscriminatorMappingSwipedPinDetails — Object that contains information about encrypted PIN details.
          - `dataFormat` 'dukpt', required — Discriminator value: dukpt
          - `pin` string, hexadecimal, required — Encrypted PIN. **Note:** PIN is encrypted using the DUKPT scheme.
          - `pinKsn` string, hexadecimal, required — Key serial number.
        - `ebtDetails` EbtDetailsWithVoucher — Object that contains information about the Electronic Benefit Transfer (EBT) transaction.
          - `benefitCategory` 'cash' | 'foodStamp', required — Indicates if the balance relates to an EBT Cash account or an EBT SNAP account. - `cash` – EBT Cash - `foodStamp` – EBT SNAP
          - `withdrawal` boolean — Indicates whether the customer wants to withdraw cash. **Note:** Cash withdrawals are available only from EBT Cash accounts.
          - `voucher` Voucher — Object that contains information about the EBT voucher. **Note:** Vouchers are available only for EBT SNAP payments.
            - `approvalCode` string, required — Authorization code that the processor issued for the transaction.
            - `serialNumber` string, required — Serial number of the voucher.

## Response `200`

Successful request. Returns the verification status of the card details.

- CardVerificationResult
  - `operator` string — Operator who requested to verify the card.
  - `processingTerminalId` string, required — Unique identifier that we assigned to the terminal.
  - `card` Card — Object that contains the details of the payment card.
    - `type` string, required — Card brand of the card, for example, Visa.
    - `entryMethod` 'icc' | 'keyed' | 'swiped' | 'swipedFallback' | 'contactlessIcc' | 'contactlessMsr', required — Method that the device used to capture the card details.
    - `cardholderName` string — Cardholder’s name.
    - `cardholderSignature` string — Cardholder’s signature.
    - `cardNumber` string, required — Card number. In the response, our gateway shows only the first six digits and the last four digits of the card number, for example, 500165******0000.
    - `expiryDate` string, required — Expiry date of the customer's card. The format is in **MMYY**.
    - `secureToken` SecureTokenSummary — Object that contains information about the secure token.
      - `secureTokenId` string, required — Unique identifier that the merchant assigned to the secure token.
      - `customerName` string, required — Customer's name.
      - `token` string, required — Token that the merchant can use in future transactions to represent the customer's payment details. The token: - Begins with the six-digit identification number **296753**. - Contains up to 12 digits. - Contains a single check digit that we calculate using the Luhn algorithm.
      - `status` 'notValidated' | 'cvvValidated' | 'validationFailed' | 'issueNumberValidated' | 'cardNumberValidated' | 'bankAccountValidated', required — Status of the customer's bank account. The processor performs a security check on the customer's bank account and returns the status of the account. **Note:** Depending on the merchant's account settings, this feature may be unavailable.
      - `link` Link — Object that contains HATEOAS links for the resource.
        - `rel` string, required — Indicates the relationship between the current resource and the target resource.
        - `method` string, required — HTTP method that you need to use with the target resource.
        - `href` string, required — URL of the target resource.
    - `securityChecks` SecurityCheck — Object that contains information about card verification and security checks.
      - `cvvResult` 'M' | 'N' | 'P' | 'U' — Indicates if the card verification value (CVV) that the customer provided in the request matches the CVV on the card. - `M` – The CVV matches the card’s CVV. - `N` – The CVV doesn’t match the card’s CVV. - `P` – The CVV wasn’t processed. - `U` – The CVV isn’t registered. **Note:** Our gateway doesn’t automatically decline transactions when the CVV doesn’t match the card’s CVV, unless the merchant selects this setting in their account.
      - `avsResult` 'Y' | 'A' | 'Z' | 'N' | 'U' | 'R' | 'G' | 'S' | 'F' | 'W' | 'X' — Indicates if the address that the customer provided in the request matches the address linked to the card. - `Y` – The address in the request matches the address linked to the card. - `N` – The address in the request doesn’t match the address linked to the card. - `A` – The street address matches, but ZIP code or postal code doesn’t match. - `Z` - The ZIP code or postal code matches, but street address doesn’t match. - `U` – The address information is unavailable. - `G` – The issuer or card brand doesn’t support the Address Verification Service (AVS). - `R` – The AVS is currently unavailable. Try again later. - `S` – There was no AVS data in the request, or it was sent in the wrong format. - `F` - For UK addresses, the address in the request matches the address linked to the card. - `W` – For US addresses, the nine-digit ZIP code or postal code in the request matches the address linked to the card but the street address doesn’t. - `X` – For US addresses, the nine-digit ZIP code or postal code and the street address matches the address linked to the card. **Note:** Our gateway doesn’t automatically decline transactions when the address doesn’t match the address linked to the card, unless the merchant selects this setting in their account.
    - `emvTags` EmvTag[] — Array of emvTag objects.
      - `hex` string, required — Hex code of the EMV tag.
      - `value` string, required — Value of the EMV tag.
    - `balances` CardBalance[] — Array of cardBalance objects. Our gateway returns this array only when the customer uses an Electronic Benefit Transfer (EBT) card.
      - `benefitCategory` 'cash' | 'foodStamp', required — Indicates if the balance relates to an EBT Cash account or EBT SNAP account. - `cash` – EBT Cash - `foodStamp` – EBT SNAP
      - `amount` integer, required — Current balance of the account. This value is in the currency's lowest denomination, for example, cents.
      - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL', required — Currency of the transaction. The value for the currency follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard.
  - `verified` boolean, required — Indicates if the card details are valid: - `true` - Card details are valid. - `false` - Card details are not valid.
  - `transactionResult` TransactionResult — Object that contains information about the transaction response details.
    - `type` 'sale' | 'refund' | 'preAuthorization' | 'preAuthorizationCompletion' — Transaction type.
    - `ebtType` 'cashPurchase' | 'cashPurchaseWithCashback' | 'foodStampPurchase' | 'foodStampVoucherPurchase' | 'foodStampReturn' | 'foodStampVoucherReturn' | 'cashBalanceInquiry' | 'foodStampBalanceInquiry' | 'cashWithdrawal' — Indicates the subtype of EBT in the transaction.
    - `status` 'ready' | 'pending' | 'declined' | 'complete' | 'referral' | 'pickup' | 'reversal' | 'admin' | 'expired' | 'accepted', required — Status of the transaction. The value is one of the following: - `ready` - Successful transaction. We added the payment to the open batch. - `pending` - Successful transaction. We added the payment to the open batch, but we don't collect the funds until the merchant [captures the transaction](https://docs.payroc.com/api/schema/card-payments/payments/capture). - `declined` - Unsuccessful transaction. The cardholder's issuing bank declined the transaction. - `complete` - Successful transaction. The funds have moved to the merchant's bank account. - `referral` - Unsuccessful transaction. The issuing bank identified an issue with the transaction. You should treat a `referral` status as a declined transaction. - `pickup` - Unsuccessful transaction. The issuing bank has reported that the card is lost or stolen. - `reversal` - Transaction cancelled. The transaction was cancelled, and we removed the transaction from the open batch. - `admin` - Transaction under review. We have flagged an issue with the transaction. - `expired` - Transaction expired. If a transaction stays in `pending` status for too long, it expires. - `accepted` - Transaction in progress. The transaction is in progress with the processor but we can't confirm the result yet.
    - `approvalCode` string — Authorization code that the processor assigned to the transaction.
    - `authorizedAmount` integer — Amount that the processor authorized for the transaction. This value is in the currency’s lowest denomination, for example, cents. **Notes:** - For partial authorizations, this amount is lower than the amount in the request. - If the value for **authorizedAmount** is negative, this indicates that the merchant sent funds to the customer.
    - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL' — Currency of the transaction. The value for the currency follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard.
    - `responseCode` 'A' | 'D' | 'E' | 'P' | 'R' | 'C', required — Response from the processor. - `A` - The processor approved the transaction. - `D` - The processor declined the transaction. - `E` - The processor received the transaction but will process the transaction later. - `P` - The processor authorized a portion of the original amount of the transaction. - `R` - The issuer declined the transaction and indicated that the customer should contact their bank. - `C` - The issuer declined the transaction and indicated that the merchant should keep the card as it was reported lost or stolen.
    - `responseMessage` string — Response description from the processor.
    - `processorResponseCode` string — Original response code that the processor sent.
    - `cardSchemeReferenceId` string — Identifier that the card brand assigns to the payment instruction.
    - `healthcareIndicator` 'Y' | 'N' | 'C' | 'R' — Indicates if we processed the payment as a healthcare expense. The value is one of the following: - `Y` - We processed the payment as a healthcare expense. - `N` - We processed the payment but it didn't contain any healthcare expenses. - `C` - We processed the payment but the card isn't linked to a Flexible Spending Account (FSA) or a Health Savings Account (HSA). - `R` - We processed the payment but the card doesn't support healthcare expenses.

## Other responses

- `400` — Validation error
- `401` — Identity could not be verified
- `403` — Do not have permissions to perform this action
- `404` — Resource not found
- `406` — Not acceptable
- `409` — Conflict
- `415` — Unsupported media type
- `500` — An error has occured

---

[API](https://skmtc.dev/payroc/apis/schema.md) · [All operations](https://skmtc.dev/payroc/apis/schema/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/payroc/schema/revisions/1d9d3e305945/schema)
