Verifone Transaction API
The Transaction API from Verifone — 3 operation(s) for transaction.
The Transaction API from Verifone — 3 operation(s) for transaction.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/verifone-transaction-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: 3D Secure 3DS Authentication Transaction API
version: 3.43.0
description: Operations for listing and retrieving 3DS authentication records. Use these endpoints to query historical authentication results filtered by amount, currency, card, status, and more.
servers:
- url: https://emea.gsc.verifone.cloud/oidc/3ds-service
description: EMEA Production
- url: https://us.gsc.verifone.cloud/oidc/3ds-service
description: Americas Production
- url: https://nz.gsc.verifone.cloud/oidc/3ds-service
description: New Zealand Production
- url: https://cst.test-gsc.vfims.com/oidc/3ds-service
description: Global Sandbox
- url: https://uscst-gb.gsc.vficloud.net/oidc/3ds-service
description: Americas Sandbox
security:
- BearerAuth: []
- BasicAuth: []
tags:
- name: Transaction
paths:
/api/v2/transaction/{id}:
get:
operationId: readTransaction
summary: Read transaction
description: Get a transaction
parameters:
- name: id
required: true
in: path
description: transaction id
schema:
type: string
responses:
'200':
description: Transaction
content:
application/json:
schema:
$ref: '#/components/schemas/GatewayTransaction'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestV2Docs'
'401':
description: Unauthorised
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedV2Docs'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenV2Docs'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundV2Docs'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalErrorV2Docs'
tags:
- Transaction
/api/v2/transactions:
get:
operationId: listTransactions
summary: List transactions
description: List of transactions
parameters:
- name: acquirer_merchant_id
required: false
in: query
description: The Code identifying the card acceptor as issued by the Acquiring Institution. This may not be unique across institutions. Also referred to as the MID. ISO8583 - DE 42. This field is for the MID used between VF and a 3rd party acquirer or processor.
schema:
type: string
- name: amount
required: false
in: query
description: Amount of the transaction.
schema:
type: number
- name: created_at
required: false
in: query
description: The time at which the transaction was created.
schema:
title: <date-time>
type: string
- name: created_start
in: query
description: 'The start time range for when the transaction was created, specified in UTC. Use this in conjunction with `created_end` to query for a time range. A maximum range of 1 month of transactions can be queried at a time. Note: If this is not specified it will default to the current date/time - 7 days.'
required: false
style: form
explode: true
schema:
title: <date-time>
type: string
- name: created_end
in: query
description: 'The end time range for when a transaction was created, specified in UTC. Use this in conjunction with `created_start` to query for a time range. A maximum range of 1 month of transactions can be queried at a time. Note: If this is not specified it will default to the current date/time.'
required: false
style: form
explode: true
schema:
title: <date-time>
type: string
- name: country_code
required: false
in: query
description: The country code resolved from the customer's ip address.
schema:
title: <iso3166-alpha2>
type: string
- name: currency_code
required: false
in: query
description: Three-letter ISO 4217 alphabetical currency code. e.g. USD.
schema:
title: Values correspond to ISO 4217.
type: string
- name: customer
required: false
in: query
description: The ID of a customer.
schema:
type: string
- name: enity_id
required: false
in: query
description: The identifier of merchant entity you want to process the transaciton is already processed.
schema:
type: string
- name: invoice_number
required: false
in: query
description: The invoice number used to track the order for POS transactions. For Ecommerce, use merchant_reference.
schema:
title: Invoice Number
type: string
maxLength: 127
- name: merchant_reference
in: query
required: false
style: form
explode: true
schema:
type: string
maxLength: 50
description: A reference specified by the merchant to identify the transaction.
- name: payment_product_type
required: false
in: query
description: Fees applied to the transaction, based on the payment product. e.g. For card transactions - interchange fees
schema:
enum:
- Amex
- Diners Club International
- Discover
- JCB
- Maestro
- Mastercard
- Visa
type: string
- name: shopper_interaction
required: false
in: query
description: Determines the point of sale of a customer.
schema:
enum:
- ecommerce
- pos
- mail_order
- telephone_order
- unknown
type: string
- name: status
required: false
in: query
schema:
title: Please use `transaction_status` instead.
enum:
- INITIATED
- AUTHORIZED
- AUTHORIZATION_VOIDED
- REFUNDED
- FAILED
- PENDING
- DECLINED
- SETTLEMENT_CANCELLED
- SETTLEMENT_REQUESTED
- SETTLEMENT_SUBMITTED
- SETTLEMENT_COMPLETED
- SETTLEMENT_PARTIAL
- SETTLEMENT_DECLINED
- VOIDED
- UNKNOWN
type: string
deprecated: true
- name: transaction_type
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/TransactionType'
- name: transaction_status
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/TransactionState'
- name: _sort
required: false
in: query
description: Sorts the results by ascending order according to the provided field. If the field is prefixed with dash (e.g. -created_at), the order is descending.
schema:
enum:
- created_at
- -created_at
type: string
- name: _skip
required: false
in: query
description: Skips a number of pages.
schema:
type: number
- name: _limit
required: false
in: query
schema:
minimum: 1
maximum: 10000
default: 50
type: number
- name: reason_code
required: false
in: query
description: A reason code assigned by the acquiring platform; '00' in case of success.
schema:
type: string
- name: rrn
required: false
in: query
description: Retrieval Reference Number, is a transaction identifying reference number that is designated by the card acceptor system.
schema:
type: string
- name: pos_device_id
required: false
in: query
description: Identifier of the POS device used for the transaction.
schema:
type: number
- name: stan
required: false
in: query
description: System Trace Audit Number.
schema:
type: number
- name: id
required: false
in: query
description: The ID of the transaction
schema:
type: string
- name: x-vfi-api-idempotencykey
required: false
in: query
description: Unique transaction identifier
schema:
type: string
responses:
'200':
description: Transactions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GatewayTransactions'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestV2Docs'
'401':
description: Unauthorised
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedV2Docs'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenV2Docs'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundV2Docs'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalErrorV2Docs'
tags:
- Transaction
/api/v2/transactions/count:
get:
operationId: countTransactions
summary: Count transactions
description: Count transactions
parameters:
- name: acquirer_merchant_id
required: false
in: query
description: The Code identifying the card acceptor as issued by the Acquiring Institution. This may not be unique across institutions. Also referred to as the MID. ISO8583 - DE 42. This field is for the MID used between VF and a 3rd party acquirer or processor.
schema:
type: string
- name: amount
required: false
in: query
description: Amount of the transaction.
schema:
type: number
- name: created_at
required: false
in: query
description: The time at which the transaction was created.
schema:
title: <date-time>
type: string
- name: country_code
required: false
in: query
description: The country code resolved from the customer's ip address.
schema:
title: <iso3166-alpha2>
type: string
- name: currency_code
required: false
in: query
description: Three-letter ISO 4217 alphabetical currency code. e.g. USD.
schema:
title: Values correspond to ISO 4217.
type: string
- name: customer
required: false
in: query
description: The ID of a customer.
schema:
type: string
- name: enity_id
required: false
in: query
description: The identifier of merchant entity you want to process the transaciton is already processed.
schema:
type: string
- name: invoice_number
required: false
in: query
description: The invoice number used to track the order for POS transactions. For Ecommerce, use merchant_reference.
schema:
title: Invoice Number
type: string
maxLength: 127
- name: merchant_reference
in: query
required: false
style: form
explode: true
schema:
type: string
maxLength: 50
description: A reference specified by the merchant to identify the transaction.
- name: payment_product_type
required: false
in: query
description: Fees applied to the transaction, based on the payment product. e.g. For card transactions - interchange fees
schema:
enum:
- Amex
- Diners Club International
- Discover
- JCB
- Maestro
- Mastercard
- Visa
type: string
- name: shopper_interaction
required: false
in: query
description: Determines the point of sale of a customer.
schema:
enum:
- ecommerce
- pos
- mail_order
- telephone_order
- unknown
type: string
- name: status
required: false
in: query
schema:
title: <b>Deprecated</b>. Please use `transaction_status` instead.
enum:
- INITIATED
- AUTHORIZED
- AUTHORIZATION_VOIDED
- REFUNDED
- FAILED
- PENDING
- DECLINED
- SETTLEMENT_CANCELLED
- SETTLEMENT_REQUESTED
- SETTLEMENT_SUBMITTED
- SETTLEMENT_COMPLETED
- SETTLEMENT_PARTIAL
- SETTLEMENT_DECLINED
- VOIDED
- UNKNOWN
type: string
deprecated: true
- name: transaction_type
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/TransactionType'
- name: transaction_status
in: query
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/TransactionState'
- name: reason_code
required: false
in: query
description: A reason code assigned by the acquiring platform; '00' in case of success.
schema:
type: string
- name: rrn
required: false
in: query
description: Retrieval Reference Number, is a transaction identifying reference number that is designated by the card acceptor system.
schema:
type: string
- name: pos_device_id
required: false
in: query
description: Identifier of the POS device used for the transaction.
schema:
type: number
- name: stan
required: false
in: query
description: System Trace Audit Number.
schema:
type: number
- name: id
required: false
in: query
description: The ID of the transaction
schema:
type: string
responses:
'200':
description: Count transactions
content:
application/json:
schema:
$ref: '#/components/schemas/CountTransactionResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestV2Docs'
'401':
description: Unauthorised
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedV2Docs'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenV2Docs'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundV2Docs'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/InternalErrorV2Docs'
tags:
- Transaction
components:
schemas:
amountString:
type: string
description: Amount including decimal place.
PaymentProductType:
title: Payment Product Type
type: string
description: The payment product type corresponding to this transaction. Fees applied to the transaction, is based on the payment product
enum:
- Affirm
- Amex
- Crypto
- Diners Club International
- Discover
- JCB
- Klarna
- Maestro
- Mastercard
- OP Online Payment
- Swish
- Unknown
- Visa
default: Unknown
TokenDetailsPartial:
type: object
properties:
reuse_token_type:
title: Reuse Token Type
description: 'The type of Reuse Token. This indicates if the reuse token is an internal Verifone type or an external Third-Party type.<br>
**Note**: `reuse_token_details` is **mandatory** when `reuse_token_type` is set to `TAVE` or `CHASE`.
'
type: string
enum:
- CHASE
- INTERNAL
- TAVE
default: INTERNAL
reuse_token:
type: string
description: The Verifone issued reuse token used to represent the previously stored cardholder data.
minLength: 14
maxLength: 255
analytics_token:
type: string
description: A token that cannot be reversed to Card Holder data. This is included in a Payment for auditing and tracking purposes.
ListDetailedAmount:
title: Detailed Amount
description: A structure that represents a breakdown all of the different amounts that may appear on a single transaction.
type: object
properties:
gratuity_amount:
title: Gratuity Amount
description: An optional additional amount representing the tip or gratuity associated with a payment. This should be included in the total 'amount' of the transaction.
$ref: '#/components/schemas/amountString'
cashback_amount:
title: Cashback Amount
description: An optional additional amount representing the cashback associated with a payment.
$ref: '#/components/schemas/amountString'
donation_amount:
title: Donation Amount
description: An optional additional amount representing the donation associated with a payment. This should be included in the total 'amount' of the transaction.
$ref: '#/components/schemas/amountString'
tax_amount:
title: Tax Amount
description: An optional additional amount representing the tax associated with a payment. This should be included in the total 'amount' of the transaction.
$ref: '#/components/schemas/amountString'
surcharge_amount:
title: Surcharge Amount
description: An optional additional amount representing the surcharge associated with a payment. This should be included in the total 'amount' of the transaction.
$ref: '#/components/schemas/amountString'
CustomerDetailsDto:
type: object
title: Customer
description: Customer information containing billing and shipping details.
additionalProperties: false
properties:
title:
type: string
description: The prefix to the party name. This is sometimes referred to as a title, salutation or appellation.
maxLength: 120
first_name:
type: string
description: The first name of the Customer. This may be a proper name or some form of entity name or nickname.
maxLength: 100
middle_name:
type: string
description: The middle name of the Customer. This may be a proper name or some form of entity name or nickname.
maxLength: 100
last_name:
type: string
description: The last name or family name of the Customer.
maxLength: 100
company_name:
type: string
description: Where the Customer is an organisation or company this name should be used rather than the firstName lastName
maxLength: 100
phone_number:
type: string
description: Customers phone number for billing address.
maxLength: 25
email_address:
type: string
title: email
format: email
description: Customer email address, which might be used during refund flow.
shipping:
allOf:
- $ref: '#/components/schemas/CustomerDetailsShippingInformationDto'
billing:
allOf:
- $ref: '#/components/schemas/BillingDto'
- description: The address of billing.
title: Billing Address
language:
type: string
title: language
description: "The BCP-47 language tag. The tag is composed of:\n\n* The ISO-639 alpha-1 or ISO-639 alpha-2 language code\n\n* (Optional) The ISO-15924 script tag\n\n* The ISO-3166 alpha-2 country code\n\n `NOTE:`The value is case-insensitive, so for example \"he\" and \"HE\" should be considered equal."
CardBrand:
type: string
title: The Card Type
description: "Represents a Card type or brand. It should correspond to a consistent name, the list of standard names is as follows:\n\nValue | Description\n------|-------------\nAMEX|American Express\nCB|Carte Bancaires\nDINERS|Diners Club International\nDISCOVER|Diners Club Discover\nJCB|Japan Credit Bureau\nMAESTRO|Multi-national Debit (MasterCard)\nMASTERCARD|MasterCard\nVISA|Visa\nUPI|Union Pay International\nGIFT_CARD|Gift Card (Generic)\nPLCC|Private Label Credit Card\n**Other local schemes as applicable**. Enter a pre-defined name to represent the scheme or type. \n**Note**: 1. For gift cards, card brand is mandatory and the value should be GIFT_CARD.\n2. This parameter is mandatory for dual branded cards."
NotFoundV2Docs:
type: object
properties:
details:
type: object
additionalProperties:
type: object
timestamp:
type: number
description: Error timestamp
reversal_status:
type: string
description: Indicates to the API client if a technical reversal has been completed by Verifone.
default: NONE
enum:
- NONE
- REQUIRED
- COMPLETED
code:
type: number
enum:
- 404
default: 404
message:
type: string
enum:
- The requested resource, or one of its sub-resources, can't be found. If the submitted query is valid, this error is likely to be caused by a problem with a nested resource that has been deleted or modified. Check the details property for additional insights.
default: The requested resource, or one of its sub-resources, can't be found. If the submitted query is valid, this error is likely to be caused by a problem with a nested resource that has been deleted or modified. Check the details property for additional insights.
required:
- message
BillingDto:
type: object
additionalProperties: false
properties:
address_1:
type: string
maxLength: 40
description: Customer's primary billing address information.
address_2:
type: string
maxLength: 40
description: Customer's secondary billing address information.
address_3:
type: string
maxLength: 40
description: Customer's third billing address information.
city:
type: string
maxLength: 28
description: Customer's city on their billing address
country:
type: string
title: Country Code
description: The ISO 3166-1 alpha-3 country code.
enum:
- ZZ
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BV
- BW
- BY
- BZ
- CA
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CW
- CX
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SX
- SY
- SZ
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UM
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- YE
- YT
- ZA
- ZM
- ZW
phone:
type: string
maxLength: 25
description: Customer's phone number for billing address. This should be un formatted without hyphens. (e.g. 4422345678)
postal_code:
type: string
maxLength: 10
description: Customer's postal code of their billing address.
state:
type: string
maxLength: 35
description: Customer's state or province of their billing address. (e,g. Ohio = OH, Texas = TX)
ShippingInformation:
type: object
properties:
address:
type: string
maxLength: 300
description: Street address of the recipient.
city:
type: string
maxLength: 28
description: City of the recipient.
country:
type: string
maxLength: 2
minLength: 2
format: country-code
description: A 2-letter ISO3166 alpha-2 country code for the address.
postal_code:
type: string
minLength: 1
maxLength: 16
description: A postal code for the address.
email:
type: string
title: Email Address
minLength: 3
maxLength: 254
format: email
description: A valid internationalized email address, as defined by RFC 5322, RFC 6530, and other RFCs. Due to RFC 5321, an email address can be up to 254 characters long even though up to 64 characters are allowed before and 255 characters are allowed after the @ sign. This pattern verifies only that the string contains an unquoted @ sign. See https://tools.ietf.org/html/rfc5322#section-3.4.1.
first_name:
type: string
maxLength: 100
description: First name of the recipient.
last_name:
type: string
maxLength: 100
description: Last name of the recipient.
phone:
type: number
maxLength: 15
description: Numbers only, no dash or any other separator.
state:
type: string
maxLength: 35
description: A region / state / province for the address.
required:
- address
- city
- country
- postal_code
GatewayTransaction:
type: object
properties:
id:
type: string
title: Transaction ID
description: The unique transaction id. This is the identifier to be used for locating the transaction and for reconciliation and auditing.
amount:
$ref: '#/components/schemas/amountString'
acquirer_authorizing_network_id:
$ref: '#/components/schemas/acquirerAuthorizingNetworkID'
acquirer_authorizing_network_id_descriptor:
$ref: '#/components/schemas/acquirerAuthorizingNetworkIdDescriptor'
acquirer_response_code:
$ref: '#/components/schemas/acquirerResponseCode'
acquirer_response_message:
$ref: '#/components/schemas/acquirerResponseMessage'
currency_code:
type: string
title: Currency code
description: Three-letter ISO 4217 alphabetical currency code. e.g. USD. Values correspond to ISO 4217.
enum:
- 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
# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/verifone/refs/heads/main/openapi/verifone-transaction-api-openapi.yml