openapi: 3.0.1
info:
title: 3DS 3DS actions CardVerifications API
description: "Protect your business and meet regulatory requirements by verifying your customer's identity.\n\n__Authentication header__\n ```\n Authorization: {your_credentials}\n ```\nReplace `{your_credentials}` with your base64-encoded Basic Auth username and password given to your by your Worldpay Implementation Manager.\n
\n\nYou **must** use the `Authorization` header for any request you send to our 3DS API.\n\n__Accept/Content-Type header__\n ```\n Content-Type: application/vnd.worldpay.verifications.customers-v3.hal+json\n Accept: application/vnd.worldpay.verifications.customers-v3.hal+json\n ```\nWe use the Accept header to identify which version of our API you are using. You must use the Accept header for any request you send to our 3DS API.\n\nWe require the Content-Type header if the request you're sending includes a request body, and if the HTTP method is a `POST` or a `PUT`.\n
\n\n\n__DNS whitelisting__ \nWhitelist the following URLs:\n* `https://try.access.worldpay.com/`\n* `https://access.worldpay.com/`\n\nPlease ensure you use DNS whitelisting, not explicit IP whitelisting."
version: '3'
x-metadata:
category:
- 3DS
- SCA Exemptions
business:
- Enterprise
catalog-list: true
generated: false
servers:
- url: https://try.access.worldpay.com
description: Test (Try)
- url: https://access.worldpay.com
description: Live
security:
- BasicAuth: []
tags:
- name: CardVerifications
paths:
/cardVerifications:
post:
summary: Card Verification / Name Inquiry
description: Verify your customer's card.
Perform a name inquiry to verify the name of the cardholder.
operationId: cardVerify
parameters:
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/contentTypeHeader'
requestBody:
description: Card verification or Cardholder Name Inquiry.
content:
application/vnd.worldpay.cardverifications-v6+json:
schema:
$ref: '#/components/schemas/type'
examples:
Successful card verification for payfac and card on file:
value:
type: cardVerification
merchant:
entity: default
mcc: '6012'
paymentFacilitator:
schemeId: '12345678901'
independentSalesOrganizationId: '12345678901'
subMerchant:
name: Merchant Plc
reference: '12345'
address:
street: 123 Street
state: CA
city: San Francisco
countryCode: US
postalCode: '94101'
taxReference: '12345'
phoneNumber: 0123456789
email: test@email.com
url: developer.worldpay.com
transactionReference: Memory265-13/08/1876
instruction:
value:
amount: 250
currency: GBP
narrative:
line1: MindPalace
line2: Memory
customerAgreement:
type: cardOnFile
paymentInstrument:
type: card/plain
cardHolderName: Sherlock Holmes
expiryDate:
month: 5
year: 2050
cardNumber: '4444333322221111'
billingAddress:
address1: 221B Baker Street
address2: Marylebone
address3: Westminster
postalCode: NW1 6XE
city: Cambridge
countryCode: GB
cvc: '101'
Successful card verification with a token:
value:
type: cardVerification
merchant:
entity: default
transactionReference: Memory265-13/08/1876
instruction:
consumerBillPayment: true
value:
amount: 250
currency: GBP
narrative:
line1: MindPalace
line2: Memory
paymentInstrument:
type: card/token
href: https://tokens/token
cvc: '101'
Successful card verification with a token, 3DS data and customer agreement:
value:
type: cardVerification
merchant:
entity: default
transactionReference: Memory265-13/08/1876
instruction:
value:
currency: GBP
narrative:
line1: MindPalace
line2: Memory
paymentInstrument:
type: card/token
href: https://access.worldpay.com/tokens/eyJrIjoxLCJkIjoiYzg4bnE5eXNvMStUV094UGdnS25KcHdpYXhaRVpYRi8wVVVvK1JvbFIvcDRteUt6Z21BN3FxdDW6DEYxeWNieSJ9
cvc: '123'
customerAgreement:
type: cardOnFile
storedCardUsage: first
authentication:
threeDS:
version: 2.2.0
authenticationValue: kADeKlfHWpHFFaRMCSPajbeBiDsa
eci: '02'
transactionId: 3re97c8b-9641-4270-aa2c-02c7abb743a9
Successful card verification with a network token:
value:
type: cardVerification
merchant:
entity: default
transactionReference: Memory265-13/08/1876
instruction:
consumerBillPayment: true
value:
amount: 250
currency: GBP
narrative:
line1: MindPalace
line2: Memory
paymentInstrument:
type: card/networkToken
tokenNumber: '4444333322221111'
expiryDate:
month: 5
year: 2050
billingAddress:
address1: 221B Baker Street
address2: Marylebone
address3: Westminster
postalCode: NW1 6XE
city: Cambridge
countryCode: GB
cardHolderName: John Appleseed
customerAgreement:
type: cardOnFile
storedCardUsage: first
authentication:
threeDS:
eci: '05'
version: 2.1.0
authenticationValue: MAAAAAAAAAAAAAAAAAAAAAAAAAA=
transactionId: c5b808e7-1de1-4069-a17b-f70d3b3b1645
networkToken:
cryptogram: MAAAAAAAAAAAAAAAAAAAAAAAAAB=
eci: '06'
Successful card verification for one-time and nominal retry:
value:
type: cardVerification
merchant:
entity: default
transactionReference: Memory265-13/08/1876
instruction:
nominalRetry: true
value:
currency: GBP
narrative:
line1: MindPalace
line2: Memory
paymentInstrument:
type: card/plain
cardHolderName: Sherlock Holmes
expiryDate:
month: 5
year: 2050
cardNumber: '4444333322221111'
billingAddress:
address1: 221B Baker Street
address2: Marylebone
address3: Westminster
postalCode: NW1 6XE
city: Cambridge
countryCode: GB
Successful card verification for one-time with no nominal retry:
value:
type: cardVerification
merchant:
entity: default
transactionReference: Memory265-13/08/1876
instruction:
value:
currency: GBP
narrative:
line1: MindPalace
line2: Memory
paymentInstrument:
type: card/plain
cardHolderName: Sherlock Holmes
expiryDate:
month: 5
year: 2050
cardNumber: '4444333322221111'
billingAddress:
address1: 221B Baker Street
address2: Marylebone
address3: Westminster
postalCode: NW1 6XE
city: Cambridge
countryCode: GB
Successful card verification with 3DS2 values:
value:
type: cardVerification
merchant:
entity: default
transactionReference: Memory265-13/08/1876
instruction:
value:
amount: 250
currency: GBP
narrative:
line1: MindPalace
line2: Memory
paymentInstrument:
type: card/plain
cardHolderName: Sherlock Holmes
expiryDate:
month: 5
year: 2050
cardNumber: '4444333322221111'
billingAddress:
address1: 221B Baker Street
address2: Marylebone
address3: Westminster
postalCode: NW1 6XE
city: Cambridge
countryCode: GB
cvc: '101'
authentication:
threeDS:
eci: '05'
version: 2.1.0
authenticationValue: MAAAAAAAAAAAAAAAAAAAAAAAAAA=
transactionId: c5b808e7-1de1-4069-a17b-f70d3b3b1645
cryptogramAlgorithm: '2'
challengePreference: challengeMandated
authenticationFlow: challenge
statusReason: '11'
cancellationIndicator: '01'
networkScore: '00'
brand: cartesBancaires
Successful card verification with optional fund transfer values:
value:
type: cardVerification
merchant:
entity: default
mcc: '6012'
paymentFacilitator:
schemeId: '12345678901'
independentSalesOrganizationId: '12345678901'
subMerchant:
name: Merchant Plc
reference: '12345'
address:
street: 123 Street
state: CA
city: San Francisco
countryCode: US
postalCode: '94101'
taxReference: '12345'
phoneNumber: 0123456789
email: test@email.com
url: developer.worldpay.com
transactionReference: Memory265-13/08/1876
instruction:
value:
amount: 250
currency: GBP
narrative:
line1: MindPalace
line2: Memory
customerAgreement:
type: cardOnFile
paymentInstrument:
type: card/plain
cardHolderName: Sherlock Holmes
expiryDate:
month: 5
year: 2050
cardNumber: '4444333322221111'
billingAddress:
address1: 221B Baker Street
address2: Marylebone
address3: Westminster
postalCode: NW1 6XE
city: Cambridge
countryCode: GB
cvc: '101'
fundsTransfer:
type: personToPerson
purpose: gift
Successful card verification with Apple Pay decrypted:
value:
type: cardVerification
merchant:
entity: default
transactionReference: Memory265-13/08/1876
instruction:
consumerBillPayment: true
value:
amount: 250
currency: GBP
narrative:
line1: MindPalace
line2: Memory
paymentInstrument:
type: card/networkToken+applepay
cardHolderName: Sherlock Holmes
expiryDate:
month: 5
year: 2050
tokenNumber: '4444333322221111'
billingAddress:
address1: 221B Baker Street
address2: Marylebone
address3: Westminster
postalCode: NW1 6XE
city: Cambridge
countryCode: GB
customerAgreement:
type: cardOnFile
storedCardUsage: first
authentication:
networkToken:
cryptogram: MAAAAAAB=
eci: '06'
Successful card verification with Google Pay decrypted:
value:
type: cardVerification
merchant:
entity: default
transactionReference: Memory265-13/08/1877
instruction:
consumerBillPayment: true
value:
amount: 250
currency: GBP
narrative:
line1: MindPalace
line2: Memory
paymentInstrument:
type: card/networkToken+googlepay
cardHolderName: Sherlock Holmes
expiryDate:
month: 5
year: 2050
tokenNumber: '4444333322221111'
billingAddress:
address1: 221B Baker Street
address2: Marylebone
address3: Westminster
postalCode: NW1 6XE
city: Cambridge
countryCode: GB
customerAgreement:
type: cardOnFile
storedCardUsage: first
authentication:
networkToken:
cryptogram: MAAAAACB=
eci: '02'
Successful card verification with Samsung Pay decrypted:
value:
type: cardVerification
merchant:
entity: default
transactionReference: Memory265-13/08/1878
instruction:
consumerBillPayment: true
value:
amount: 250
currency: GBP
narrative:
line1: MindPalace
line2: Memory
paymentInstrument:
type: card/networkToken+samsungpay
cardHolderName: Sherlock Holmes
expiryDate:
month: 5
year: 2050
tokenNumber: '4444333322221111'
billingAddress:
address1: 221B Baker Street
address2: Marylebone
address3: Westminster
postalCode: NW1 6XE
city: Cambridge
countryCode: GB
customerAgreement:
type: cardOnFile
storedCardUsage: first
authentication:
networkToken:
cryptogram: MAAACDAB=
eci: '04'
Successful cardholder name inquiry with card details:
value:
type: nameInquiry
merchant:
entity: default
instruction:
paymentInstrument:
type: card/plain
cardNumber: '4444333322221111'
expiryDate:
month: 5
year: 2035
cvc: '123'
cardHolder:
firstName: William
middleName: Sherlock Scott
lastName: Holmes
Successful cardholder name inquiry with a token:
value:
type: nameInquiry
merchant:
entity: default
instruction:
paymentInstrument:
type: card/token
href: https://tokens/token
cvc: '101'
cardHolder:
firstName: William
middleName: Sherlock Scott
lastName: Holmes
required: true
responses:
'200':
description: Successful cardholder name inquiry outcome.
headers:
WP-CorrelationId:
schema:
type: string
description: This will be echoed from the request header of the same name
content:
application/vnd.worldpay.cardverifications-v6+json:
schema:
oneOf:
- title: Matched name inquiry (verified result)
type: object
properties:
outcome:
$ref: '#/components/schemas/outcome'
nameInquiry:
$ref: '#/components/schemas/nameInquiry'
- $ref: '#/components/schemas/AccountNameInquiryResponseMatched'
- $ref: '#/components/schemas/AccountNameInquiryResponseWithRiskFactors'
- $ref: '#/components/schemas/AccountNameInquiryResponseWithOutcomeNotVerified'
- $ref: '#/components/schemas/AccountNameInquiryResponseWithOutcomeNotVerifiedWithRefusalCode'
'201':
description: Successful card verification outcome.
headers:
WP-CorrelationId:
schema:
type: string
description: This will be echoed from the request header of the same name
content:
application/vnd.worldpay.cardverifications-v6+json:
schema:
oneOf:
- title: Successful Verification
type: object
required:
- outcome
- checkedAt
properties:
outcome:
$ref: '#/components/schemas/outcome'
scheme:
$ref: '#/components/schemas/scheme'
checkedAt:
$ref: '#/components/schemas/checkedAt'
riskFactors:
$ref: '#/components/schemas/riskFactors'
paymentInstrument:
$ref: '#/components/schemas/paymentInstrumentCardDetails'
_links:
type: object
example:
cardVerifications:verification:
href: https://try.access.worldpay.com/cardVerifications/linkData
- title: Refused Verification
type: object
properties:
outcome:
$ref: '#/components/schemas/outcome'
scheme:
$ref: '#/components/schemas/scheme'
refusalCode:
$ref: '#/components/schemas/refusalCode'
refusalDescription:
$ref: '#/components/schemas/refusalDescription'
advice:
$ref: '#/components/schemas/advice'
checkedAt:
$ref: '#/components/schemas/checkedAt'
riskFactors:
$ref: '#/components/schemas/riskFactors'
paymentInstrument:
$ref: '#/components/schemas/paymentInstrumentCardDetails'
_links:
type: object
example:
cardVerifications:verification:
href: https://try.access.worldpay.com/cardVerifications/linkData
example:
outcome: not verified
refusalCode: '76'
refusalDescription: CARD BLOCKED
advice:
code: '04'
checkedAt: '2019-11-28T12:02:49.572137Z'
riskFactors:
- risk: notMatched
type: cvc
- risk: notMatched
detail: postcode
type: avs
- risk: notMatched
detail: address
type: avs
paymentInstrument:
type: card/plain+masked
issuerName: cardIssuer
cardBin: '444433'
lastFour: '1111'
brand: visa
fundingType: debit
category: consumer
paymentAccountReference: reference
countryCode: GB
expiryDate:
month: 12
year: 2029
_links:
cardVerifications:verification:
href: https://try.access.worldpay.com/cardVerifications/linkData
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
tags:
- CardVerifications
/cardVerifications/{linkData}:
get:
summary: Query a previous verification
description: Querying of a successful verification.
operationId: getCardVerificationByResourceId
parameters:
- name: linkData
in: path
description: Action link that's received in your request.
required: true
schema:
type: string
- $ref: '#/components/parameters/acceptHeader'
- $ref: '#/components/parameters/contentTypeHeader'
responses:
'200':
description: Successful query request
headers:
WP-CorrelationId:
$ref: '#/components/headers/wpCorrelationId'
content:
application/vnd.worldpay.cardVerifications-v6+json:
schema:
$ref: '#/components/schemas/response200'
examples:
Querying of a successful verification for oneTime:
description: Querying of a successful verification for oneTime
value:
outcome: verified
checkedAt: '2018-09-01T10:37:36.923Z'
riskFactors:
- risk: matched
type: cvc
- risk: matched
detail: postcode
type: avs
- risk: matched
detail: address
type: avs
paymentInstrument:
type: card/plain+masked
cardBin: '444433'
lastFour: '1111'
countryCode: GB
expiryDate:
month: 12
year: 2029
brand: visa
fundingType: debit
issuerName: cardIssuer
category: consumer
paymentAccountReference: reference
_links:
'cardVerifications: verification':
href: https://try.access.worldpay.com/cardVerifications/{resource}
Querying of a successful verification for cardOnFile:
description: Querying of a successful verification for cardOnFile
value:
outcome: verified
scheme:
reference: '00000000000000000'
checkedAt: '2018-09-01T10:37:36.923Z'
riskFactors:
- risk: matched
type: cvc
- risk: matched
detail: postcode
type: avs
- risk: matched
detail: address
type: avs
paymentInstrument:
type: card/plain+masked
cardBin: '444433'
lastFour: '1111'
countryCode: GB
expiryDate:
month: 12
year: 2029
brand: visa
fundingType: debit
issuerName: cardIssuer
category: consumer
paymentAccountReference: reference
_links:
cardVerifications:verification:
href: https://try.access.worldpay.com/cardVerifications/{resource}
Querying of a refused verification:
description: Querying of a refused verification
value:
outcome: not verified
refusalCode: '76'
refusalDescription: CARD BLOCKED
advice:
code: '04'
checkedAt: '2019-11-28T12:02:49.572137Z'
riskFactors:
- risk: notMatched
type: cvc
- risk: notMatched
detail: postcode
type: avs
- risk: notMatched
detail: address
type: avs
paymentInstrument:
type: card/plain+masked
cardBin: '444433'
lastFour: '1111'
countryCode: GB
expiryDate:
month: 12
year: 2029
brand: visa
fundingType: debit
issuerName: cardIssuer
category: consumer
paymentAccountReference: reference
_links:
'cardVerifications: verification':
href: 'https: //try.access.worldpay.com/cardVerifications/{resource}'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404get'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
tags:
- CardVerifications
components:
responses:
'500':
description: An error occurred processing the request on our side.
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/json:
schema:
title: error500
type: object
required:
- errorName
- message
properties:
errorName:
type: string
enum:
- internalServerError
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: internalServerError
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: An internal server error occurred
'403':
description: Boarding issue - unable to process requested merchant
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/vnd.worldpay.cardVerifications-v6+json:
schema:
title: error403
type: object
required:
- errorName
- message
properties:
errorName:
type: string
enum:
- resourceNotFound
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: boardingError
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: There has been a problem with your boarding and you cannot use this API yet, please contact support.
example:
errorName: boardingError
message: There has been a problem with your boarding and you cannot use this API yet, please contact support.
'400':
description: Bad Request
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/json:
examples:
Validation Error:
$ref: '#/components/examples/validationError'
Header Error:
$ref: '#/components/examples/headerError'
schema:
title: error400
type: object
required:
- errorName
- message
properties:
errorName:
type: string
enum:
- internalErrorOccurred
- headerIsMissing
- headerHasInvalidValue
- bodyIsEmpty
- bodyIsNotJson
- bodyDoesNotMatchSchema
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: bodyDoesNotMatchSchema
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: A JSON body matching the expected schema must be provided.
validationErrors:
type: array
description: If there were field validation errors, they will be collected in this array
items:
$ref: '#/components/schemas/validationError'
headerName:
type: string
description: If the header is missing or does not contain an expected value, this field will be populated with the incorrect header name.
example: Content-Type
'415':
description: Invalid content-type HTTP header
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/json:
schema:
title: error415
type: object
required:
- errorName
- message
properties:
errorName:
type: string
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: headerHasInvalidValue
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: A valid header must be provided.
headerName:
type: string
description: If the header is missing or does not contain an expected value, this field will be populated with the incorrect header name.
example: Content-Type
'401':
description: Client is not authorized due to missing or invalid Authorization header.
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/json:
schema:
title: error401
type: object
required:
- errorName
- message
- headerName
properties:
errorName:
type: string
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: accessDenied
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: Access to the requested resource has been denied
'404':
description: Not Found - unable to locate requested record
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/vnd.worldpay.cardVerifications-v6+json:
schema:
title: error400
type: object
required:
- errorName
- message
properties:
errorName:
type: string
enum:
- resourceNotFound
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: resourceNotFound
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: Unable to verify the historic outcome from the data provided
example:
errorName: resourceNotFound
message: Unable to verify the historic outcome from the data provided
404get:
description: Not Found - unable to locate requested record
headers:
WP-CorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
content:
application/vnd.worldpay.cardVerifications-v6+json:
schema:
title: error404
type: object
required:
- errorName
- message
properties:
errorName:
type: string
enum:
- verificationNotReady
description: A machine and human readable error type for clarity and semantic understanding of the error.
example: verificationNotReady
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: The account verification was concluded, but is not ready to be viewed. Please try again later.
example:
errorName: verificationNotReady
message: The account verification was concluded, but is not ready to be viewed. Please try again later.
schemas:
typeCardVerification:
title: cardVerification
type: object
required:
- type
- merchant
- transactionReference
- instruction
properties:
type:
type: string
enum:
- cardVerification
merchant:
$ref: '#/components/schemas/merchant'
transactionReference:
$ref: '#/components/schemas/transactionReference'
instruction:
$ref: '#/components/schemas/instruction'
channel:
$ref: '#/components/schemas/channel'
authentication:
$ref: '#/components/schemas/authentication'
recipient:
$ref: '#/components/schemas/recipient'
response200:
required:
- outcome
- checkedAt
- _links
type: object
properties:
outcome:
$ref: '#/components/schemas/outcome'
scheme:
$ref: '#/components/schemas/scheme'
checkedAt:
$ref: '#/components/schemas/checkedAt'
refusalCode:
$ref: '#/components/schemas/refusalCode'
refusalDescription:
$ref: '#/components/schemas/refusalDescription'
advice:
$ref: '#/components/schemas/advice'
riskFactors:
$ref: '#/components/schemas/riskFactors'
paymentInstrument:
$ref: '#/components/schemas/paymentInstrumentCardDetails'
_links:
type: object
example:
cardVerifications:verification:
href: https://try.access.worldpay.com/cardVerifications/linkData
cardExpiryDate:
required:
- month
- year
description: The expiry date of the card
type: object
properties:
year:
type: integer
description: Four digit expiry year
format: int32
example: 2025
month:
type: integer
description: Expiry month
format: int32
example: 8
paymentInstrument:
description: An object that contains your customer's payment details.
oneOf:
- $ref: '#/components/schemas/cardPlain'
- $ref: '#/components/schemas/cardToken'
- $ref: '#/components/schemas/cardNetworkToken'
- $ref: '#/components/schemas/cardApplepayDecrypted'
- $ref: '#/components/schemas/cardGooglepayDecrypted'
- $ref: '#/components/schemas/cardSamsungpayDecrypted'
subscription:
title: subscription
required:
- type
type: object
properties:
type:
title: type
type: string
description: The processing arrangement agreed with your customer.
enum:
- subscription
storedCardUsage:
$ref: '#/components/schemas/storedCardUsage'
customerAgreementType:
title: type
type: string
description: The processing arrangement agreed with your customer.
enum:
- installment
storedCardUsage:
description: If this optional field is not provided, `first` will be used. Set to `first` for original verification or `subsequent` to use a previously stored card.
type: string
enum:
- first
- subsequent
cardApplepayDecrypted:
title: card/networkToken+applepay
required:
- type
- expiryDate
- tokenNumber
type: object
properties:
type:
type: string
example: card/networkToken+applepay
expiryDate:
$ref: '#/components/schemas/cardExpiryDate'
tokenNumber:
type: string
description: The token number issued by Apple Pay
billingAddress:
type: object
description: 'An object containing the billing address information. If included you must send at least: [address1, city, countryCode, postalCode]'
required:
- address1
- city
- countryCode
- postalCode
properties:
address1:
type: string
description: Address line1 of billing address.
example: 221B Baker Street
maxLength: 80
minLength: 1
address2:
type: string
description: Address line2 of billing address.
example: Marylebone
maxLength: 80
minLength: 1
address3:
type: string
description: Address line3 of billing address.
example: Westminster
maxLength: 80
minLength: 1
postalCode:
$ref: '#/components/schemas/postalCode'
city:
type: string
description: City of billing address
example: London
maxLength: 50
minLength: 1
state:
type: string
description: Region, state, or province of billing address
example: GB
maxLength: 30
minLength: 1
countryCode:
type: string
description: The alpha-2 ISO-3166 country code of the billing address.
example: GB
pattern: ^[A-Z]{2}$
cardHolderName:
type: string
type:
type: object
oneOf:
- $ref: '#/components/schemas/typeCardVerification'
- $ref: '#/components/schemas/typeNameInquiry'
cardToken-ani:
title: card/token
type: object
required:
- type
- href
properties:
type:
type: string
enum:
- card/token
href:
type: string
description: An element that contains your token.
example: https://tokens/token
cvc:
type: string
description: CVC is a unique set of 3 or 4 numbers on the back of your customer's card. Including the CVC in your request increases the chances of the verification request outcome being verified. Our API checks to see if the CVC supplied matches the CVC held by the issuing bank.
example: '101'
pattern: ^\d{3,4}$
firstNameInquiry:
type: string
description: given name
maxLength: 35
minLength: 1
example: Alice
cardToken:
title: card/token
type: object
required:
- type
- href
properties:
type:
type: string
example: card/token
href:
type: string
description: An element that contains your token.
example: https://tokens/token
cvc:
type: string
description: CVC is a unique set of 3 or 4 numbers on the back of your customer's card. Including the CVC in your request increases the chances of the verification request outcome being verified. Our API checks to see if the CVC supplied matches the CVC held by the issuing bank.
example: '101'
pattern: ^\d{3,4}$
billingAddress:
type: object
description: 'An object containing the billing address information. If provided, it will override the billing address information from actual token If included you must send at least: [address1, city, countryCode, postalCode]'
required:
- address1
- city
- countryCode
- postalCode
properties:
address1:
type: string
description: Address line1 of billing address.
example: 221B Baker Street
maxLength: 80
minLength: 1
address2:
type: string
description: Address line2 of billing address.
example: Marylebone
maxLength: 80
minLength: 1
address3:
type: string
description: Address line3 of billing address.
example: Westminster
maxLength: 80
minLength: 1
postalCode:
$ref: '#/components/schemas/postalCode'
city:
type: string
description: City of billing address
example: London
maxLength: 50
minLength: 1
state:
type: string
description: Region, state, or province of billing address
example: GB
maxLength: 30
minLength: 1
countryCode:
type: string
description: The alpha-2 ISO-3166 country code of the billing address.
example: GB
AccountNameInquiryResponseWithOutcomeNotVerifiedWithRefusalCode:
title: Card unsupported for name inquiry and not verified result
type: object
properties:
outcome:
$ref: '#/components/schemas/outcome'
nameInquiry:
$ref: '#/components/schemas/nameInquiry'
refusalCode:
$ref: '#/components/schemas/refusalCode'
refusalDescription:
$ref: '#/components/schemas/refusalDescription'
riskFactors:
$ref: '#/components/schemas/riskFactors'
example:
outcome: not verified
nameInquiry: notSupported
refusalCode: '15'
refusalDescription: No such issuer
riskFactors:
- type: nameInquiry
detail: firstName
risk: notSupported
- type: nameInquiry
detail: middleName
risk: notSupported
- type: nameInquiry
detail: lastName
risk: notSupported
typeNameInquiry:
title: nameInquiry
type: object
required:
- type
- merchant
- instruction
properties:
type:
type: string
enum:
- nameInquiry
merchant:
$ref: '#/components/schemas/aniMerchant'
instruction:
type: object
required:
- paymentInstrument
- cardHolder
properties:
paymentInstrument:
$ref: '#/components/schemas/paymentInstrument-ani'
cardHolder:
$ref: '#/components/schemas/cardHolder'
cardSamsungpayDecrypted:
title: card/networkToken+samsungpay
required:
- type
- expiryDate
- tokenNumber
type: object
properties:
type:
type: string
example: card/networkToken+samsungpay
expiryDate:
$ref: '#/components/schemas/cardExpiryDate'
tokenNumber:
type: string
description: The token number issued by Samsung Pay.
billingAddress:
type: object
description: 'An object containing the billing address information. If included you must send at least: [address1, city, countryCode, postalCode].'
required:
- address1
- city
- countryCode
- postalCode
properties:
address1:
type: string
description: Address line 1 of billing address.
example: 221B Baker Street
maxLength: 80
minLength: 1
address2:
type: string
description: Address line 2 of billing address.
example: Marylebone
maxLength: 80
minLength: 1
address3:
type: string
description: Address line 3 of billing address.
example: Westminster
maxLength: 80
minLength: 1
postalCode:
$ref: '#/components/schemas/postalCode'
city:
type: string
description: City of billing address.
example: London
maxLength: 50
minLength: 1
state:
type: string
description: Region, state, or province of billing address.
example: GB
maxLength: 30
minLength: 1
countryCode:
type: string
description: The alpha-2 ISO-3166 country code of the billing address.
example: GB
pattern: ^[A-Z]{2}$
cardHolderName:
type: string
channel:
type: string
description: 'The payment channel indicates the interaction of the cardholder with the merchant.
Supply a value of `moto` to process an authorization as a Mail Order or Telephone Order transaction.
When channel is not provided, the authorization will be processed as ecommerce `ecom` by default.
**NOTE:** 3DS `authentication` data cannot be supplied for MOTO payments.
'
enum:
- moto
- ecom
recipient:
type: object
description: 'The details of the recipient of the payment.
We highly recommend you supply this, if your MCC is 6012 or 6051. Sending this field ensures you remain PSD2 compliant
and avoid potential acquirer refusals.
'
properties:
accountReference:
type: string
description: Partial account number.
example: azAZ0123
lastName:
$ref: '#/components/schemas/lastName'
address:
type: object
required:
- postalCode
properties:
postalCode:
$ref: '#/components/schemas/postalCode'
dateOfBirth:
type: object
required:
- day
- month
- year
properties:
day:
type: number
description: Recipient's day of birth
example: 1
month:
type: number
description: Recipient's month of birth
example: 2
year:
type: number
description: Recipient's year of birth
example: 2000
riskFactors:
description: List of risks involved in this verification.
type: array
required:
- risk
- type
items:
type: object
properties:
type:
type: string
enum:
- cvc
- avs
- nameInquiry
example: avs
risk:
type: string
enum:
- notChecked
- notMatched
- notSupplied
- partialMatched
- notSupported
example: notMatched
detail:
type: string
enum:
- postcode
- address
- firstName
- middleName
- lastName
example: postcode
example:
- type: cvc
risk: notSupplied
- type: avs
detail: postcode
risk: notSupplied
- type: avs
detail: address
risk: notSupplied
nameInquiry:
type: string
enum:
- matched
- partialMatched
- notMatched
- notChecked
- notSupported
description: Result of the Cardholder Name Inquiry
merchant:
type: object
description: Information about the merchant.
required:
- entity
properties:
entity:
type: string
description: This should map to a profile from the Onboarding Domain. For more information contact your Relationship Manager or Worldpay Implementation Manager.
mcc:
type: string
description: A Merchant Category Code (MCC) can be applied to an individual request. You can only supply `mcc`, if we have enabled the dynamic MCC feature during boarding. If enabled but not provided, `merchant.mcc` defaults to a configured value. For more information contact your Relationship Manager or Worldpay Implementation Manager.
example: '6012'
paymentFacilitator:
type: object
description: 'An object containing your payment facilitator information.
This parameter is only required for verification if you are a payment facilitator.'
required:
- schemeId
- subMerchant
properties:
schemeId:
type: string
description: ' Your payment facilitator ID received from Mastercard, Visa and Amex.'
example: '12345678901'
independentSalesOrganizationId:
type: string
description: ' Independent Sales Organization (ISO) ID provided by Mastercard.'
example: '12345678901'
subMerchant:
type: object
description: Your sub-merchant's details
required:
- merchantId
- name
- address
- street
- city
- countryCode
- postalCode
properties:
reference:
type: string
description: Unique merchant reference
example: '123456789012345'
pattern: ^[0-9]{1,15}$
name:
type: string
description: The name of your subMerchant's company
example: Stonewall Inn
pattern: ^[A-Za-z0-9 ]{1,25}$
address:
type: object
required:
- postalCode
- street
- city
- countryCode
properties:
street:
type: string
description: Street name of your subMerchant's company
example: 53 Christopher Street
pattern: ^[A-Z, a-z,0-9,\s]{1,50}$
state:
type: string
description: State of your subMerchant's company
example: NY
pattern: ^[A-Z]{1,3}$
city:
type: string
description: City of your subMerchant's company
example: New York City
pattern: ^[A-Z, a-z,\-\s]{1,13}$
countryCode:
type: string
description: The alpha-2 ISO-3166 country code of the billing address
example: GB
pattern: ^[A-Z]{2}$
postalCode:
type: string
description: Post code/Zip code of your subMerchant's company
example: '10014'
taxReference:
type: string
description: Tax Reference of your subMerchant's company
example: 987-65-4321
pattern: ^[A-Za-z0-9-\s]{1,20}$
phoneNumber:
type: string
description: Phonenumber of your subMerchant's company
example: 987-65-4321
email:
type: string
description: Email address of your subMerchant's company
example: email@example.com
url:
type: string
description: URL of submerchant's company
maxLength: 255
minLength: 1
pattern: ^[a-zA-Z0-9@!£*#$)(+-_=.,/;:]*$
instruction:
type: object
required:
- value
- paymentInstrument
properties:
consumerBillPayment:
type: boolean
description: If you are registered with Visa as a Consumer Bill Payment Service provider, you must set this to `true` for any verifications made for the purpose of paying consumer bills in the future.
example: true
nominalRetry:
type: boolean
description: Set this field to `true` to automatically retry a failed zero value verification with a nominal value authorisation amount. This is only possible if **0** or **missing** \"value.amount\" is submitted with the verification request. We automatically cancel the applied nominal authorization amount before your customer is charged.
example: true
value:
$ref: '#/components/schemas/value'
narrative:
description: Text to appear on the customer's billing statement. Sometimes referred to as a billing descriptor. If this isn't set, the value from your merchant profile is used.
required:
- line1
properties:
line1:
type: string
example: MindPalace
pattern: ^[A-Za-z0-9-,.'\s]{3,24}$
line2:
type: string
example: Memory
pattern: ^[A-Za-z0-9-,.'\s]{3,24}$
paymentInstrument:
$ref: '#/components/schemas/paymentInstrument'
customerAgreement:
description: Contains specific customer agreements for the transaction.
type: object
required:
- type
oneOf:
- $ref: '#/components/schemas/cardOnFile'
- $ref: '#/components/schemas/subscription'
- $ref: '#/components/schemas/installment'
- $ref: '#/components/schemas/unscheduled'
fundsTransfer:
description: Contains details of the funds transfer request, which is a money movement for a reason other than the purchase of goods or services (also known as Account Funding Transaction).
type: object
required:
- type
properties:
type:
description: Specify the type of the funds transfer.
enum:
- accountToAccount
- cash
- disbursement
- personToPerson
- purchase
- topUp
- transfer
- walletLoad
type: string
purpose:
description: Specify the purpose of the funds transfer.
enum:
- businessToBusiness
- creditCardRepayment
- crowdLending
- crypto
- debitCard
- education
- emergency
- familySupport
- gaming
- gift
- giftcard
- highRiskSecurities
- liquidAssets
- medical
- payroll
- prepaidCard
- salary
- savings
- travel
- other
type: string
cardGooglepayDecrypted:
title: card/networkToken+googlepay
required:
- type
- expiryDate
- tokenNumber
type: object
properties:
type:
type: string
example: card/networkToken+googlepay
expiryDate:
$ref: '#/components/schemas/cardExpiryDate'
tokenNumber:
type: string
description: The token number issued by Google Pay.
billingAddress:
type: object
description: 'An object containing the billing address information. If included you must send at least: [address1, city, countryCode, postalCode].'
required:
- address1
- city
- countryCode
- postalCode
properties:
address1:
type: string
description: Address line 1 of billing address.
example: 221B Baker Street
maxLength: 80
minLength: 1
address2:
type: string
description: Address line 2 of billing address.
example: Marylebone
maxLength: 80
minLength: 1
address3:
type: string
description: Address line 3 of billing address.
example: Westminster
maxLength: 80
minLength: 1
postalCode:
$ref: '#/components/schemas/postalCode'
city:
type: string
description: City of billing address.
example: London
maxLength: 50
minLength: 1
state:
type: string
description: Region, state, or province of billing address.
example: GB
maxLength: 30
minLength: 1
countryCode:
type: string
description: The alpha-2 ISO-3166 country code of the billing address.
example: GB
pattern: ^[A-Z]{2}$
cardHolderName:
type: string
cardOnFile:
title: cardOnFile
required:
- type
type: object
properties:
type:
title: type
type: string
description: The processing arrangement agreed with your customer.
enum:
- cardOnFile
storedCardUsage:
$ref: '#/components/schemas/storedCardUsage'
transactionReference:
type: string
description: "A unique reference generated by you. It is used to identify a payment throughout its lifecycle.\n\n64 characters max. We recommend your `transactionReference` contains between 9-20 characters for ease of onward \nprocessing.\n"
example: Memory265-13/08/1876
pattern: ^[A-Za-z0-9\-_\/!@#$%\(\)*=.:;?[\]{}~+]{1,64}$
validationError:
type: object
required:
- errorName
- message
properties:
errorName:
type: string
description: A machine and human readable error type for clarity and semantic understanding of the error.
enum:
- fieldIsMissing
- fieldMustBeString
- fieldMustBeNumber
- fieldMustBeInteger
- fieldMustBeBoolean
- fieldMustBeObject
- fieldMustBeArray
- fieldIsNull
- fieldIsEmpty
- fieldHasInvalidValue
- fieldIsNotAllowed
- numberIsTooSmall
- integerIsTooLarge
- stringIsTooShort
- stringIsTooLong
- stringFailedRegexCheck
- panFailedLuhnCheck
- dateHasInvalidFormat
example: fieldIsNotAllowed
message:
type: string
description: A human readable message giving a corrective action for the error. *This is not for machine consumption*
example: Field at path is not allowed.
jsonPath:
type: string
description: This field represents the JSON path of the element within the request body associated with the error.
example: $.transactionRef
unscheduled:
title: unscheduled
required:
- type
type: object
properties:
type:
title: type
type: string
description: The processing arrangement agreed with your customer.
enum:
- unscheduled
storedCardUsage:
$ref: '#/components/schemas/storedCardUsage'
cardPlain-ani:
title: card/plain
required:
- type
- cardNumber
type: object
properties:
type:
type: string
enum:
- card/plain
expiryDate:
$ref: '#/components/schemas/cardExpiryDate-ani'
cardNumber:
type: string
description: An element that contains your customer's payment card number.
example: '4444333322221111'
pattern: ^\d{12,19}$
cvc:
type: string
description: 'CVC is a unique set of 3 or 4 numbers on the back of your customer''s card. Including the CVC in your request increases the chances of the verification request outcome being verified. Our API checks to see if the CVC supplied matches the CVC held by the issuing bank. If provided, expiryDate must be included '
example: '101'
pattern: ^\d{3,4}$
postalCode:
type: string
description: Recipient's postal code.
maxLength: 15
minLength: 1
example: NW1 6XE
outcome:
type: string
enum:
- verified
- not verified
description: Result of the Card Verification
middleNameInquiry:
type: string
description: middle name or initial
maxLength: 35
minLength: 1
example: Elizabeth
AccountNameInquiryResponseWithRiskFactors:
title: Matched name inquiry including risk factors (verified result)
type: object
properties:
outcome:
$ref: '#/components/schemas/outcome'
nameInquiry:
$ref: '#/components/schemas/nameInquiry'
riskFactors:
$ref: '#/components/schemas/riskFactors'
example:
outcome: verified
nameInquiry: matched
riskFactors:
- type: nameInquiry
detail: firstName
risk: notSupplied
- type: nameInquiry
detail: middleName
risk: notSupplied
- type: nameInquiry
detail: lastName
risk: matched
cardExpiryDate-ani:
required:
- month
- year
description: The expiry date of the card. Must be present if CVC is provided
type: object
properties:
year:
type: integer
description: Four digit expiry year
format: int32
example: 2025
month:
type: integer
description: Expiry month
format: int32
example: 8
AccountNameInquiryResponseWithOutcomeNotVerified:
title: Matched name inquiry and declined CVC (not verified result)
type: object
properties:
outcome:
$ref: '#/components/schemas/outcome'
nameInquiry:
$ref: '#/components/schemas/nameInquiry'
refusalCode:
$ref: '#/components/schemas/refusalCode'
refusalDescription:
$ref: '#/components/schemas/refusalDescription'
riskFactors:
$ref: '#/components/schemas/riskFactors'
example:
outcome: not verified
nameInquiry: matched
refusalCode: N7
refusalDescription: Decline for CVV2 failure
riskFactors:
- type: cvc
risk: notMatched
cardNetworkToken:
title: card/networkToken
required:
- type
- expiryDate
- tokenNumber
type: object
properties:
type:
type: string
example: card/networkToken
expiryDate:
$ref: '#/components/schemas/cardExpiryDate'
tokenNumber:
type: string
description: The token number issued by the network
billingAddress:
type: object
description: 'An object containing the billing address information. If included you must send at least: [address1, city, countryCode, postalCode]'
required:
- address1
- city
- countryCode
- postalCode
properties:
address1:
type: string
description: Address line1 of billing address.
example: 221B Baker Street
maxLength: 80
minLength: 1
address2:
type: string
description: Address line2 of billing address.
example: Marylebone
maxLength: 80
minLength: 1
address3:
type: string
description: Address line3 of billing address.
example: Westminster
maxLength: 80
minLength: 1
postalCode:
$ref: '#/components/schemas/postalCode'
city:
type: string
description: City of billing address
example: London
maxLength: 50
minLength: 1
state:
type: string
description: Region, state, or province of billing address
example: GB
maxLength: 30
minLength: 1
countryCode:
type: string
description: The alpha-2 ISO-3166 country code of the billing address.
example: GB
pattern: ^[A-Z]{2}$
cardHolderName:
type: string
refusalDescription:
description: The [description of the 'refusalCode'](/products/reference/refusal-response)
type: string
example: Try another card
refusalCode:
description: The [refusal response code](/products/reference/refusal-response) from the acquirer
type: string
example: '6'
checkedAt:
type: string
example: '2024-03-26T19:38:29.543195Z'
pattern: ^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.(\d{3,})Z$
scheme:
required:
- reference
type: object
description: Card issuer's scheme (not all issuers return this)
properties:
reference:
type: string
example: abc123
lastNameInquiry:
type: string
description: surname
maxLength: 35
minLength: 1
example: Holmes
paymentInstrument-ani:
type: object
description: An object that contains your customer's payment details.
oneOf:
- $ref: '#/components/schemas/cardPlain-ani'
- $ref: '#/components/schemas/cardToken-ani'
value:
description: Currency and value of transaction. If value is nominal, retry is requested.
type: object
required:
- currency
properties:
currency:
type: string
description: 3-letter [ISO-4217 currency code](/products/reference/supported-countries-currencies#iso-currency-codes).
example: GBP
pattern: ^[A-Z]{3}$
amount:
type: integer
description: '"Implied decimal. For example, 250 GBP = £2.50.
We cancel the applied nominal authorization amount before your customer is charged."
'
example: 250
authentication:
description: "* **threeDS** can apply OPTIONALLY to any paymentInstrument other than Apple Pay\n * **networkToken** only applies to payment instruments: **card/networkToken** and **card/networkToken+applepay**\n **networkToken** should be mandatory for these instruments\n * For paymentInstrument **card/networkToken** then the **threeDS** object can optionally be supplied along with the networkToken one"
type: object
properties:
networkToken:
type: object
required:
- cryptogram
properties:
cryptogram:
type: string
minLength: 1
maxLength: 60
description: The base64-encoded dynamic cryptogram for the transaction
example: MAAAAAAAAAAAAAAAA=
eci:
type: string
description: The electronic commerce indicator issued by the tokenization service.
example: '06'
pattern: ^\d{2}$
threeDS:
type: object
required:
- eci
- authenticationValue
- transactionId
- version
properties:
eci:
type: string
description: 'Electronic Commerce Indicator (ECI). Indicates the outcome of the 3DS verification.
02 or 05 - Fully Authenticated Transaction
01 or 06 - Attempted Authentication Transaction
00 or 07 - Non 3-D Secure Transaction
Mastercard - 02, 01, 00
Visa - 05, 06, 07
Amex - 05, 06, 07
JCB - 05, 06, 07
Diners - 05, 06, 07
'
example: '06'
pattern: ^\d{2}$
authenticationValue:
type: string
description: "A cryptographic value that provides evidence of the outcome of a 3DS verification.\n\nVisa - Cardholder Authentication Verification Value (CAVV)\n\nMastercard - Universal Cardholder Authentication Field (UCAF)\n\nFor version 3DS2 authenticationValue is required if authentication.eci value is 01, 02, \n05 or 06. It must be base64-encoded.\n"
example: AAIBBmISWQAAAAB3JxJZkAAAAAA=
pattern: ^[A-Za-z0-9+\/]{1,40}={0,2}$
transactionId:
type: string
description: "Required, if authentication.eci value is 01, 02, 05 or 06. A unique authentication transaction identifier, generated by the issuer. \n\n For version 3DS2: transactionId must be a UUID and 36 characters in length."
example: a09b446d-5c0d-4003-9c99-21fb73d75999
version:
type: string
description: 'The version of 3DS used to process the transaction.
Only 3DS2 version 2.1.0 or more recent
'
example: 2.2.0
cryptogramAlgorithm:
type: string
pattern: ^[A-Za-z0-9]$
description: The 3DS cryptogram algorithm used.
example: '2'
challengePreference:
type: string
enum:
- noPreference
- noChallengeRequested
- challengeRequested
- challengeMandated
example: noPreference
authenticationFlow:
type: string
enum:
- challenge
- frictionless
- frictionlessDelegated
example: challenge
statusReason:
type: string
pattern: ^[0-9]{2}$
example: '00'
cancellationIndicator:
type: string
example: '00'
networkScore:
type: string
example: '00'
brand:
type: string
description: Currently reserved for Cartes Bancaires. Only "carteBancaires" is accepted in this optional field.
enum:
- cartesBancaires
example: cartesBancaires
cardPlain:
title: card/plain
required:
- type
- expiryDate
- cardNumber
type: object
properties:
type:
type: string
example: card/plain
cardHolderName:
type: string
description: The name as shown on the card.
example: Sherlock Holmes
expiryDate:
$ref: '#/components/schemas/cardExpiryDate'
cardNumber:
type: string
description: An element that contains your customer's payment card number.
example: '4444333322221111'
pattern: ^\d{12,19}$
billingAddress:
type: object
description: 'An object containing the billing address information. If included you must send at least: [address1, city, countryCode, postalCode]'
required:
- address1
- city
- countryCode
- postalCode
properties:
address1:
type: string
description: Address line1 of billing address.
example: 221B Baker Street
maxLength: 80
minLength: 1
address2:
type: string
description: Address line2 of billing address.
example: Marylebone
maxLength: 80
minLength: 1
address3:
type: string
description: Address line3 of billing address.
example: Westminster
maxLength: 80
minLength: 1
postalCode:
$ref: '#/components/schemas/postalCode'
city:
type: string
description: City of billing address
example: London
maxLength: 50
minLength: 1
state:
type: string
description: Region, state, or province of billing address
example: GB
maxLength: 30
minLength: 1
countryCode:
type: string
description: The alpha-2 ISO-3166 country code of the billing address.
example: GB
pattern: ^[A-Z]{2}$
cvc:
type: string
description: CVC is a unique set of 3 or 4 numbers on the back of your customer's card. Including the CVC in your request increases the chances of the verification request outcome being verified. Our API checks to see if the CVC supplied matches the CVC held by the issuing bank.
example: '101'
pattern: ^\d{3,4}$
cardHolder:
type: object
description: An object with card holder's name details.
required:
- lastName
properties:
firstName:
$ref: '#/components/schemas/firstNameInquiry'
middleName:
$ref: '#/components/schemas/middleNameInquiry'
lastName:
$ref: '#/components/schemas/lastNameInquiry'
installmentType:
description: Defines the type of installments service. Only merchant is available for card verification.
type: string
enum:
- merchant
aniMerchant:
type: object
description: Information about the merchant.
required:
- entity
properties:
entity:
type: string
description: Unique ID given to you during the onboarding process. For more information contact your Relationship Manager or Worldpay Implementation Manager.
lastName:
type: string
description: surname
maxLength: 85
minLength: 1
example: Holmes
advice:
description: The [MAC (Merchant Advice Code)](/products/reference/refusal-response#refusal-advice-codes) returned by Mastercard
type: object
required:
- code
properties:
code:
type: string
example: '02'
installment:
title: installment
required:
- type
type: object
properties:
type:
$ref: '#/components/schemas/customerAgreementType'
installmentType:
$ref: '#/components/schemas/installmentType'
storedCardUsage:
$ref: '#/components/schemas/storedCardUsage'
AccountNameInquiryResponseMatched:
title: Matched name inquiry (verified result)
type: object
properties:
outcome:
$ref: '#/components/schemas/outcome'
nameInquiry:
$ref: '#/components/schemas/nameInquiry'
riskFactors:
$ref: '#/components/schemas/riskFactors'
example:
outcome: verified
nameInquiry: matched
paymentInstrumentCardDetails:
title: paymentInstrument
type: object
required:
- type
properties:
type:
type: string
enum:
- card/plain+masked
- card/network+masked
lastFour:
type: string
description: The last 4 digits from the card number
example: '0001'
pattern: ^[0-9]{4}$
cardBin:
type: string
description: A bank identification number is the first four to six numbers that appear on payment cards.
example: '654321'
pattern: ^[0-9]{4}$|^[0-9]{6}$
cardBrand:
type: string
description: The card scheme, e.g. visa or mastercard.
example: visa
fundingType:
type: string
enum:
- debit
- credit
- chargeCard
- prepaid
- deferredDebit
example: prepaid
category:
type: string
enum:
- consumer
- commercial
example: commercial
paymentAccountReference:
type: string
description: The unique reference associated with the card PAN.
example: 321ABC
countryCode:
type: string
description: The alpha-2 ISO-3166 country code of the card.
example: GB
pattern: ^[A-Z]{2}$
issuerName:
type: string
expiryDate:
$ref: '#/components/schemas/cardExpiryDate'
examples:
headerError:
value:
errorName: headerIsMissing
message: A valid header must be provided.
headerName: Content-Type
validationError:
value:
errorName: bodyDoesNotMatchSchema
message: A JSON body matching the expected schema must be provided.
validationErrors:
- errorName: fieldIsNotAllowed
message: Field at path is not allowed.
jsonPath: $.transactionRef
parameters:
contentTypeHeader:
name: Content-Type
in: header
required: true
schema:
type: string
example: application/vnd.worldpay.cardVerifications-v6+json
acceptHeader:
name: Accept
in: header
required: true
schema:
type: string
example: application/vnd.worldpay.cardVerifications-v6+json
headers:
wpCorrelationId:
schema:
type: string
description: Generated identifier for the request and response. When contacting support please include this.
example: 4c195ce9-3dbd-4bc8-9c94-3d3393842323
securitySchemes:
BasicAuth:
type: http
scheme: basic