openapi: 3.2.0 info: version: 1.3.35 title: Versapay API Reference Card Present EMV API contact: name: Versapay Support url: https://www.versapay.com/support email: support@versapay.com x-logo: url: https://developers.versapay.com/images/logo.png termsOfService: https://www.versapay.com/terms-of-use license: name: Copyright 2022 Versapay. All Rights Reserved. description: 'Card Present EMV payment transactions require a Versapay certified point-of-sale terminal. Contact support@versapay.com for support & setup for POS/CP EMV enablement. ' servers: - url: https://secure.versapay.com description: Production - url: https://uat.versapay.com description: UAT tags: - name: Card Present EMV description: 'Card Present EMV payment transactions require a Versapay certified point-of-sale terminal. Contact support@versapay.com for support & setup for POS/CP EMV enablement. ' paths: /api/gateway/v1/terminal: post: tags: - Card Present EMV summary: Issue a direct command to a POS terminal e.g. DeviceSetup, RequestSignature, Cancel, DeviceStatus requestBody: content: application/json: schema: $ref: '#/components/schemas/TerminalRequest' examples: tc_device_setup: $ref: '#/components/examples/tc_device_setup' tc_request_signature: $ref: '#/components/examples/tc_request_signature' tc_cancel: $ref: '#/components/examples/tc_cancel' tc_device_status: $ref: '#/components/examples/tc_device_status' responses: '200': description: 200 response content: application/json: schema: $ref: '#/components/schemas/TerminalResponse' examples: success: summary: Successful terminal command value: success: true fail: summary: Failed terminal command value: success: false '500': description: 500 error response content: application/json: schema: $ref: '#/components/schemas/UnifiedResponse' examples: declined_invalid_card: $ref: '#/components/examples/declined_invalid_card' declined: $ref: '#/components/examples/declined' error: $ref: '#/components/examples/error' components: schemas: UnifiedResponse: type: object TerminalRequest: type: object properties: laneid: type: string description: Pre-configured lane identifier command: type: string description: Supported terminal command enum: - DeviceSetup - RequestSignature - Cancel - DeviceStatus example: laneid: '1' command: DeviceSetup TerminalResponse: type: object properties: success: type: boolean description: true|false example: success: true examples: tc_request_signature: summary: Request signature value: laneid: '1' command: RequestSignature tc_device_status: summary: Device status value: laneid: '1' command: DeviceStatus error: summary: Other errors value: success: false errors: - order_not_found declined_invalid_card: summary: Decline invalid card value: success: false tc_device_setup: summary: Device setup value: laneid: '1' command: DeviceSetup declined: summary: Gateway declined request value: success: false errors: - declined for REASON tc_cancel: summary: Cancel value: laneid: '1' command: Cancel x-tagGroups: - name: Versapay API description: Introduction to the Versapay API. tags: - Overview - Versioning & Compatibility - Environments - Rate Limits - Authentication - Webhooks - Watermark & Limit - name: Collaborative AR description: Operations available for Collaborative AR integration. tags: - Reference Data - Onboarding - Ecommerce Integration - Orders - Order Transactions - Testing Order Transactions - Gift Cards - Card Present EMV - Settlement Reporting - Wallets - Customers - Invoices - Autopay - Invoicing Payments - Divisions - Notifications - Collaboration - File Imports