Run card transaction

Allows you to process a card transaction through the API.

Aside from the fields marked required here, the gateway you are using may require additional fields. For information on gateway-specific required fields, see the Connections documentation.

For the 3DS workflow, the system returns a redirectUrl instead of the standard response, along with an asyncTraceId that you can use with the View transaction async status endpoint for tracking progress and status. For a tutorial, see Using 3DS to run transactions.

🛑

Important

Parameters passed with a process request override any data points that are saved with the card token.

For example, if the value for data.customer.billToAddressOne is saved with the card token as 729 Jay Road, but the value for that field is passed with the process request as 2147 West Silverlake Drive, the address at Silverlake Drive is the one that is used.

⚠️

Try It

To use the Try It feature for this endpoint, you can use the credentials for your Sandbox API user.

You can also use the following test account. Copy the value and paste it into the appropriate space in the Try It section to the right.
username: [email protected]
password: JZdzoXpdDeH6VA

Provide the following as body parameters, depending on which payment flow you are using:

  • For an initial or subsequent transaction with a saved card token: Include at least the data.amount, processingOptions.paymentType, and tokenex.token.
  • For a subsequent transaction with a saved terminal token: Include at least the data.amount, processingOptions.paymentType, and terminal.token.
  • With the full card information: Include at least the data.amount, processingOptions.paymentType, card.pan, card.expirationYear, and card.expirationMonth.
    Note: Sending full card information may increase your PCI scope.
  • For a subsequent transaction with the full card information: Include at least the data.amount, processingOptions.paymentType, card.pan, card.expirationYear, card.expirationMonth, and recurringId.

For information about test card numbers and values you can use, see the documentation for the specific gateway/connection integration guide you want to use or, if you are testing Account Updater, see the Test cards for account updater section of the "Checking a card's enrollment tag" topic.

Request parameters

  • data
  • data.amount
  • data.surcharge
  • data.currency
  • data.allowedCardTypes
  • data.cart
  • data.cart.items
  • data.cart.items.item
  • data.cart.items.description
  • data.cart.items.quantity
  • data.cart.items.price
  • data.cart.items.type
  • data.customer
  • data.customer.customerRef
  • data.customer.orderNumber
  • data.customer.orderDate
  • data.customer.invoice
  • data.customer.firstName
  • data.customer.lastName
  • data.customer.birthDate
  • data.customer.nationalIdentificationNumber
  • data.customer.billToAddressOne
  • data.customer.billToAddressTwo
  • data.customer.billToCity
  • data.customer.billToCountry
  • data.customer.billToPhone
  • data.customer.billToPostal
  • data.customer.billToState
  • data.customer.createdAtDate
  • data.customer.email
  • data.customer.phone
  • data.customer.shipToAddressOne
  • data.customer.shipToAddressTwo
  • data.customer.shipToCity
  • data.customer.shipToCountry
  • data.customer.shipToPhone
  • data.customer.shipToPostal
  • data.customer.shipToState
  • data.customFields
  • data.customFields.exampleKey
  • data.description
  • data.descriptor
  • data.descriptor.name
  • data.descriptor.address
  • data.descriptor.city
  • data.descriptor.state
  • data.descriptor.postal
  • data.descriptor.country
  • data.descriptor.phone
  • data.descriptor.url
  • data.descriptor.merchantId
  • data.descriptor.mcc
  • data.lodging
  • data.lodging.advanceDeposit
  • data.lodging.checkInDate
  • data.lodging.checkOutDate
  • data.lodging.noShow
  • data.lodging.roomNumber
  • data.lodging.roomRate
  • paymentMethod
  • tokenex
  • tokenex.token
  • tokenex.firstSix
  • tokenex.lastFour
  • card
  • card.cardType
  • card.cardHolderName
  • card.encryptedNumber
  • card.expirationMonth
  • card.expirationYear
  • card.securityCode
  • card.firstSix
  • card.lastFour
  • card.classification
  • card.businessNumber
  • card.password
  • card.pan
  • recurringId
  • merchantId
  • processingOptions
  • processingOptions.merchantId
  • processingOptions.check3ds
  • processingOptions.paymentType
  • processingOptions.customerRedirectUrl
  • processingOptions.checkFraud
  • processingOptions.paymentOptionTag
  • processingOptions.retryOnSoftDecline
  • processingOptions.shouldUseFingerprint
  • processingOptions.verboseResponse
  • clientIp
  • isAuthOnly
  • installment
  • installment.period
  • external3ds
  • external3ds.eci
  • external3ds.cavv
  • external3ds.xid
  • external3ds.version
  • external3ds.enrolled
  • external3ds.pAResStatus

Response parameters

  • id
  • merchantId
  • authCode
  • amount
  • currency
  • transactionDate
  • transactionStatus
  • transactionType
  • shouldUpdateCard
  • card
  • card.cardHolder
  • card.expirationMonth
  • card.expirationYear
  • card.cardType
  • card.cardNumber
  • token
  • token.token
  • token.firstSix
  • token.lastFour
  • token.cardType
  • data
  • data.amount
  • data.currency
  • data.settlementCurrency
  • data.customer
  • data.customer.customerRef
  • data.customer.orderNumber
  • data.customer.orderDate
  • data.customer.invoice
  • data.customer.firstName
  • data.customer.lastName
  • data.customer.birthDate
  • data.customer.billToAddressOne
  • data.customer.billToAddressTwo
  • data.customer.billToCity
  • data.customer.billToCountry
  • data.customer.billToPhone
  • data.customer.billToPostal
  • data.customer.billToState
  • data.customer.email
  • data.customer.phone
  • data.customer.shipToAddressOne
  • data.customer.shipToAddressTwo
  • data.customer.shipToCity
  • data.customer.shipToCountry
  • data.customer.shipToPhone
  • data.customer.shipToPostal
  • data.customer.shipToState
  • data.customer.createdAt
  • data.cart
  • data.cart.items
  • data.cart.items.item
  • data.cart.items.description
  • data.cart.items.quantity
  • data.cart.items.price
  • data.cart.items.type
  • data.lodging
  • data.lodging.advanceDeposit
  • data.lodging.checkInDate
  • data.lodging.checkOutDate
  • data.lodging.noShow
  • data.lodging.roomNumber
  • data.lodging.roomRate
  • data.customFields
  • data.customFields.exampleKey
  • data.nsu
  • kountResponse
  • kountResponse.status
  • kountResponse.rules
  • installment
  • installment.period
  • gatewayResponse
  • gatewayResponse.gatewayName
  • gatewayResponse.refNumber
  • recurringData
  • recurringData.recurringId
  • recurringData.recurringIdType
  • status
  • message
  • redirectUrl
  • asyncTraceId
Recipes
💻
Configuring your backend server to listen for requests from the frontend
Open Recipe
🛒
Creating the checkout page with your own form
Open Recipe
Language
Authorization
Basic
base64
:
Click Try It! to start a request and see the response here!