openapi: 3.0.1
info:
title: 3DS 3DS actions Query a payment 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: Query a payment
paths:
/payments/events/{linkData}:
get:
tags:
- Query a payment
summary: Query payment status
description: "Send a request to find out the current status of your payment after it has been authorized using the events action link.\n\n **Note:** It can take up to 15 minutes for a payment event to update."
operationId: eventQuery
parameters:
- name: linkData
in: path
description: Action link that's received in your request.
required: true
schema:
type: string
- in: header
name: Content-Type
required: true
schema:
type: string
example: application/vnd.worldpay.payments-v7+json
- in: header
name: Accept
required: true
schema:
type: string
example: application/vnd.worldpay.payments-v7+json
responses:
'200':
description: Retrieve the last event of a payment
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/payments_events_200_response'
examples:
Querying a payment event with a transaction reference:
description: Querying a payment event with a transaction reference
value:
lastEvent: Authorized
_links:
cardPayments:cancel: /payments/authorizations/cancellations/:linkData
cardPayments:settle: /payments/settlements/full/:linkData
cardPayments:partialSettle: /payments/settlements/partials/:linkData
curies:
- name: payments
href: /rels/payments/{rel}
templated: true
'400':
description: Bad request
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
examples:
Bad request:
description: Bad request
value:
errorName: bodyDoesNotMatchSchema
message: The json body provided does not match the expected schema
validationErrors:
- errorName: fieldMustBeString
message: Element at path must be a string
jsonPath: $.value.currency
'401':
description: Unauthorized
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized:
description: Unauthorized
value:
errorName: accessDenied
message: Access to the requested resource has been denied
'404':
description: Not found
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
notFound:
description: Not found
value:
errorName: endpointNotFound
message: Requested endpoint was not found.
'415':
description: Unsupported media type
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unsupported:
description: Unsupported media type
value:
errorName: headerHasInvalidValue
message: Bad content type
'500':
description: Internal server error
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/payments/events:
get:
tags:
- Query a payment
summary: Query payment status recovery
description: "Send a request to find out the current status of your payment after it has been authorized using the events action link. \n\n **Important:** \n\n Only use this for recovery purposes, for example when your authorization request has timed out or you are unable to locate a payment through our [Payments Queries API](/products/payment-queries). If the query returns results, you can manage the payment using the next action links returned in the response of your GET request."
operationId: eventRecovery
parameters:
- in: header
name: Content-Type
required: true
schema:
type: string
example: application/vnd.worldpay.payments-v7+json
- in: header
name: Accept
required: true
schema:
type: string
example: application/vnd.worldpay.payments-v7+json
responses:
'200':
description: Retrieve the last event of a payment
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/payments_events_recovery_200_response'
examples:
Querying a payment event with a transaction reference:
description: Querying a payment event with a transaction reference
value:
lastEvent: Authorized
_links:
cardPayments:cancel: /payments/authorizations/cancellations/:linkData
cardPayments:settle: /payments/settlements/full/:linkData
cardPayments:partialSettle: /payments/settlements/partials/:linkData
curies:
- name: payments
href: /rels/payments/{rel}
templated: true
'400':
description: Bad request
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ValidationErrorResponse'
examples:
Bad request:
description: Bad request
value:
errorName: bodyDoesNotMatchSchema
message: The json body provided does not match the expected schema
validationErrors:
- errorName: fieldMustBeString
message: Element at path must be a string
jsonPath: $.value.currency
'401':
description: Unauthorized
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unauthorized:
description: Unauthorized
value:
errorName: accessDenied
message: Access to the requested resource has been denied
'404':
description: Not found
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
notFound:
description: Not found
value:
errorName: endpointNotFound
message: Requested endpoint was not found.
'415':
description: Unsupported media type
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
unsupported:
description: Unsupported media type
value:
errorName: headerHasInvalidValue
message: Bad content type
'500':
description: Internal server error
content:
application/vnd.worldpay.payments-v7+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ErrorResponse:
type: object
properties:
errorName:
type: string
message:
type: string
ValidationErrorResponse:
type: object
properties:
errorName:
type: string
message:
type: string
validationErrors:
type: array
description: Further error details
items:
type: object
properties:
errorName:
type: string
message:
type: string
jsonPath:
type: string
payments_events_200_response:
required:
- lastEvent
type: object
properties:
lastEvent:
type: string
enum:
- Authorized
- Refused
- Sent for Settlement
- Sent for Refund
- Sent for Cancellation
- Refund failed
- Settlement failed
- Settled
- Refunded
- Error
- Expired
x-enumDescriptions:
Authorized: The payment has been approved and the funds have been reserved in your customer's account.
Refused: Your payment request has been declined.
Sent for Settlement: A request has been made to move the reserved funds in your customer's account and transfer them to your Worldpay account.
Sent for Refund: A request has been made to send funds back to your customer's account.
Sent for Cancellation: A request has been made to cancel the payment without sending it for settlement.
Refund failed: A refund request couldn't be processed and the funds were returned to your account.
Settlement failed: A settlement request couldn't be processed. Funds have not been transferred to your Worldpay account.
Settled: We have received the funds and are preparing to transfer them to your bank account. This event is only available in certain use cases.
Refunded: The card issuer has received the refund request and they will return the funds to your customer's account. This event is only available in certain use cases.
Error: The payment wasn't completed. You may want to reattempt the payment.
Expired: The authorization validity period ended before a settlement or cancel request was made.
payments_events_recovery_200_response:
required:
- lastEvent
type: object
properties:
lastEvent:
type: string
enum:
- Authorized
- Refused
- Sent for Settlement
- Sent for Refund
- Send for Cancellation
- Refund failed
- Settlement failed
- Settled
- Refunded
- Error
- Expired
x-enumDescriptions:
Authorized: The payment has been approved and the funds have been reserved in your customer's account.
Refused: Your payment request has been declined.
Sent for Settlement: A request has been made to move the reserved funds in your customer's account and transfer them to your Worldpay account.
Sent for Refund: A request has been made to send funds back to your customer's account.
Sent for Cancelation: A request has been made to cancel the payment without sending it for settlement.
Refund failed: A refund request couldn't be processed and the funds were returned to your account.
Settlement failed: A settlement request couldn't be processed. Funds have not been transferred to your Worldpay account.
Settled: We have received the funds and are preparing to transfer them to your bank account. This event is only available in certain use cases.
Refunded: The card issuer has received the refund request and they will return the funds to your customer's account. This event is only available in certain use cases.
Error: The payment wasn't completed. You may want to reattempt the payment.
Expired: The authorization validity period ended before a settlement or cancel request was made.
securitySchemes:
BasicAuth:
type: http
scheme: basic