openapi: 3.1.0 info: version: 1.7.57 title: Shift4 Payment API contact: url: https://www.shift4.com/contact-us/ servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL components: securitySchemes: AccessToken: type: apiKey name: AccessToken in: header description: > A security credential used to authenticate API requests and all [i4Go®](https://s4-myportal.s3.amazonaws.com/downloads/documentation/i4go/i4go%20technical%20reference%20guide.pdf) authorizeClient/preauthorizeClient requests. An Access Token is the alias for the merchant account and interface being used. Example: ``` AccessToken: EA79FB05-3AA7-4500-AF9A-73F986FF2C1D ``` HMAC-SHA256: type: http scheme: hmac-sha256 description: > Authentication using HMAC-256 signatures as the authorization scheme. Sent in the `Authorization` header in the following format: `Authorization`: **HMAC-SHA256** `Credential`={value}&`Signature`={value} | Argument | Description | |---------------|--------------------------------------------------| | HMAC-SHA256 | Authorization scheme. | | Credential | The ID of the key used to compute the signature. | | Signature | base64 encoded HMACSHA256 value. | Example: ``` Authorization: HMAC-SHA256 Credential=AESKEY1&Signature=8SFtIc6zQlswxAZqDKXL+BpRmlDvIWyjOwU8wdl0zK4= ``` parameters: InterfaceVersion: required: true name: InterfaceVersion in: header schema: type: string maxLength: 11 example: '2.1' description: > Refers to the version of the program or application that is sending requests to Shift4. The following special characters are not allowed: $ % : ^ - ~ < > , ? “ ” ‘ ’ { } [ ] \ + = InterfaceName: required: true name: InterfaceName in: header schema: type: string maxLength: 25 example: ForwardPOS description: > Refers to the name of the program or application that is sending requests to Shift4. This should be the name of the program that you purchased or created. The following special characters are not allowed: $ % : ^ - ~ ` < > , ? “ ” ‘ ’ { } [ ] \ + = CompanyName: required: true name: CompanyName in: header schema: type: string maxLength: 26 example: PAWS description: > Refers to the vendor or partner that designed and certified the interface. The information you use in this field should match what Shift4 has on file or what was agreed upon in your Integration Plan. The following special characters are not allowed: $ % : ^ - ~ ` < > , ? “ ” ‘ ’ { } [ ] \ + = AccessToken: required: true name: AccessToken in: header schema: type: string format: uuid maxLength: 52 example: EA79FB05-3AA7-4500-AF9A-73F986FF2C1D description: > A security credential used to authenticate API requests and all [i4Go®](https://s4-myportal.s3.amazonaws.com/downloads/documentation/i4go/i4go%20technical%20reference%20guide.pdf) authorizeClient/preauthorizeClient requests. An Access Token is the alias for the merchant account and interface being used. The Access Token is required in all requests except an [Access Token Exchange](/apis/payments-platform-rest/openapi/credentials/accesstokenexchange) request, which generates an Access Token using an `authToken` and `clientGuid`. Invoice: required: true name: Invoice in: header schema: $ref: '#/components/schemas/TransactionInvoice' ApiOptions: required: false name: ApiOptions in: header schema: type: string maxLength: 255 example: ALLOWPARTIALAUTH,RETURNEXPDATE description: > API Options modify the request being made. Multiple API Options can be sent in a comma separated list with no spaces. See the [API Options](/guides/appendices/api-options.md) section for more information. ReceiptColumns: required: false name: ReceiptColumns in: header schema: type: integer example: 40 maxLength: 48 description: > Send this field if you want Shift4 to format the receipt text instead of returning individual fields. The value sent will correlate to the column width of the formatted receipt that we return. (This also allows the receipt text to wrap to fit the paper size of the printed receipt.) See the [Printing Receipts](/guides/core-concepts/printing-receipts) section of this document for more information on formatted receipts. TokenValue: name: Token in: header schema: type: string maxLength: 16 example: '8048471746471119' description: This field is used to specify the token for the payment method. ReversalReason: name: ReversalReason in: header schema: type: string minLength: 2 maxLength: 2 enum: - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' example: '01' description: | Specifies the reason for the reversal. Value|Description -----|----------- 01 | Timeout 02 | POS lost connection 03 | Merchant cancellation 04 | Customer cancellation 05 | EMV card removed prematurely 06 | EMV card declined issuer approval 07 | PIN PAD unavailable 08 | Chip error 09 | Suspected Fraud CardNumber: name: CardNumber in: header schema: type: string maxLength: 32 example: '4321000000001119' description: > The payment card number. This field will always be masked when returned in a response. P2PEData: name: P2PEData in: header schema: type: string maxLength: 2048 description: The full output of a P2PE keypad/magnetic swipe reader (MSR). P2PEFormat: name: P2PEFormat in: header schema: type: string minLength: 2 maxLength: 2 enum: - '01' - '02' - '03' - '04' - '05' example: '01' description: | Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 01 | IDTech Enhanced Encryption format, USB KB mode 02 | IDTech Enhanced Encryption format, USB HID mode 03 | Ingenico format 04 | VeriFone format 05 | Shift4 TDES DUKPT format P2PEKsn: name: P2PEKsn in: header schema: type: string maxLength: 20 example: '6299495001100E200041' description: | **Conditional: Required when `p2pe.format` == "05"** The key serial number which was used to encrypt the P2PE data. TokenSerialNumber: name: SerialNumber in: header schema: type: string maxLength: 10 example: '266' description: > In requests that require the use of a shared card token that is held by another merchant account, such as in TokenStore or TokenShare®, this field is used to specify the serial number for the account where the card token is stored. TrackData: name: TrackData in: header schema: type: string maxLength: 128 example: ;4321000000001119=2212201999999? description: > **Conditional: Send in the initial authorization/sale request when processing a swiped MSR transaction. This field is not specified when using True P2PE® (point-to-point encryption) or a UTG-controlled PIN pad.** Card swipe data exactly as read by an MSR. ApiOptionsGetMerchant: required: false name: ApiOptions in: header schema: type: string maxLength: 255 example: RETURNPROCESSORS description: > API Options modify the request being made. Multiple API Options can be sent in a comma separated list with no spaces. See the [API Options](/guides/appendices/api-options.md) section for more information. Value | Description -----------------|------------ RETURNPROCESSORS | Returns the processor information and card ranges the merchant is configured for. TerminalID: required: true name: TerminalId in: header schema: type: string maxLength: 32 example: '1742' description: > The API Terminal ID configured in UTG TuneUp must be specified in this field. TerminalIDDevicesInfo: name: TerminalId in: header schema: type: string maxLength: 32 example: '1742' description: > **Conditional: Required for UTG, optional for Commerce Engine.** The API Terminal ID assigned to the device. For UTG it is configured in TuneUp and must be included in the request For Commerce Engine it is defined in the Terminal Management System (TMS) and is optional. If sent, it must match the value defined in the TMS. BusinessDateTotals: required: true name: BusinessDate in: header schema: type: string format: ISO 8601 minLength: 10 example: '2021-04-15T09:18:23.283-07:00' description: The business date you want to obtain the totals report for. Inclusive: required: false name: Inclusive in: header schema: type: string enum: - 'Y' - 'N' description: > Indicates whether or not you want the batch to include transactions for every day leading up to the `BusinessDate`. If this parameter is not sent, the assumed value will be 'Y'. PaymentLinksLimit: name: Limit in: header schema: type: number maximum: 100 description: | Maximum number of returned objects PaymentLinksStartingAfterId: name: StartingAfterId in: header schema: type: string description: > Cursor used for pagination (getting the next page). For example, if you make a list request and receive 10 objects, where the last object has `id=some-example-id` - then you can make another request with `startingAfterId=some-example-id` to get the next page of that list. PaymentLinksEndingBeforeId: name: EndingBeforeId in: header schema: type: string description: > Cursor used for pagination (getting the previous page). For example, if you make a list request and receive 10 objects, where the first object has `id=some-example-id` - then you can make another request with `endingBeforeId=some-example-id` to get the previous page of that list PaymentLinksDateTimeAfter: name: DatetimeAfter in: header schema: type: string format: ISO 8601 example: '2024-05-21T09:18:23.283-07:00' description: | Returns only records strictly after the specified timestamp PaymentLinksDateTimeBefore: name: DatetimeBefore in: header schema: type: string format: ISO 8601 example: '2024-05-21T09:18:23.283-07:00' description: | Returns only records strictly before the specified timestamp PaymentLinksId: name: PaymentLinkId in: header required: true schema: type: string description: | Used for selecting payment link by id PaymentLinksIdOptional: name: PaymentLinkId in: header schema: type: string description: | Used for selecting payment link by id CheckoutSessionsStatus: name: Status in: header schema: type: string enum: - active - paid - expired - failed description: > Filter checkout sessions by their current status. When omitted, all sessions are returned. | Value | Description | |-----------|------------------------------------------------------------------------------------------------| | `active` | Session is open — payment not yet completed, not expired, and within the allowed failure count | | `paid` | Payment was completed successfully | | `expired` | Session expired or was deleted without a successful payment | | `failed` | Payment was attempted but reached the maximum number of failed attempts | An invalid value returns HTTP 400 with error code `invalid_header_format`. CheckoutSessionsId: name: CheckoutSessionId in: header required: true schema: type: string description: | Used for selecting checkout session by id AuthorizationHMACSHA256: name: Authorization required: true in: header schema: type: string example: >- Authorization: HMAC-SHA256 Credential=AESKEY1&Signature=8SFtIc6zQlswxAZqDKXL+BpRmlDvIWyjOwU8wdl0zK4= description: | HMAC-SHA256 signature Shift4AppId: name: Shift4AppId in: header schema: type: string example: Commerce Engine description: | Shift4 application identifier Shift4AppVersion: name: Shift4AppVersion in: header schema: type: string example: 2.4.0 description: | Shift4 application version number MagicCubeDeviceId: required: true name: deviceId in: path schema: type: string example: GOiQMwBhSQ8THouJ description: | MagicCube Device Id IdempotencyId: required: true name: IdempotencyId in: header schema: type: string format: uuid description: > Unique identifier for the request. Each request must contain a unique `requestId` value. Any reattempts due to timeout or error scenarios should include the same `requestId` as the original request to ensure idempotence. MID: required: true name: mid in: query schema: type: string maxLength: 10 example: 123456 description: | The Shift4 MID number SourceIP: name: sourceIp in: query schema: type: string example: 63.57.84.101 description: > Public source IP Address where the request originates, not the IP Address of the web server. EmailAddress: name: emailAddress in: query schema: type: string example: janedoe@email.com description: | Email address EmailDomain: name: emailDomain in: query schema: type: string example: gmail.com description: | Email domain FullName: name: fullName in: query schema: type: string example: John Smith description: | Full Name Token: name: token in: query schema: type: string example: '8058471748284111' description: | Token schemas: DateTime: type: string format: ISO 8601 example: '2024-05-21T09:18:23.283-07:00' description: > The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). Must be sent as the local date/time of the merchant. For example, a request processed at a merchant in the Pacific time zone at 9:18am on April 15th 2021 would be sent as 2021-04-15T09:18:23.283-07:00 CredentialAccessToken: type: string format: uuid maxLength: 52 example: EA79FB05-3AA7-4500-AF9A-73F986FF2C1D readOnly: true description: > A security credential used to authenticate API requests and all [i4Go®](https://s4-myportal.s3.amazonaws.com/downloads/documentation/i4go/i4go%20technical%20reference%20guide.pdf) authorizeClient/preauthorizeClient requests. An Access Token is the alias for the merchant account and interface being used. The Access Token is required in all requests except an [Access Token Exchange](/apis/payments-platform-rest/openapi/credentials/accesstokenexchange) request, which generates an Access Token using an `authToken` and `clientGuid`. CredentialAuthToken: type: string format: uuid maxLength: 51 example: 3504489F-A774-88E0-80114FBBC925E207 writeOnly: true description: > A unique encrypted identifier that refers to a specific merchant account. It is required when making an [Access Token Exchange](/apis/payments-platform-rest/openapi/credentials/accesstokenexchange) request. For detailed information about the AuthToken, please see [Authentication](/guides/quickstart#access-token-exchange) CredentialClientGuid: type: string format: uuid maxLength: 51 example: A3B18F21-AD17-8416-0626C4C9F1CA86A7 writeOnly: true description: > The Client GUID is a unique identifier that is used to identify an interface across all of the merchant accounts that use it. The same Client GUID can be used for all versions of the same interface. If a completely new interface is certified, then you will receive a new Client GUID, which must be hard coded into the application and must not be a configurable field. The Client GUID is required when making an [Access Token Exchange](/apis/payments-platform-rest/openapi/credentials/accesstokenexchange). For detailed information about the Client GUID, please see [Authentication](/guides/quickstart#access-token-exchange). **Requirement: The Client GUID supplied by your API Analyst must be hard coded into your application because it will permanently identify your interface across all merchant accounts.** CredentialApiSerialNumber: type: string maxLength: 10 example: '266' readOnly: true description: > The serial number for the merchant account. This field is only used for backwards compatibility with older interfaces and has been replaced by the Access Token. CredentialApiPassword: type: string maxLength: 32 example: 9YCR23G7%BY#9+ readOnly: true description: > A credential used to authenticate the API Serial Number when processing a request. This field is only used for backwards compatibility with older interfaces and has been replaced by the Access Token. Credential: type: object required: - authToken - clientGuid properties: accessToken: $ref: '#/components/schemas/CredentialAccessToken' authToken: $ref: '#/components/schemas/CredentialAuthToken' clientGuid: $ref: '#/components/schemas/CredentialClientGuid' apiSerialNumber: $ref: '#/components/schemas/CredentialApiSerialNumber' apiPassword: $ref: '#/components/schemas/CredentialApiPassword' ServerName: type: string maxLength: 50 example: TM01CE description: | The name of the server that processed the request. Server: type: object readOnly: true properties: name: $ref: '#/components/schemas/ServerName' ErrorCode: type: integer maxLength: 5 readOnly: true example: 64100 description: > Code indicating the type of error that occurred. Refer to the [Error Codes](/guides/appendices/error-codes) section of this document for more details. **Note: This is currently only supported for European merchant processing.** ErrorSeverity: type: string enum: - Info - Error - Alert readOnly: true example: Info description: > Severity level of the error. | Severity | Description | | -------- | ---------------------------------------------------------------- | | Info | Action not required - Data input/formatting is incorrect | | Error | Action may be required - Communication, timeout or network issue | | Alert | Action required - System issue | ErrorShortText: type: string maxLength: 16 readOnly: true example: NOT IN CARDRANGE description: > Abbreviated error message that is always returned if an error condition exists ErrorLongText: type: string maxLength: 255 readOnly: true example: Card type not recognized description: | Extended error message that is returned if an error condition exists. ErrorPrimaryCode: type: integer maxLength: 4 readOnly: true example: 9842 description: > Code indicating the type of error that occurred. Refer to the [Error Codes](/guides/appendices/error-codes) section of this document for more details. ErrorSecondaryCode: type: integer maxLength: 4 readOnly: true example: 0 description: > This code supplements the code specified in the `error.primaryCode` field to provide additional information about the error that occurred. Error: type: object properties: code: $ref: '#/components/schemas/ErrorCode' severity: $ref: '#/components/schemas/ErrorSeverity' shortText: $ref: '#/components/schemas/ErrorShortText' longText: $ref: '#/components/schemas/ErrorLongText' primaryCode: $ref: '#/components/schemas/ErrorPrimaryCode' secondaryCode: $ref: '#/components/schemas/ErrorSecondaryCode' LighthouseDataResponse: type: string example: >- eyJwYXltZW50SWQiOiI4NWM0MWNhNy01NzVjLTQzNGUtODIyZi0xYzZlOTE0ZDAzODYiLCJyZW1haW5pbmdBbW91bnQiOjB9 description: > Base64 encoded JSON formatted data that will be returned from Lighthouse to be passed back to SkyTab. This data will contain variable information. AmountTotal: type: number maxLength: 14 example: 160 description: > The amount being charged for a particular transaction. If other amount fields are sent, they must be included in the total amount. Amount cannot be zero. AmountTax: type: number maxLength: 14 example: 15 description: > The amount of sales tax charged for a transaction. The tax amount is used by businesses to track tax expenses for accounting purposes. Identifying the tax amount also helps consumers understand the total amount that they were billed. This field is part of Level 2 card data. AmountTaxIndicator: type: string maxLength: 1 enum: - 'Y' - 'N' example: 'Y' description: | Value|Description -----|----------- Y | Tax is included N | Tax is not included AmountCashback: type: number maxLength: 14 example: 20 description: > Specifies the cashback amount in a transaction. When using a UTG-controlled PIN pad with the ALLOWCASHBACK API Option, this field will return the cashback amount requested by the consumer. The interface can also send the desired cashback amount in a request by adding it to the `amount.total` and including it in the `amount.cashback` field. This will bypass prompting the consumer for a cashback amount. IIASAmount: type: number maxLength: 14 example: 34 description: | The subtotal for this type of healthcare expenses. IIASType: type: string minLength: 2 maxLength: 2 example: 4T enum: - 4O - 4S - 4T - 4U - 4V - 4W - 4X description: > This code classifies eligible healthcare expenses. Value|Description -----|----------- 4O | Cash Disbursement (Discover Only) – Amount of Cash Back Being Requested 4S | Healthcare (Visa/MC Only) – Qualified Medical Expenses or Over-the-Counter 4T | Transit (Visa Only) – Transit Fare Media (e.g., Commuter and Parking Passes, Mass Transit Vouchers, and Tickets) 4U | RX (Visa/MC Only) 4V | Vision (Visa Only) 4W | Clinical (Visa Only) 4X | Dental (Visa Only) IIASAmounts: type: object properties: amount: $ref: '#/components/schemas/IIASAmount' type: $ref: '#/components/schemas/IIASType' IIASAmountsArray: type: array writeOnly: true items: $ref: '#/components/schemas/IIASAmounts' example: - type: 4S amount: 75 - type: 4W amount: 25 description: > **Conditional: Send in the request if processing for a health care merchant.** For Vision related charges you must send only `iiasAmounts.type = 4V` and the corresponding `iiasAmounts.amount` value. For all other charges, the first entry in the array should have an amount representing the total of all healthcare costs, and `iiasAmounts.type = 4S`. Any subsequent entries should contain the subtotal for each of the other expense types involved in this transaction. AmountTip: type: number maxLength: 14 example: 20 description: | **Conditional: Send in the request if a tip is included.** The tip amount of the transaction. AmountCheckTotal: type: number maxLength: 14 writeOnly: true example: 200 description: > Optional field specifying the total amount of the entire bill/invoice that this transaction is part of. It can be larger than `amount.total` in scenarios where the check is being split or if a portion of the check was already paid in cash or another form of payment. AmountObjectNoSurcharge: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. All other fields are for informational purposes and must also be included in the `total` field. For example, a purchase of $100 with a $20 tip and $8 tax would be `128.00` in the `total` field, `20.00` in the `tip` field and `8.00` in the `tax` field. Note: For merchants that are configured to allow multiple currencies, the amount fields can specify up to three decimal places. However, the number of decimal places can not exceed the number allowed for the specified currency. See the [Currency Codes](/guides/appendices/currency-codes) section for details. required: - total - tax properties: total: $ref: '#/components/schemas/AmountTotal' tax: $ref: '#/components/schemas/AmountTax' taxIndicator: $ref: '#/components/schemas/AmountTaxIndicator' cashback: $ref: '#/components/schemas/AmountCashback' iiasAmounts: $ref: '#/components/schemas/IIASAmountsArray' tip: $ref: '#/components/schemas/AmountTip' checkTotal: $ref: '#/components/schemas/AmountCheckTotal' ClerkNumericId: type: integer maxLength: 5 example: 1576 description: > A number used to identify the point-of-sale (POS) or property management system (PMS) clerk or user. The value cannot be 0. An interface must be able to dynamically populate this field (not use a hardcoded value), unless the interface will be used exclusively for e-commerce. Clerk: type: object required: - numericId properties: numericId: $ref: '#/components/schemas/ClerkNumericId' TransactionInvoice: type: string maxLength: 10 example: '0510093358' description: > 10-digit invoice number assigned by the interface to identify a transaction. An invoice number serves as a unique key that identifies a transaction within a batch in Shift4's Gateway. **Note: For US and Canadian processing: Although the invoice number is sent as a JSON string it is a numeric value. No alpha characters are allowed.** **For processing outside of the US and Canada alpha characters are allowed.** TransactionNotes: type: string maxLength: 4096 example: Transaction notes are added here description: > A free-form notes field that supports the use of HTML tags. This can be used for reference in [Lighthouse Transaction Manager](https://ltm.shift4test.com/) and is not sent to the authorization host. Escaped quotation marks should not be sent in the Notes field. TransactionBusinessDate: type: string format: ISO 8601 minLength: 10 example: '2021-04-15' description: > Desired business date of a transaction. Include when overriding the existing business date of a transaction. The overriding date may be earlier or later than the existing date. (yyyy-mm-dd) AmexPropertyCode: type: string maxLength: 15 example: '21546782948' description: > The code that contains a Merchant-assigned store or location number (or name) that uniquely identifies where the transaction took place. TransactionAmex: type: object properties: propertyCode: $ref: '#/components/schemas/AmexPropertyCode' AutoEstimatedDays: type: integer maxLength: 2 example: 5 description: | Estimated contract length of car rental. AutoCheckIn: type: object description: | **Conditional: Utilize this object for Auto Rental transactions** properties: estimatedDays: $ref: '#/components/schemas/AutoEstimatedDays' AirlineCarrierCode: type: string maxLength: 4 example: '5472' description: | The code of the airline carrier issuing the ticket. AirlineCarrierName: type: string maxLength: 19 example: American Airlines description: | The name of the airline carrier issuing the ticket. AirlineConjunctionTicketIndicator: type: string maxLength: 1 enum: - 'Y' - 'N' example: 'N' description: > Indicates whether the itinerary contains more than four segments of travel. Value | Description -------|------------------- Y | Yes N | No AirlineDocumentType: type: string maxLength: 2 enum: - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' - '33' - '34' - '35' - '36' - '37' - '38' - '39' - '41' - '42' - '43' - '44' - '45' - '46' - '47' - '48' - '49' - '50' - '51' - '52' - '60' - '64' - '65' - '66' - '67' - '68' - '69' - '70' - '71' - '72' - '73' - '74' - '75' - '76' - '77' - '78' - '79' - '80' - '81' - '82' - '83' - '84' - '85' - '86' - '87' - '88' - '89' - '90' - '91' - '92' - '93' example: '93' description: > This field contains the airline Document Type code, which indicates the purpose of this transaction. This information may appear on the descriptive bill on the Cardmember's statement, or be used to resolve billing inquiries and disputes. The codes entered in the Transaction Type and Document Type fields are used together to describe the purpose of this transaction. Value | Description ------|--------------- 01 | Passenger Ticket 02 | Additional Collection 03 | Excess Baggage 04 | Misc. Charge Order (MCO) / Prepaid Ticket Auth 05 | Special Service Ticket 06 | Supported Refund 07 | Unsupported Refund 08 | Lost Ticket Application 09 | Tour Order Voucher 10 | Ticket by Mail 11 | Undercharge Adjustment 12 | Group Ticket 13 | Exchange Adjustment 14 | SPD/Air Freight 15 | In-flight Adjustment 16 | Agency Passenger Ticket 17 | Agency Tour Order/Voucher 18 | Agency Misc. Charge Order (MCO) 19 | Agency Exchange Order 20 | Agency Group Ticket 21 | Debit Adjustment Duplicate Refund/Use 22 | In-flight Merchandise Ordered 23 | Catalogue Merchandise Ordered 24 | In-flight Phone Charges 25 | Frequent Flyer Fee/Purchase 26 | Kennel Charge 27 | Animal Transportation Charge 28 | Firearms Case 29 | Upgrade Charge 30 | Credit Unused Transportation 31 | Credit Class of Service Adjustment 32 | Credit Denied Boarding 33 | Credit Misc. Refund 34 | Credit Lost Ticket Refund 35 | Credit Exchange Refund 36 | Credit Overcharge Adjustment 37 | Credit Multiple Unused Tickets 38 | Exchange Order 39 | Self-Service Ticket(s) 41 | In-flight Duty Free Purchase 42 | Senior Citizen Discount Booklets 43 | Club Membership Fee 44 | Coupon Book 45 | In-flight Charges 46 | Tour Deposit 47 | Frequent Flyer Overnight Delivery Charge 48 | Frequent Flyer Fulfillment 49 | Small Package Delivery 50 | Vendor Sale 51 | Miscellaneous Tax(es) Fee(s) 52 | Travel Agency Fee 60 | Vendor Refund Credit 64 | Duty Free Sale 65 | Preferred Seat Upgrade 66 | Cabin Upgrade 67 | Lounge/Club Access or Day Pass 68 | Agent Assisted Reservation. Ticketing Fee 69 | Ticket Change or Cancel Fee 70 | Trip Insurance 71 | Unaccompanied Minor 72 | Standby Fee 73 | Curbside Baggage 74 | Inflight Medical Equipment 75 | Ticket or Pass Print Fee 76 | Checked Sporting/Special Equipment 77 | Dry Ice Fee 78 | Mail/Postage Fee 79 | Club Membership Fee - Temporary/Trial 80 | Frequent Flyer Activation/Reinstatement 81 | Gift Certificate 82 | Onboard/Inflight Prepaid Voucher 83 | Optional Services Fee 84 | Advanced Purchase - Excess Baggage 85 | Advanced Purchase - Preferred Seat Upgrade 86 | Advanced Purchase - Cabin Upgrade 87 | Advanced Purchase - Optional Services 88 | WiFi 89 | Packages 90 | Inflight Entertainment/Internet Access 91 | Overweight Bag Fee 92 | Sleep Sets 93 | Special Purchase Fee AirlineElectronicTicketIndicator: type: string maxLength: 1 enum: - 'Y' - 'N' example: 'Y' description: | Indicates if an electronic ticket was issued. Value | Description -------|------------------- Y | Yes N | No AirlineInternetIndicator: type: string maxLength: 1 enum: - 'Y' - 'N' example: 'Y' description: | Indicates if this is an internet transaction. Value | Description -------|------------------- Y | Yes N | No AirlineIssueDate: type: string format: ISO 8601 example: '2021-04-12T15:39:01.594-07:00' description: > The date the ticket was issued to the customer. The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). AirlineNumberOfCities: type: number maxLength: 2 example: 5 description: > The number of airports or cities for each leg on the ticket (including origination and destination cities). AirlineNumberOfCarriers: type: number maxLength: 2 example: 5 description: | This field contains the number of airline carriers. AirlineNumberOfPassengers: type: number maxLength: 3 example: 5 description: | The number of passengers in the transaction. AirlinePassengerArrivalDate: type: string format: ISO 8601 example: '2021-04-14T15:39:01.594-07:00' description: > Date that the ticket holder is scheduled to arrive at their destination at the time of issuance of the original ticket. The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). AirlinePassengerDepartureDate: type: string format: ISO 8601 example: '2021-04-13T15:39:01.594-07:00' description: > Date that the ticket holder is scheduled to depart at the time of issuance of the original ticket. The date may be a future one. The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). AirlinePassengerNameRecord: type: string maxLength: 6 example: MXCTIF description: > A passenger name record (PNR) is a record in the database of a computer reservation system (CRS) that contains the itinerary for a passenger or a group of passengers travelling together AirlineRestrictedTicketIndicator: type: string maxLength: 1 example: '1' enum: - '0' - '1' description: | Indicates whether this ticket is non-refundable. Value | Description -------|------------------- 0 | No restriction 1 | Restricted (non-refundable) ticket AirlineTicketChangeIndicator: type: string maxLength: 1 enum: - C - 'N' example: C description: > Indicates why a ticket was changed. This field should contain spaces or one of the below codes. Value | Description -------|--------------- C | Change to existing ticket N | New ticket AirlineTicketTranType: type: string maxLength: 3 enum: - TKT - REF - EXC - MSC example: TKT description: > This field contains the ticket transaction type code assigned to this transaction. Value | Description -------|--------------- TKT | Ticket Purchase REF | Refund EXC | Exchange Ticket MSC | Miscellaneous (non-Ticket Purchase- and non-Exchange Ticket-related transactions only) AirlineTypeIndicator: type: string maxLength: 1 enum: - R - O - M example: M description: > Indicates if this ticket is a round trip, multi-city, or one-way ticket. Value | Description -------|--------------- R | Round-Trip O | One Way M | Multi-City AirlineTicketsPassengerName: type: string maxLength: 40 example: Doe Jane M Mrs description: > Name of the passenger to whom the ticket was issued. This field contains the Passenger Name in format: `SURNAME FIRSTNAME MIDDLEINITIAL TITLE` Example: "Doe Jane M Mrs" AirlineTicketsTicketNumber: type: string maxLength: 15 example: '344567890234567' description: | The ticket number provided by the Carrier for the passenger. AirlineTicketsTicketFare: type: number maxLength: 14 example: 350 description: > Ticket fare is the total amount for each ticket, including service fee or any other fee for each ticket. AirlineTickets: type: object required: - passengerName - ticketNumber - ticketFare properties: passengerName: $ref: '#/components/schemas/AirlineTicketsPassengerName' ticketNumber: $ref: '#/components/schemas/AirlineTicketsTicketNumber' ticketFare: $ref: '#/components/schemas/AirlineTicketsTicketFare' AirlineTicketsArray: type: array writeOnly: true items: $ref: '#/components/schemas/AirlineTickets' example: - ticketNumber: 412345678901234 passengerName: Jane Doe ticketFare: 350 - ticketNumber: 412345678901236 passengerName: John Smith ticketFare: 250 description: > Array of ticket number and passenger name. Note: At least one instance of ticket number and passenger name info should be provided. AirlineFlightLegsCarrierCode: type: string maxLength: 2 example: DL description: > Code indicating name of carrier (United Airlines, Jet Blue, etc.) for the leg. AirlineFlightLegsCouponNumber: type: number maxLength: 1 example: 1 description: | Number of coupons in the ticket for the leg. AirlineFlightLegsDestAirportCode: type: string maxLength: 5 example: YXX description: | Indicates destination city's airport code for the leg. AirlineFlightLegsFare: type: number maxLength: 14 example: 300 description: > This field contains the total Fare for this trip segment. This is not the total amount billed to the customer. AirlineFlightLegsFareBasis: type: string maxLength: 24 example: YE3MAU description: > This field contains primary and secondary discount codes that indicate the class of service and fare level associated with the ticket for the leg. Truncate at 24 bytes, if necessary. AirlineFlightLegsFlightNumber: type: string maxLength: 5 example: '2490' description: | Number of the airline flight to be taken on Leg of the trip. AirlineFlightLegsLegArrivalDateTime: type: string format: ISO 8601 example: '2021-04-15T09:18:23.283-07:00' description: > The date and time the flight is scheduled to arrive for the leg. The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). AirlineFlightLegsLegDepartureDateTime: type: string format: ISO 8601 example: '2021-04-12T15:39:01.594-07:00' description: > The date and time the flight is scheduled to depart for the leg. The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). AirlineFlightLegsOriginAirportCode: type: string maxLength: 5 example: AUH description: | Indicates origination city's airport code for the leg. AirlineFlightLegsServiceClass: type: string maxLength: 2 example: FC description: | Indicates service class for leg. Value | Description -------|--------------- FC | First Class BC | Business Class EC | Economy/Coach Class AirlineFlightLegsStopOverCode: type: string maxLength: 1 example: X description: > Indicates whether a stopover is allowed on this ticket for leg. The entry must be a D, O, or X. Value | Description -------|--------------- O | Stopover allowed X | Stopover not allowed D | Destination point AirlineFlightLegsTripLegInfo: type: string maxLength: 35 example: Trip Leg Info 1 description: | Description of leg or stage of trip. AirlineFlightLegs: type: object required: - carrierCode - destAirportCode - fare - fareBasis - flightNumber - legArrivalDateTime - legDepartureDateTime - originAirportCode - serviceClass - stopOverCode - tripLegInfo properties: carrierCode: $ref: '#/components/schemas/AirlineFlightLegsCarrierCode' couponNumber: $ref: '#/components/schemas/AirlineFlightLegsCouponNumber' destAirportCode: $ref: '#/components/schemas/AirlineFlightLegsDestAirportCode' fare: $ref: '#/components/schemas/AirlineFlightLegsFare' fareBasis: $ref: '#/components/schemas/AirlineFlightLegsFareBasis' flightNumber: $ref: '#/components/schemas/AirlineFlightLegsFlightNumber' legArrivalDateTime: $ref: '#/components/schemas/AirlineFlightLegsLegArrivalDateTime' legDepartureDateTime: $ref: '#/components/schemas/AirlineFlightLegsLegDepartureDateTime' originAirportCode: $ref: '#/components/schemas/AirlineFlightLegsOriginAirportCode' serviceClass: $ref: '#/components/schemas/AirlineFlightLegsServiceClass' stopOverCode: $ref: '#/components/schemas/AirlineFlightLegsStopOverCode' tripLegInfo: $ref: '#/components/schemas/AirlineFlightLegsTripLegInfo' AirlineFlightLegsArray: type: array writeOnly: true items: $ref: '#/components/schemas/AirlineFlightLegs' example: - tripLegInfo: Trip Leg Info 1 couponNumber: 1 legDepartureDateTime: '2021-04-12T15:39:01.594-07:00' legArrivalDateTime: '2021-04-15T09:18:23.283-07:00' fare: 300 - tripLegInfo: Trip Leg Info 2 couponNumber: 2 legDepartureDateTime: '2021-04-12T15:39:01.594-07:00' legArrivalDateTime: '2021-04-15T09:18:23.283-07:00' fare: 500 description: > Array of flight trip leg info. Maximun 4 legs to a trip allowed. Note: At least one instance of flight trip leg info should be provided. AirlineAncillaryServicesServiceCode: type: string enum: - BF - BG - CF - CG - CO - FF - GF - GT - IE - LG - MD - ML - OT - PA - PT - SA - SB - SF - ST - TS - UN - UP - WI maxLength: 2 example: BF description: | This field describes the type of service that has been provided. Value | Description ------|--------------- BF | Bundled Service BG | Baggage Fee CF | Change Fee CG | Cargo CO | Carbon Offset FF | Frequent Flyer GF | Gift Card GT | Ground Transport IE | In-Flight Entertainment LG | Lounge MD | Medical ML | Meal/Beverage OT | Other PA | Passenger Assist Fee PT | Pets SA | Seat Fees SB | Standby SF | Service Fee ST | Store TS | Travel Service UN | Unaccompanied Travel UP | Upgrades WI | Wi-Fi AirlineAncillaryServicesServiceFee: type: number maxLength: 14 example: 2 description: > This field contains the amount associated with the value provided in ancillary Service Code. AirlineAncillaryServices: type: object required: - serviceCode - serviceFee properties: serviceCode: $ref: '#/components/schemas/AirlineAncillaryServicesServiceCode' serviceFee: $ref: '#/components/schemas/AirlineAncillaryServicesServiceFee' AirlineAncillaryServicesArray: type: array writeOnly: true items: $ref: '#/components/schemas/AirlineAncillaryServices' example: - serviceCode: BF serviceFee: 2 - serviceCode: BG serviceFee: 3 description: | Array of ancillary service code and fees. **Conditional: Send if any ancillary services were charged.** AirlineTravelAgencyCode: type: string maxLength: 8 example: '05172343' description: > Code identifying travel agency if the ticket was issued by a travel agency. **Conditional: Send if a travel agency service was used.** AirlineTravelAgencyName: type: string maxLength: 25 example: State Travel description: | Name of travel agency if the ticket was issued by a travel agency. **Conditional: Send if a travel agency service was used.** AirlineExchangeTicketNumber: type: string maxLength: 15 example: '507212345678768' description: | The original ticket number that was replaced by a new ticket number. AirlineRequest: type: object description: > **Conditional: Utilize this object for Airline transactions in Authorization/Sale requests when possible. If unable to provide this data at Authorization, this object must be sent in subsequent Capture requests for the transaction.** required: - carrierCode - carrierName - conjunctionTicketIndicator - documentType - electronicTicketIndicator - internetIndicator - issueDate - numberOfCities - numberOfCarriers - numberOfPassengers - passengerArrivalDate - passengerDepartureDate - passengerNameRecord - restrictedTicketIndicator - ticketChangeIndicator - ticketTranType - tickets - flightLegs - typeIndicator properties: carrierCode: $ref: '#/components/schemas/AirlineCarrierCode' carrierName: $ref: '#/components/schemas/AirlineCarrierName' conjunctionTicketIndicator: $ref: '#/components/schemas/AirlineConjunctionTicketIndicator' documentType: $ref: '#/components/schemas/AirlineDocumentType' electronicTicketIndicator: $ref: '#/components/schemas/AirlineElectronicTicketIndicator' internetIndicator: $ref: '#/components/schemas/AirlineInternetIndicator' issueDate: $ref: '#/components/schemas/AirlineIssueDate' numberOfCities: $ref: '#/components/schemas/AirlineNumberOfCities' numberOfCarriers: $ref: '#/components/schemas/AirlineNumberOfCarriers' numberOfPassengers: $ref: '#/components/schemas/AirlineNumberOfPassengers' passengerArrivalDate: $ref: '#/components/schemas/AirlinePassengerArrivalDate' passengerDepartureDate: $ref: '#/components/schemas/AirlinePassengerDepartureDate' passengerNameRecord: $ref: '#/components/schemas/AirlinePassengerNameRecord' restrictedTicketIndicator: $ref: '#/components/schemas/AirlineRestrictedTicketIndicator' ticketChangeIndicator: $ref: '#/components/schemas/AirlineTicketChangeIndicator' ticketTranType: $ref: '#/components/schemas/AirlineTicketTranType' typeIndicator: $ref: '#/components/schemas/AirlineTypeIndicator' tickets: $ref: '#/components/schemas/AirlineTicketsArray' flightLegs: $ref: '#/components/schemas/AirlineFlightLegsArray' ancillaryServices: $ref: '#/components/schemas/AirlineAncillaryServicesArray' travelAgencyCode: $ref: '#/components/schemas/AirlineTravelAgencyCode' travelAgencyName: $ref: '#/components/schemas/AirlineTravelAgencyName' exchangeTicketNumber: $ref: '#/components/schemas/AirlineExchangeTicketNumber' CardOnFileType: type: string enum: - S01 - S02 - U01 - U02 - U03 - U04 - U05 - U06 - U07 - U08 - U09 example: S01 description: > This field specifies the type of the card-on-file transaction. Below is a table showing the valid values for use cases where the cardholder is entering their card data to store on file. | Value | Initiator | Recurring | 3D Secure | Description | |--------|------------|-----------|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | S01 | Cardholder | No | Yes | Used when the initial transaction/card verification request is not for a recurring payment. | | S02 | Cardholder | Yes | Yes | Used when the initial transaction/card verification request is for a recurring payment. Requires sending `cardOnFile.recurringFrequency` and `cardOnFile.recurringExpiry` | Below is a table showing the valid values for uses cases where you already have a card on file and are using that existing card to process a transaction. | Value | Initiator | Recurring | 3D Secure | Description | |--------|------------|-----------|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | U01 | Cardholder | No | Yes | Unscheduled transaction using the card on file initiated by the cardholder | | U02 | Merchant | No | No | Unscheduled transaction using the card on file initiated by the merchant | | U03 | Merchant | Yes | No | Merchant initiated recurring payment using the card on file | | U04 | Merchant | No | No | Identifies a transaction as a Reauthorization COF transaction. | | U05 | Merchant | No | No | Identifies a transaction as a Resubmission COF transaction. Only certain merchant categories are able to send a resubmission, and it can only be done if the original authorization attempt was declined due to insufficient funds. | | U06 | Merchant | No | No | Identifies a transaction as an Estimated Authorization COF transaction. | | U07 | Merchant | No | No | Identifies a transaction as a Delayed Charges COF transaction. For example, a hotel might charge a customer for room damages after the guest has already checked out. | | U08 | Merchant | No | No | Identifies a transaction as an Incremental COF transaction. For example, a hotel which authorized a customer’s card for one night at check-in might increase the authorization amount to cover two nights when the customer decides to extend their stay. Shift4 automatically detects this scenario and sends the appropriate value to the processor. | | U09 | Merchant | No | No | Identifies a transaction as a No Show COF transaction. For example, a hotel might charge a customer who does not show up for a booked stay. | See the [Card On File Transactions](/guides/advanced-concepts/card-on-file-transactions) section for additional details. CardOnFileRecurringExpiry: type: string example: '20250401' minLength: 8 maxLength: 8 description: > Date after which no further authorizations shall be performed. This field is limited to 8 characters, and the accepted format is YYYYMMDD. **Conditional: This field is required if it's the first recurring transaction (`cardOnFile.type = S02`). This field is not needed if the transaction is not recurring or if the transaction is a subsequent recurring transaction.** CardOnFileRecurringFrequency: type: string example: '15' minLength: 1 maxLength: 4 description: > Indicates the minimum number of days between authorizations. **Conditional: 'This field is required if it's the first recurring transaction (`cardOnFile.type = S02`). This field is not needed if the transaction is not recurring or if the transaction is a subsequent recurring transaction.** CardOnFileTransactionId: type: string maxLength: 15 example: Z62537846172646 description: > This field is returned in the initial COF response, and ties subsequent COF transactions to the original authorization. For example, if a merchant runs a Sale on a card for the first time, they will receive a transactionId back in the response. A month later, when the merchant wants to perform an additional Sale with the card on file, they would send a Sale request including the transactionId they received from the first sale. **Conditional: Must be sent in subsequent COF requests if you are not processing with a Global Token Vault token. If using Global Token Vault tokens then this field is not required** CardOnFileTransactionLinkId: type: string maxLength: 22 example: Z871868461726461879548 description: > A unique identifier assigned to each transaction to link related events throughout the transaction lifecycle. This field is supported for Mastercard brand only. For example, if a merchant runs a Sale on a card for the first time, they will receive a transactionLinkId back in the response. A month later, when the merchant wants to perform an additional Sale with the card on file, they would send a Sale request including the transactionLinkId they received from the first sale. **Conditional: Must be sent in subsequent COF requests if you are not processing with a Global Token Vault token. If using Global Token Vault tokens then this field is not required** CardOnFile: type: object description: > **Conditional: Send this object when the transaction being performed is using a card on file or when the request will result in storing a card on file.** See the [Card On File Transactions](/guides/advanced-concepts/card-on-file-transactions) section for more information. properties: type: $ref: '#/components/schemas/CardOnFileType' recurringExpiry: $ref: '#/components/schemas/CardOnFileRecurringExpiry' recurringFrequency: $ref: '#/components/schemas/CardOnFileRecurringFrequency' transactionId: $ref: '#/components/schemas/CardOnFileTransactionId' transactionLinkId: $ref: '#/components/schemas/CardOnFileTransactionLinkId' HotelEstimatedDays: type: integer maxLength: 2 example: 5 description: > Used to communicate the estimated number of days of a guest’s stay. This value is included in an [Authorization](/apis/payments-platform-rest/openapi/transactions/transactionsauthorization) request for a consumer’s hotel stay. HotelCheckIn: type: object description: | **Conditional: Utilize this object for Hotel transactions** properties: estimatedDays: $ref: '#/components/schemas/HotelEstimatedDays' PurchaseCardCustomerReference: type: string maxLength: 25 example: D019D09309F2 description: > A unique value used to identify the consumer or transaction. If a merchant has a significant amount of revenue from purchasing card customers, the interface would use this field to collect the consumer’s purchase order or employee identification number. In lodging transactions, this may be unique transaction details, such as a reservation code or third-party booking source. This field is part of Level 2 card data. PurchaseCardDestinationPostalCode: type: string maxLength: 9 example: '94719' description: > When items are shipped, the ZIP/postal code to which merchandise will be shipped; otherwise, the ZIP/postal code where the goods or services are rendered. This field is part of Level 2 card data. PurchaseCardProductDescriptors: type: array items: type: string maxLength: 40 example: - Hamburger - Fries - Soda - Cookie description: > A text description of the items purchased or services sold. This can be a generic text description of what the merchant sells (such as “Groceries”) or specific transaction data (such as the name of the item sold). At least one product descriptor field is required in a sale or authorization request. Note: The productDescriptors array is limited to 4 elements. Each element can contain a maximum of 40 characters. PurchaseCard: type: object required: - customerReference - destinationPostalCode - productDescriptors properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' destinationPostalCode: $ref: '#/components/schemas/PurchaseCardDestinationPostalCode' productDescriptors: $ref: '#/components/schemas/PurchaseCardProductDescriptors' TransactionVendorReference: type: string maxLength: 50 example: 12382-01 description: > Optional field for information that can be searched in the merchant portal. TransactionAuthType: type: string maxLength: 2 enum: - '1' - '2' example: '2' description: > Specifies whether or not the authorization amount can be modified post authorization. Specifying the transaction as a 'Final Authorization' can result in lower transaction rates, however the transaction amount can not be incremented or decremented. It must be captured for the exact amount that it was authorized. If this field is not included in the request the transaction will be processed as a 'Pre-Authorization'. Value| Description -----|------------ 1 | Final Authorization 2 | Pre-Authorization TransactionSource: type: string minLength: 1 maxLength: 2 example: '6' enum: - '6' description: > **Conditional: Must be sent when processing transactions on an unattended device.** Transaction source type. Value | Description -------|----------------------------- 6 | Unattended Cardholder Activated Terminal (UCAT) TransactionOriginalDate: type: string format: ISO 8601 example: '2021-04-15T09:18:23.283-07:00' description: > The date and time of the original transaction request in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). Must be an exact match for the value sent in the original transaction request. DeviceTerminalIdComEng: type: string maxLength: 32 example: '1742' description: > This field is optional and is for backwards compatibility with existing vendors that are used to processing via UTG controlled devices. Since Commerce Engine is running directly on the payment device it does not require a `device.terminalId` to be specified. ReceiptColumns: type: integer example: 40 maxLength: 2 description: > Send this field if you want Shift4 to format the receipt text instead of returning individual fields. The value sent will correlate to the column width of the formatted receipt that we return. (This also allows the receipt text to wrap to fit the paper size of the printed receipt.) See the [Printing Receipts](/guides/core-concepts/printing-receipts) section of this document for more information on formatted receipts. StatementSuffix: type: string maxLength: 15 example: KDNYZUHQ1 description: > Custom description that will be appended to the merchant name on the customer's statement. For most card brands, the merchant DBA name can be a maximum of 25 characters. Sending this value will cause the merchant name to be truncated to 9 characters. Shift4 will add an asterisk between the merchant name and the `statementSuffix` value. For example, for a merchant named `Joe's Warehouse Emporium` that processes a transaction with `statementSuffix` value of `KDNYZUHQ1`, the merchant statement will show as `Joe's War*KDNYZUHQ1`. **Note: The value that displays on customer statements from card issuers is beyond Shift4's control. We will submit the transaction data as described above, however issuers may modify or truncate that data as they see fit. To best accommodate different issuer limitations, we will truncate the merchant name to the minimum possible value (9 characters) in order to attempt to leave the most room for the statementSuffix to populate on issuer statements.** CurrencyCode: type: string format: ISO 4217 3 Character Alphabetic Code example: USD description: > Transaction currency code. See the [Currency Codes](/guides/appendices/currency-codes) section for details. **Note: This is currently supported when processing for a merchant outside of the US and Canada. If processing for a US or Canadian merchant then this field will be ignored and the transaction will process in the merchant's configured currency.** CustomerAddressLine1: type: string maxLength: 30 example: 65 Easy St description: > Cardholder’s street address exactly as it appears on their billing statement. This field is used in AVS. CustomerFirstName: type: string maxLength: 30 example: John description: > Specifies a consumer’s first name. This field is used in AVS. If the interface sends this field, the value specified by the interface will be returned in the response, unless the API Option [USECARDNAME](/guides/appendices/api-options#usecardname) is included in the request and a Commerce Engine or UTG-controlled PIN pad is in use. If the interface does not send the `customer` object, the consumer's name will be returned in the `customer` object if the name is present in the card's EMV or track data. CustomerMiddleName: type: string maxLength: 30 example: Andrew description: | Specifies a consumer’s middle name. CustomerLastName: type: string maxLength: 30 example: Smith description: > Specifies a consumer’s last name. This field is used in AVS. If the interface sends this field, the value specified by the interface will be returned in the response, unless the API Option [USECARDNAME](/guides/appendices/api-options#usecardname) is included in the request and a Commerce Engine or UTG-controlled PIN pad is in use. If the interface does not send the `customer` object, the consumer's name will be returned in the `customer` object if the name is present in the card's EMV or track data. CustomerPostalCode: type: string minLength: 1 maxLength: 9 example: '65144' description: > Cardholder’s ZIP/postal code from their billing statement. This field is used in AVS. Do not include special characters. **Note: This field only allows alphanumeric characters (a-z, A-Z, 0-9). Special characters including - are not allowed. If you are sending in zip+4 you must not include the dash so 89134-1234 would be sent as 891341234** CustomerEmailAddress: type: string maxLength: 80 example: john.smith@email.com description: | Customer email address. CustomerIpAddress: type: string maxLength: 20 example: 63.57.84.101 description: > Public source IP Address where the request originates, not the IP Address of the web server. Customer: type: object properties: addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' firstName: $ref: '#/components/schemas/CustomerFirstName' middleName: $ref: '#/components/schemas/CustomerMiddleName' lastName: $ref: '#/components/schemas/CustomerLastName' postalCode: $ref: '#/components/schemas/CustomerPostalCode' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' CardPresent: type: string enum: - 'Y' - 'N' example: 'Y' description: > **Conditional: Send in the initial authorization/sale request** Indicates whether a card was present (‘Y’) or not (‘N’) at the time a transaction took place. This should be set appropriately in the initial authorization/sale request. In subsequent requests, this field should be left blank or should not be sent. **Note:** Subsequent request here does not apply to the secondary request for card on file type transactions or reuse of the same card. An example of a subsequent request would be a capture after an authorization. You would not include `card.present` in the capture, which is the subsequent request. Another example is when performing an incremental authorization where you perform an authorization, followed by an incremental authorization then a capture. The second authorization (incremental) and the capture are the subsequent requests where you would not include `card.present`. CardType: type: string enum: - CC - DB - GC - HF - PL - YC example: VS description: > An abbreviation used to specify the type of card that will be used when processing a transaction. If an interface sends a value that is not listed here, that value will be ignored. Value| Description -----|------------ CC | When using a UTG-controlled device, this value will force a card to process as credit. DB | When using a UTG-controlled device, this value will force a card to process as debit. When using a non-UTG-controlled PIN pad, this value must be sent when processing a debit transaction. GC | Gift Card HF | HSA/FSA Card PL | Private Label YC | IT’S YOUR CARD ApiOptions: type: array items: type: string example: - RETURNEXPDATE - ALLOWPARTIALAUTH writeOnly: true description: > API Options modify the request being made. See the [API Options](/guides/appendices/api-options.md) section for more information. TipPresetType: type: string enum: - none - percent - amount example: percent description: > The tip option selected by the cardholder. | Value | Description | |---------|--------------------------------------------------------------------------------------------------------------------| | none | Skips the preset screen and goes direclty to the other tip amount screen. | | percent | Display the preset screen showing preset percentages. Must include `tip.preset1`, `tip.preset2`, and `tip.preset3` | | amount | Display the preset screen showing preset amounts. Must include `tip.preset1`, `tip.preset2`, and `tip.preset3`. | TipPresetDefault: type: string enum: - '1' - '2' - '3' - none example: '2' description: > The preset value that is selected by default. If not sent in the request it will default to to preset 2. | Value | Description | |-------|-----------------------| | 1 | Preset 1 is selected | | 2 | Preset 2 is selected | | 3 | Preset 3 is selected | | none | No preset is selected | TipPreset1: type: number example: 15 description: > The preset value for the preset number 1. If `presetType = percent` send the percentage value. If `presetType = amount` send the amount value. TipPreset2: type: number example: 20 description: > The preset value for the preset number 2. If `presetType = percent` send the percentage value. If `presetType = amount` send the amount value. TipPreset3: type: number example: 25 description: > The preset value for the preset number 3. If `presetType = percent` send the percentage value. If `presetType = amount` send the amount value. TipHeader: type: string maxLength: 100 example: Would you like to add a tip? description: > Optional field to override the header text. If not sent, the header text will display `Add Tip` in the terminal's configured language. TipBasisNotification: type: boolean example: true description: > Send as `true` if you want to display the tip basis notification text on the tip screen. Must also include `amount.tipBasis` in the request if sending as `true`. Default: `false` TipDisplayNoTip: type: boolean example: true description: > Send as `true` if you want to display No Tip instead of Cash Tip on the tip entry screen. Default: `false` TipObject: type: object description: > The optional `tip` object allows integrators to control the display and behavior of the tip screen presented to customers during payment processing. required: - presetType properties: presetType: $ref: '#/components/schemas/TipPresetType' presetDefault: $ref: '#/components/schemas/TipPresetDefault' preset1: $ref: '#/components/schemas/TipPreset1' preset2: $ref: '#/components/schemas/TipPreset2' preset3: $ref: '#/components/schemas/TipPreset3' headerText: $ref: '#/components/schemas/TipHeader' basisNotification: $ref: '#/components/schemas/TipBasisNotification' displayNoTip: $ref: '#/components/schemas/TipDisplayNoTip' UILanguageRequest: type: string example: en description: > ISO 639-1 2-letter language code specifying the UI display language for the transaction (e.g. "en", "fr", "de"). When provided, overrides the device's configured default language for the duration of the session. Value persists across transactions until a new value is passed. Send default to reset the device back to its default language. UIMode: type: string enum: - light - dark example: dark description: > Set the UI to light mode by sending `light` or dark mode by sending `dark` UISuppressFinalResult: type: boolean example: 'true' description: > When `true`, the terminal suppresses the final transaction result screen. SafFloorLimitCredit: type: number maxLength: 14 example: 250.25 description: > Sets the offline floor limit for the transaction. If lower than the configured credit floor limit, it overrides the limit. If higher than or equal to the configured limit, it's ignored. SafFloorLimit: type: object properties: credit: $ref: '#/components/schemas/SafFloorLimitCredit' transactions_authorization_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - amount - clerk - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' statementSuffix: $ref: '#/components/schemas/StatementSuffix' currencyCode: $ref: '#/components/schemas/CurrencyCode' customer: $ref: '#/components/schemas/Customer' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' apiOptions: $ref: '#/components/schemas/ApiOptions' tip: $ref: '#/components/schemas/TipObject' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 transaction: hotel: estimatedDays: 5 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie DeviceCloud: type: boolean example: true description: > Indicates the transaction will be processed via the Commerce Engine solution for cloud based POS/PMS systems. Value must be sent as `true` in order to route the request to the payment device at the merchant location. DeviceManufacturer: type: string enum: - Ingenico - Innowi - PAX - Verifone - Castles - Miura example: PAX description: | Specifies the company which manufactured the device. DeviceSerialNumber: type: string maxLength: 64 example: '1170301234' description: | Specifies the serial number of the device. DeviceCommerceEngineCloud: type: object required: - cloud - manufacturer - serialNumber properties: cloud: $ref: '#/components/schemas/DeviceCloud' manufacturer: $ref: '#/components/schemas/DeviceManufacturer' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' transactions_authorization_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - amount - clerk - transaction - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: $ref: '#/components/schemas/DeviceCommerceEngineCloud' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' customer: $ref: '#/components/schemas/Customer' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' apiOptions: $ref: '#/components/schemas/ApiOptions' tip: $ref: '#/components/schemas/TipObject' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2023-08-31T07:20:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: hotel: estimatedDays: 5 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie DeviceTerminalId: type: string maxLength: 32 example: '1742' description: > To prompt a specific UTG-controlled PIN pad in a request, the API Terminal ID configured in UTG TuneUp must be specified in this field. DevicePromptPostalCode: type: string minLength: 1 maxLength: 1 enum: - 'Y' - 'N' example: 'Y' description: > When using a UTG-controlled PIN pad: Value|Description -----|----------- Y | Force the PIN pad to prompt the consumer for a ZIP/Postal Code. N | Do not force the PIN pad to prompt the consumer for a ZIP/Postal Code. **Note: Use only when you want to override MCE (Manual Card Entry) settings in UTG.** DevicePromptCardSecurityCode: type: string minLength: 1 maxLength: 1 enum: - 'Y' - 'N' example: 'Y' description: > When using a UTG-controlled PIN pad: Value|Description -----|----------- Y | Force the PIN pad to prompt the consumer for a CSC. N | Do not force the PIN pad to prompt the consumer for a CSC. **Note: Use only when you want to override MCE (Manual Card Entry) settings in UTG.** DevicePromptStreetNumber: type: string minLength: 1 maxLength: 1 enum: - 'Y' - 'N' example: 'Y' description: > When using a UTG-controlled PIN pad: Value|Description -----|----------- Y | Force the PIN pad to prompt the consumer for the street number of their billing address. N | Do not force the PIN pad to prompt the consumer for the street number of their billing address. **Note: Use only when you want to override MCE (Manual Card Entry) settings in UTG.** transactions_authorization_utgdevice: title: UTG Controlled Device type: object required: - dateTime - amount - clerk - transaction - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptPostalCode: $ref: '#/components/schemas/DevicePromptPostalCode' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' promptStreetNumber: $ref: '#/components/schemas/DevicePromptStreetNumber' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' statementSuffix: $ref: '#/components/schemas/StatementSuffix' currencyCode: $ref: '#/components/schemas/CurrencyCode' customer: $ref: '#/components/schemas/Customer' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 device: terminalId: '1742' transaction: hotel: estimatedDays: 5 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie AmountSurcharge: type: number maxLength: 14 example: 5 description: > **Conditional: Send in the request if a surcharge was applied to the transaction.** In a sale or authorization transaction, the `surcharge` field specifies a fee amount that a consumer is charged in addition to the transaction amount. The fee amount is also added into `amount.total`. For example, if the transaction request had `amount.total = 100` and the `surcharge.percentage` was 1.5% the transaction would include `amount.total = 101.50` and `amount.surcharge = 1.50` Amount: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. All other fields are for informational purposes and must also be included in the `total` field. For example, a purchase of $100 with a $20 tip and $8 tax would be `128.00` in the `total` field, `20.00` in the `tip` field and `8.00` in the `tax` field. Note: For merchants that are configured to allow multiple currencies, the amount fields can specify up to three decimal places. However, the number of decimal places can not exceed the number allowed for the specified currency. See the [Currency Codes](/guides/appendices/currency-codes) section for details. required: - total - tax properties: total: $ref: '#/components/schemas/AmountTotal' tax: $ref: '#/components/schemas/AmountTax' taxIndicator: $ref: '#/components/schemas/AmountTaxIndicator' cashback: $ref: '#/components/schemas/AmountCashback' iiasAmounts: $ref: '#/components/schemas/IIASAmountsArray' surcharge: $ref: '#/components/schemas/AmountSurcharge' tip: $ref: '#/components/schemas/AmountTip' checkTotal: $ref: '#/components/schemas/AmountCheckTotal' TransactionS4RiskIdRequest: type: string example: EC52377F-5A8E-4534-BE7A-CF779A35BE45 description: > Unique transaction identification number generated by Shift4 to identify a specific risk transaction and a field that can be searched in LTM. **Conditional: must be sent if [Risk Assessment](/apis/payments-platform-rest/openapi/risk/riskassess) was completed prior to processing the transaction.** TransactionDeferredAuth: type: string minLength: 1 maxLength: 1 example: D enum: - D description: > **Conditional: Must be sent if the transaction is deferred** Specifies that a transaction is the result of a deferred authorization. For example, a transaction that was accepted while in an offline state and is being uploaded after coming back online. Value | Description -------|----------------------------- D | Transaction is a deferred authorization TransactionExemptionAction: type: string example: '02' enum: - '02' description: > Indicates the merchant preference regarding SCA exemption. Value | Description -------|----------------------------- 02 | Request an exemption as part of the payment request. **Note:** If no value is provided, and you are using the 3DS Adviser module, the Shift4 Payment Gateway requests an exemption (if applicable) as part of the 3D secure process. TransactionExemptionReason: type: string example: '01' enum: - '01' - '02' - '04' description: > **Conditional: required when sending `transaction.exemptionAction = 02`** Value | Description -------|----------------------------- 01 | Low value transaction (below 30 EUR or equivalent) 02 | Low risk transaction (TRA)1 04 | Secure Corporate Cards 3 CardExpirationDate: type: integer minLength: 3 maxLength: 4 format: MMYY example: 1230 description: > **Conditional: Send only when card data is manually entered or when using a token. This field should not be specified when using an encrypted device.** Card expiration date in MMYY format. This value should only be populated in the initial sale/authorization request. CardTokenValue: description: > This field is used to specify a card token. Whenever CHD is sent in a request, a card token will be returned in this field. Your interface should be designed to store this card token for future use. The latest card token received should be used in any subsequent request that references the same card data. type: string maxLength: 16 example: '8048471746471119' CardTokenRequired: type: object required: - value properties: value: $ref: '#/components/schemas/CardTokenValue' CardSecurityCodeIndicator: type: string minLength: 1 maxLength: 1 writeOnly: true example: '1' enum: - '0' - '1' - '2' - '9' description: | This field indicates the presence of a CSC. Value|Description -----|----------- 0 | CSC not provided by user. 1 | CSC provided. 2 | CSC illegible. 9 | CSC not on card, or card did not have a CSC. CardSecurityCodeResult: type: string minLength: 1 maxLength: 1 readOnly: true example: M enum: - M - 'N' - P - S - U - 'Y' - '1' - '2' - '3' description: > **Conditional: Returned if `card.securityCode.indicator` and `card.securityCode.value` are sent in the request.** The result of a CSC check. This field will be used by Shift4 to determine the value sent in the `card.securityCode.valid` field (based on the merchant’s list of accepted verification results as configured with Shift4). Value|Description -----|------------ M | CSC matched. N | CSC did not match. P | CSC not processed. S | CSC should have been present. U | Issuer unable to process. Y | CVC1 incorrect. 1 | CSC Unavailable - processor / card type does not support this parameter. 2 | An unrecognised result code was returned by the processor. 3 | No result code was returned by the processor. CardSecurityCodeValid: type: string minLength: 1 maxLength: 1 readOnly: true example: 'Y' description: > **Conditional: Returned if `card.securityCode.indicator` and `card.securityCode.value` are sent in the request.** A simplified CSC check result based on the value in the `card.securityCode.result` field and the merchant’s accepted verification results as configured with Shift4. The value returned will be ‘Y’ if CSC verification passed or ‘N’ if CSC verification did not pass. CardSecurityCodeValue: type: string maxLength: 4 writeOnly: true example: '333' description: > The three- or four-digit Card Security Code found on a payment card. This value should only be sent in an initial sale/authorization request. It should not be stored by the interface. When sending `card.securityCode.value`, `card.securityCode.indicator` must also be sent. CardSecurityCode: type: object description: > **Conditional: Send only when card data is manually entered. This object should not be specified when using an encrypted device. This object should be sent for initial card on file request but is not required for subsequent merchant initiated charges.** required: - indicator - value properties: indicator: $ref: '#/components/schemas/CardSecurityCodeIndicator' result: $ref: '#/components/schemas/CardSecurityCodeResult' valid: $ref: '#/components/schemas/CardSecurityCodeValid' value: $ref: '#/components/schemas/CardSecurityCodeValue' RiskTranIdRequest: type: string example: DDWT0P3LG6LL description: > The risk tranId value received in the [Risk Assessment](/apis/payments-platform-rest/openapi/risk/riskassess) response. **Conditional: must be sent if [Risk Assessment](/apis/payments-platform-rest/openapi/risk/riskassess) was completed prior to processing the transaction.** RiskAssessmentRequest: type: string enum: - A - D - R - E example: A description: > The risk assessment value received in the [Risk Assessment](/apis/payments-platform-rest/openapi/risk/riskassess) response. **Conditional: must be sent if [Risk Assessment](/apis/payments-platform-rest/openapi/risk/riskassess) was completed prior to processing the transaction.** RiskTransactionRequest: type: object description: > **Conditional: must be sent if [Risk Assessment](/apis/payments-platform-rest/openapi/risk/riskassess) was completed prior to processing the transaction.** properties: tranId: $ref: '#/components/schemas/RiskTranIdRequest' assessment: $ref: '#/components/schemas/RiskAssessmentRequest' ReportingDataCustomerInfoFirstName: type: string example: John maxLength: 30 description: | Customer's first name ReportingDataCustomerInfoLastName: type: string example: Smith maxLength: 30 description: | Customer's last name ReportingDataCustomerInfoDateOfBirth: type: string example: '01281980' minLength: 8 maxLength: 8 description: | Customer's date of birth in MMDDYYYY format ReportingDataCustomerInfoGender: type: string example: male maxLength: 20 description: | Customer's gender ReportingDataCustomerInfoBaggage: type: string example: carryon maxLength: 20 description: | Description for the customer's baggage ReportingDataCustomerInfoSeats: type: string example: 1A maxLength: 3 description: | Customer's assigned seat ReportingDataCustomerInfoBoardingPriority: type: string example: '3' maxLength: 3 description: | Customer's boarding priority ReportingDataCustomerInfo: type: object properties: firstName: $ref: '#/components/schemas/ReportingDataCustomerInfoFirstName' lastName: $ref: '#/components/schemas/ReportingDataCustomerInfoLastName' dateOfBirth: $ref: '#/components/schemas/ReportingDataCustomerInfoDateOfBirth' gender: $ref: '#/components/schemas/ReportingDataCustomerInfoGender' baggage: $ref: '#/components/schemas/ReportingDataCustomerInfoBaggage' seats: $ref: '#/components/schemas/ReportingDataCustomerInfoSeats' boardingPriority: $ref: '#/components/schemas/ReportingDataCustomerInfoBoardingPriority' ReportingDataCustomerInfoArray: type: array writeOnly: true items: $ref: '#/components/schemas/ReportingDataCustomerInfo' example: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' description: > Array of customer information objects. The maximum number of customer information objects that can be sent is 10. ReportingDataPspDataPspId: type: string maxLength: 64 example: PSP Name XYZ description: | PSP identifier / label ReportingDataPspDataPspMid: type: string maxLength: 32 example: '123456' description: | PSP merchant identifier (MID). ReportingDataPspDataPspTid: type: string maxLength: 32 example: '12345678' description: | PSP terminal identifier (TID). ReportingDataPspDataPspTxnTraceNo: type: string maxLength: 32 example: '000013' description: | PSP transaction trace number. ReportingDataPspDataPspTxnDate: type: string format: date example: '20260110' description: | PSP transaction date (YYYYMMDD). ReportingDataPspDataPspTxnTime: type: string format: 24-hour time example: '235959' description: | PSP transaction time (hhmmss) ReportingDataPspDataPspResponseCode: type: string maxLength: 16 example: '00' description: | PSP host response code. ReportingDataPspDataPspResponseText: type: string maxLength: 256 example: Payment Approved description: | PSP host response description/text. ReportingDataPspData: type: object description: > Payment service provider (PSP) metadata for third-party processed transactions. properties: pspId: $ref: '#/components/schemas/ReportingDataPspDataPspId' pspMid: $ref: '#/components/schemas/ReportingDataPspDataPspMid' pspTid: $ref: '#/components/schemas/ReportingDataPspDataPspTid' pspTxnTraceNo: $ref: '#/components/schemas/ReportingDataPspDataPspTxnTraceNo' pspTxnDate: $ref: '#/components/schemas/ReportingDataPspDataPspTxnDate' pspTxnTime: $ref: '#/components/schemas/ReportingDataPspDataPspTxnTime' pspResponseCode: $ref: '#/components/schemas/ReportingDataPspDataPspResponseCode' pspResponseText: $ref: '#/components/schemas/ReportingDataPspDataPspResponseText' ReportingData: type: object description: | Used to send non-payment related data for reporting purposes. properties: customerInfo: $ref: '#/components/schemas/ReportingDataCustomerInfoArray' pspData: $ref: '#/components/schemas/ReportingDataPspData' mPOSType: type: string enum: - '00' - '01' - '02' - '03' example: '01' description: > mPOS (mobile POS) device type indicator Value| Description -----|------------ 00 | mPOS Accessory/dongle with contact and contactless interfaces, with or without PIN pad. 01 | Mobile device based contactless only mPOS without PIN support. 02 | mPOS Accessory/dongle with contact and contactless interfaces and PIN on Glass support 03 | Mobile device based contactless only mPOS with PIN on Glass support. mPOS: type: object description: > **Conditional: Send in the request if transaction is coming from an mPOS** properties: type: $ref: '#/components/schemas/mPOSType' DCCRateTimeStamp: type: string format: ISO 8601 example: '2024-07-09T13:34:25.049-07:00' description: > The date and time of the DDC rate lookup in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). DCCCurrencyCode: type: string format: ISO 4217 3 Character Alphabetic Code example: CAD description: > Cardholder's transaction currency code. See the [Currency Codes](/guides/appendices/currency-codes) section for details. DCCForeignAmount: type: number maxLength: 14 example: 180 description: | Foreign Currency Amount DCCConversionRate: type: string maxLength: 20 example: 1.35 description: > Foreign Currency Exchange Rate. The rate at which one currency can be exchanged for another currency. DCCMarginPercentage: type: string maxLength: 10 example: 9.99 description: > This value is the foreign exchange markup percentage including the decimal. For example 9.99% will be returned as `9.99` DCCCurrencyMinorUnits: type: number example: 2 description: > Foreign Currency Minor Unit. Indicates the number of digits after the decimal separator as specified by either MasterCard, VISA, or the ISO 4217 standard. DCCTransactionID: type: string maxLength: 50 example: 1A2820D2G334 description: > A unique identifier returned in the ratelookup response to link with the initial authorization, Sale transaction types. DCCConversionIndicator: type: string minLength: 1 maxLength: 1 enum: - '0' - '1' - '2' example: '1' description: > Specifies whether or not the cardholder opted into dynamic currency conversion. Value | Description ------|-------------------------------------------------------------------------------------- 0 | Convertible but declined by cardholder (cardholder chose to pay in merchant currency) 1 | Converted (cardholder opted to pay in their currency) 2 | Nonconvertible (DCC cannot be used) DCCDiffOverECB: type: string maxLength: 5 example: '0.35' description: > Difference of GB Reference Rate over ECB Reference Rate in percentage (%), if applicable including decimal. This field is applicable only for conversion between currencies of EU countries, e.g. EUR --> DKK or SEK --> CZK. This field will not be returned if the transaction is not in Scope of EU Regulation 2019/518. DCCMarginOverECB: type: string maxLength: 5 example: '2.85' description: > Markup of offered exchange rate over ECB Reference Rate in percentage (%), if applicable. This field is applicable only for conversion between currencies of EU countries, e.g. EUR --> DKK or SEK --> CZK. This field will not be returned if the transaction is not in scope of EU Regulation 2019/518. DCCDisplayUnit: type: number example: 2 description: > Display unit for currency. It is the exponent of the base currency in an exchange rate pair e.g. for a JPY merchant converting to EUR, where `dcc.displayUnit` = 2 will show JPY in 100 (10^2) units: JPY 100 = EUR 0.7961 DCCProvider: type: string enum: - WAY4 - GLOBAL_BLUE example: GLOBAL_BLUE description: | DCC Provider DCCTransactionRequest: type: object description: > Object containing Dynamic Currency Conversion (DCC) information. Must contain all fields received in the [DCC Rate Lookup](/apis/payments-platform-rest/openapi/dcc/dccratelookup) response. **Conditional: must be included in the request if the cardholder was given the option to pay in their currency, even if they opted out.** properties: rateTimeStamp: $ref: '#/components/schemas/DCCRateTimeStamp' currencyCode: $ref: '#/components/schemas/DCCCurrencyCode' foreignAmount: $ref: '#/components/schemas/DCCForeignAmount' conversionRate: $ref: '#/components/schemas/DCCConversionRate' marginPercentage: $ref: '#/components/schemas/DCCMarginPercentage' currencyMinorUnits: $ref: '#/components/schemas/DCCCurrencyMinorUnits' transactionId: $ref: '#/components/schemas/DCCTransactionID' conversionIndicator: $ref: '#/components/schemas/DCCConversionIndicator' diffOverEcb: $ref: '#/components/schemas/DCCDiffOverECB' marginOverEcb: $ref: '#/components/schemas/DCCMarginOverECB' displayUnit: $ref: '#/components/schemas/DCCDisplayUnit' provider: $ref: '#/components/schemas/DCCProvider' SurchargePercentage: type: number example: 2 maximum: 99.99 description: | The surcharge percentage that can be applied to a transaction. SurchargeRequest: type: object description: > **Conditional: Must be sent in the request if a surcharge is applied to the transaction.** properties: percentage: $ref: '#/components/schemas/SurchargePercentage' transactions_authorization_token_gtv: title: GTV Token type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' exemptionAction: $ref: '#/components/schemas/TransactionExemptionAction' exemptionReason: $ref: '#/components/schemas/TransactionExemptionReason' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' statementSuffix: $ref: '#/components/schemas/StatementSuffix' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: '8048471746471119' clerk: numericId: 1576 transaction: hotel: estimatedDays: 5 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' CardTokenSerialNumber: description: > In requests that require the use of a shared card token that is held by another merchant account, such as in a TokenStore or TokenShare®, this field is used to specify the serial number for the account where the card token is stored. type: string maxLength: 10 example: '266' CardTokenRequiredLegacy: type: object required: - value properties: value: $ref: '#/components/schemas/CardTokenValue' serialNumber: $ref: '#/components/schemas/CardTokenSerialNumber' transactions_authorization_token_legacy: title: Legacy TrueToken type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' exemptionAction: $ref: '#/components/schemas/TransactionExemptionAction' exemptionReason: $ref: '#/components/schemas/TransactionExemptionReason' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' statementSuffix: $ref: '#/components/schemas/StatementSuffix' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: 11191pn83hbkkety serialNumber: '123456' clerk: numericId: 1576 transaction: hotel: estimatedDays: 5 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' P2PEData: type: string maxLength: 2048 example: >- 027101801F2D1E00939B%*432100******1119^VS/DUAL TRACK^2212******?*;432100******1119=2212******?*CECE3FCE7781142BEC8D0E267AE89F5D3C7E235BF1A70E637951E8D93003E5A2586C336CA4A3B31F6639B04005BB12A716D8BC4D3AB125C27AB11A9DDC02816569D42A20B036EE5E2C71CB70565FB43B000000000000000000000000000000000000000000000000000000000000000000000000000000003434345434363138343962994950010038200415953903 description: | The full output of a P2PE keypad/magnetic swipe reader (MSR). P2PEFormatIDTech: type: string minLength: 2 maxLength: 2 enum: - '01' - '02' example: '01' description: | Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 01 | IDTech Enhanced Encryption format (Keyboard Mode) 02 | IDTech Enhanced Encryption format (USB HID Mode) P2PEType0102IDTECH: type: object required: - data - format properties: data: $ref: '#/components/schemas/P2PEData' format: $ref: '#/components/schemas/P2PEFormatIDTech' transactions_authorization_p2pe_idtech: title: P2PE - ID TECH - EMV/MSR/Manual type: object required: - dateTime - amount - clerk - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' statementSuffix: $ref: '#/components/schemas/StatementSuffix' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' apiOptions: - ALLOWPARTIALAUTH amount: cashback: 20 tax: 15 tip: 20 total: 160 card: present: 'Y' clerk: numericId: 1576 p2pe: data: >- 02df00801f2e1e00939b252a323232312a2a2a2a2a2a2a2a303030395e4d43322f4455414c20545241434b5e2a2a2a2a2a2a2a2a2a2a3f2a3b323232312a2a2a2a2a2a2a2a303030393d2a2a2a2a2a2a2a2a2a2a3f2aa0744ac45073ef2e516cd6b1111c990effb75fbe6521e40be763593c385c6c7cdcd41ffbabb59cd6c999bfe636dff9ef8408e38906db0fdc7497df96a3e8f564b9a4e1bd802f326eb9848b447512384700000000000000000000000000000000000000000000000000000000000000000000000000000000383237543839303939306299495001000000000521d503 format: '02' transaction: invoice: '192029' notes: Transaction notes are added here hotel: estimatedDays: 5 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' AccountType: type: string example: '00' minLength: 2 maxLength: 2 description: > The type of financial institution account. **Conditional: Must be sent if processing Interac debit EMV contact transactions** | Value | Description | |-------|--------------| | 00 | Chequing | | 01 | Savings | TransactionPinBlock: type: string maxLength: 16 example: '1234567890123456' description: > Encrypted PIN data received from a POS-controlled PIN pad (not controlled by the UTG). TransactionPinKsn: type: string maxLength: 20 example: FFFF4950010293927772 description: > Key serial number (KSN) received from a POS-controlled PIN pad (not controlled by the UTG). This field is a hexadecimal field that should be padded with leading ‘F’s. TransactionPin: type: object writeOnly: true description: > **Conditional: Include in the request for PIN debit and EMV Online PIN transactions. This object does not apply to UTG-controlled devices.** properties: block: $ref: '#/components/schemas/TransactionPinBlock' ksn: $ref: '#/components/schemas/TransactionPinKsn' DeviceModel: type: string maxLength: 50 example: A800 description: | **Conditional: Required when using a non-UTG-controlled device.** Specifies the model of the device. DeviceCapabilityContactlessEMV: type: string enum: - 'Y' - 'N' example: 'Y' description: > Specifies whether or not the device supports contactless EMV. If this input method can be supported by the device, but the input method is currently disabled for all transactions on the device, then the value 'N' should be sent. DeviceCapabilityContactlessMSR: type: string enum: - 'Y' - 'N' example: 'Y' description: > Specifies whether or not the device supports contactless magstripe. If this input method can be supported by the device, but the input method is currently disabled for all transactions on the device, then the value 'N' should be sent. DeviceCapabilityEMV: type: string enum: - 'Y' - 'N' example: 'Y' description: > Specifies whether or not the device supports EMV. If this input method can be supported by the device, but the input method is currently disabled for all transactions on the device, then the value 'N' should be sent. DeviceCapabilityManualEntry: type: string enum: - 'Y' - 'N' example: 'Y' description: > Specifies whether or not the device supports manual entry. If this input method can be supported by the device, but the input method is currently disabled for all transactions on the device, then the value 'N' should be sent. DeviceCapabilityMagstripe: type: string enum: - 'Y' - 'N' example: 'Y' description: > Specifies whether or not the device supports magstripe. If this input method can be supported by the device, but the input method is currently disabled for all transactions on the device, then the value 'N' should be sent. DeviceCapabilityPIN: type: string enum: - 'Y' - 'N' example: 'Y' description: > Specifies whether or not the device supports PIN entry (for debit or EMV). If this input method can be supported by the device, but the input method is currently disabled for all transactions on the device, then the value 'N' should be sent. DeviceCapabilityQuickChip: type: string enum: - 'Y' - 'N' example: 'Y' description: > Specifies whether or not the device supports quick chip. If this input method can be supported by the device, but the input method is currently disabled for all transactions on the device, then the value 'N' should be sent. DeviceCapabilitySignature: type: string enum: - 'Y' - 'N' example: 'Y' description: > Specifies whether or not the device supports signature capture. If this input method can be supported by the device, but the input method is currently disabled for all transactions on the device, then the value 'N' should be sent. DeviceCapability: type: object writeOnly: true description: | **Conditional: Required when using a non-UTG-controlled device.** properties: contactlessEMV: $ref: '#/components/schemas/DeviceCapabilityContactlessEMV' contactlessMSR: $ref: '#/components/schemas/DeviceCapabilityContactlessMSR' EMV: $ref: '#/components/schemas/DeviceCapabilityEMV' manualEntry: $ref: '#/components/schemas/DeviceCapabilityManualEntry' magstripe: $ref: '#/components/schemas/DeviceCapabilityMagstripe' PIN: $ref: '#/components/schemas/DeviceCapabilityPIN' quickChip: $ref: '#/components/schemas/DeviceCapabilityQuickChip' signature: $ref: '#/components/schemas/DeviceCapabilitySignature' P2PEFormatType05: type: string minLength: 2 maxLength: 2 enum: - '05' example: '05' description: > Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 05 | [Shift4 TDES DUKPT format](/guides/core-concepts/p2pe-format#tdes-dukpt---format-05) P2PEKSN: type: string maxLength: 20 example: '6299495001100E200041' description: | The key serial number which was used to encrypt the P2PE data. P2PEType05TDESDUKPTEMV: type: object description: > See [P2PE Format 05 TDES DUKPT](/guides/core-concepts/p2pe-format#tdes-dukpt---format-05) for more information. required: - format - ksn properties: format: $ref: '#/components/schemas/P2PEFormatType05' ksn: $ref: '#/components/schemas/P2PEKSN' EMVEmptyCandidateList: type: string enum: - 'Y' - 'N' example: 'Y' description: > When EMV is attempted but fallback occurs due to an empty candidate list, this field should be sent as 'Y' and `emv.fallback` should also be sent as 'Y'. If this field is not sent, a value of 'N' is assumed. EMVTlvData: type: string writeOnly: true example: >- 4F07A0000000041010500A4D61737465724361726457203CCEB572BE7DD0A38E62E6BD70E3DAACE9B46BD3BF65E188E7D8D68D2178DE1A5A10B1794BAC083B08F0A1444F189A5493255F201A546573742F4361726420303920202020202020202020202020205F24032512315F25031511015F2D02656E5F3401018407A0000000041010950508200000009B02C8009F02060000000004449F03060000000000009F34031E03009F3704C5BF918D9F390105 description: > This field will contain all EMV tags in standard TLV format including the P2PE encrypted tags (5A and 57). The P2PE encrypted tags (5A and 57) will have the entire TLV string encrypted and the encrypted data will be in a TLV format using the same tag. For example, tag 5A would look like the following: - Encrypted: 5A103737DA95D8062F647A0FF747CC496570 - Decrypted: 5A084761739001010010 EMV: type: object writeOnly: true description: > **Conditional: Required when processing an EMV transaction without using a UTG.** required: - tlvData properties: emptyCandidateList: $ref: '#/components/schemas/EMVEmptyCandidateList' tlvData: $ref: '#/components/schemas/EMVTlvData' CardEntryMode: type: string minLength: 1 maxLength: 1 enum: - '1' - '2' - C - E - M - Q - R example: M description: > **Conditional: The Card Entry Mode should be sent in an initial request; in subsequent requests, it should be left blank or not sent. When using a Universal Transaction Gateway® (UTG®)-controlled PIN pad, this field should be left blank or not sent in a request; the UTG will capture the card entry mode and return it in the response. When P2PE data is being sent from a non-UTG controlled device, this field is not needed** The method used to capture a payment card in an authorization/sale request. Value|Description -----|----------- 1 | Track 1 Only or Dual Track (Track 1 & 2) 2 | Track 2 Only C | EMV Contactless via card or mobile wallet E | EMV Chip M | Manual Entry Q | QR Code R | Contactless MSD transactions_authorization_p2pe_tdesdukpt_emv: title: P2PE - TDES DUKPT - EMV type: object required: - dateTime - amount - clerk - transaction - device - emv - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' accountType: $ref: '#/components/schemas/AccountType' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' emv: $ref: '#/components/schemas/EMV' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' statementSuffix: $ref: '#/components/schemas/StatementSuffix' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401015A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C317998407A00000000310109F100706010A03A0A000573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B39F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: format: '05' ksn: FFFF49517300010000CA transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' EMVFallback: type: string enum: - 'Y' - 'N' example: 'Y' description: > When EMV is attempted but fallback occurs for any reason, this field should be sent as 'Y'. If this field is not sent, a value of 'N' is assumed. EMVFallbackOnly: type: object description: | **Conditional: Required when processing an EMV fallback transaction.** properties: fallback: $ref: '#/components/schemas/EMVFallback' P2PEType05TDESDUKPTMSR: type: object description: > See [P2PE Format 05 TDES DUKPT](/guides/core-concepts/p2pe-format#tdes-dukpt---format-05) for more information. required: - data - format - ksn properties: data: $ref: '#/components/schemas/P2PEData' format: $ref: '#/components/schemas/P2PEFormatType05' ksn: $ref: '#/components/schemas/P2PEKSN' transactions_authorization_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' emv: $ref: '#/components/schemas/EMVFallbackOnly' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' statementSuffix: $ref: '#/components/schemas/StatementSuffix' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' notes: Transaction notes are added here hotel: estimatedDays: 5 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' P2PEDataOnguardSDEEMV: type: string maxLength: 2048 example: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 description: > EMV TLV Data for tags 5A and 57 encrypted with AES 256 DUKPT. Contains the following information, separated by colons: Value | Description ----------------|------------ ksn | The key serial number (24 byte hex) track indicator | `E` indicating EMV TLV Data length | The length of the encrypted data encrypted data | Encrypted TLV containing tags 57 and 5A Example: `FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9` P2PEFormatOnguardSDE: type: string minLength: 2 maxLength: 2 enum: - '03' example: '03' description: | Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 03 | Ingenico Onguard SDE Format P2PEType03OnguardSDEEMV: type: object description: > See [P2PE Format 03 Ingenico On-Guard SDE](/guides/core-concepts/p2pe-format#ingenico-on-guard-sde---format-03) for more information. required: - data - format properties: data: $ref: '#/components/schemas/P2PEDataOnguardSDEEMV' format: $ref: '#/components/schemas/P2PEFormatOnguardSDE' EMVTlvDataOnguardSDE: type: string writeOnly: true example: >- 4F07A0000000041010500A4D6173746572436172645F201A546573742F4361726420303920202020202020202020202020205F24032512315F25031511015F2D02656E5F3401018407A0000000041010950508200000009B02C8009F02060000000004449F03060000000000009F34031E03009F3704C5BF918D9F390105 description: > This field will contain all EMV tags in standard TLV format except tags 5A and 57, which will be sent encrypted in the `p2pe.data` field. EMVOnguardSDE: type: object writeOnly: true description: > **Conditional: Required when processing an EMV transaction without using a UTG.** required: - tlvData properties: emptyCandidateList: $ref: '#/components/schemas/EMVEmptyCandidateList' tlvData: $ref: '#/components/schemas/EMVTlvDataOnguardSDE' transactions_authorization_p2pe_onguardsde_emv: title: P2PE - On-Guard SDE - EMV type: object required: - dateTime - amount - clerk - transaction - device - emv - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' accountType: $ref: '#/components/schemas/AccountType' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' emv: $ref: '#/components/schemas/EMVOnguardSDE' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' statementSuffix: $ref: '#/components/schemas/StatementSuffix' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: 2023-124-13T09:18:23.283-07:00 amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401018407A00000000310109F100706010A03A0A0009F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: data: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 format: '03' transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' P2PEDataOnguardSDEMSR: type: string maxLength: 2048 example: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 description: > Track information encrypted with AES 256 DUKPT. Contains the following information, separated by colons: |Value | Description |----------------|------------ |ksn | The key serial number (24 byte hex) |track indicator | `1` = track 1 only
`2` = track 2 only
`3` = manual entry
`4` = dual track
|length | The length of the encrypted data |encrypted data | Encrypted track/manual entry data Dual Track Example: `FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270` Manual entry Example: `FFFF495A0000000200000006:3:0032:E394820DB97AF927B9B5E05F356750BBF5DFCCB3BC18B87E8FC3C9BC596229E7` P2PEType03OnguardSDEMSR: type: object description: > See [P2PE Format 03 Ingenico On-Guard SDE](/guides/core-concepts/p2pe-format#ingenico-on-guard-sde---format-03) for more information. required: - data - format properties: data: $ref: '#/components/schemas/P2PEDataOnguardSDEMSR' format: $ref: '#/components/schemas/P2PEFormatOnguardSDE' transactions_authorization_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' emv: $ref: '#/components/schemas/EMVFallbackOnly' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' statementSuffix: $ref: '#/components/schemas/StatementSuffix' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: 2023-124-13T09:18:23.283-07:00 amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' notes: Transaction notes are added here hotel: estimatedDays: 5 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' CardNumber: type: string maxLength: 32 example: '4321000000001119' description: > The payment card number entered in an initial authorization/sale request. This field will always be masked when returned in a response. transactions_authorization_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - amount - clerk - transaction - card - customer properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' exemptionAction: $ref: '#/components/schemas/TransactionExemptionAction' exemptionReason: $ref: '#/components/schemas/TransactionExemptionReason' card: type: object required: - entryMode - number - expirationDate - securityCode properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: $ref: '#/components/schemas/CardSecurityCode' entryMode: type: string minLength: 1 maxLength: 1 enum: - M example: M description: > The method used to capture a payment card in an authorization/sale request. Value|Description -----|----------- M | Manual Entry present: $ref: '#/components/schemas/CardPresent' customer: type: object required: - postalCode properties: addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' postalCode: $ref: '#/components/schemas/CustomerPostalCode' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' statementSuffix: $ref: '#/components/schemas/StatementSuffix' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' risk: $ref: '#/components/schemas/RiskTransactionRequest' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: M expirationDate: 1230 number: '4321000000001119' present: 'N' securityCode: indicator: '1' value: '333' type: VS clerk: numericId: 1576 customer: addressLine1: 65 Easy St firstName: John lastName: Smith postalCode: '65144' transaction: hotel: estimatedDays: 5 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' ExtendedCardData: type: string maxLength: 4096 example: >- eyJ0aHJlZURTZWN1cmUiOnsiY3J5cHRvZ3JhbSIgOiAiRUhYRjhoZmpBaVhOQUtJQUFBQldYQUFERWhFUiIsInNlY3VyaXR5TGV2ZWxJbmRpY2F0b3IiIDogIjI0MSJ9LCJjYXJkQnJhbmRUb2tlbiI6eyJyZXF1ZXN0b3JJZCIgOiAiMDEyMzQ1Njc4OTAxIn19 description: > Base64 encoded string received from the i4Go call. This is used to pass extended card information for processing 3D Secure, Apple Pay and Google Pay requests via i4Go. transactions_authorization_3dsecurei4Go: title: Wallet/3D Secure Using i4Go type: object required: - dateTime - amount - clerk - transaction - card - extendedCardData properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' extendedCardData: $ref: '#/components/schemas/ExtendedCardData' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: '8048471746471119' clerk: numericId: 1576 extendedCardData: >- eyJjYXJkQnJhbmRUb2tlbiI6eyJyZXF1ZXN0b3JJZCI6IjA0MDAxMDAzMDI3MyJ9LCJ0aHJlZURTZWN1cmUiOnsicHJvZ3JhbVByb3RvY29sIjoxLCJlY29tbUluZGljYXRvciI6NywieGlkIjoiRkU4OTRBN0NDNzI3NDVCRTIyRThBRkMzNjE2OUM2NUI5QkIwMjIxM0NGMTFBNDAzMTI0MjBDNUQ0MDU0RDY5QyIsImNyeXB0b2dyYW0iOiJCRC91UWZVQU9mMythTVVDbHV0eE1BQUNBQUE9Iiwic2VjdXJpdHlMZXZlbEluZGljYXRvciI6MjQxLCJhdXRoZW50aWNhdGlvblNvdXJjZSI6MSwid2FsbGV0SUQiOjEwM319 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' ThreeDSecureCryptogram: type: string example: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== maxLength: 80 description: | Ecommerce Cryptogram information ThreeDSecureEcommIndicator: type: string enum: - '5' - '6' - '7' example: '5' maxLength: 1 description: > E-commerce Indicator as provided by the application generating the cryptogram. Value| Description -----|------------ 5 | Secure electronic commerce transaction 6 | Authentication attempted, non-authenticated security transaction 7 | Non-authenticated Security Transaction ThreeDSecureSecurityLevelIndicator: type: string example: '241' maxLength: 3 description: > This field contains the electronic commerce indicators representing the security level and cardholder authentication associated with the transaction. This field must be present in all Auth Request messages for electronic commerce transactions. First 2 positions: Value| Description -----|------------ 21 | Channel encryption; cardholder certificate not used (preferred value for Mastercard SecureCode, Identity Check, and all eCommerce) 22 | Masterpass-generated transaction 24 | Digital Secure Remote Payment (DSRP) with UCAF Data 91 | No security protocol; cardholder certificate not used Third position: Value| Description -----|------------ 0 | UCAF Data collection is not supported by the merchant; or the merchant supports SecureCode or Identity Check but has chosen not to undertake it on this transaction; or authentication failed and merchant desires to proceed with the transaction. 1 | UCAF data collection is supported by the merchant and UCAF data must be present and contain an attempt AAV 2 | UCAF data collection is supported by the merchant and UCAF data must be present and contain a fully authenticated AAV 3 | UCAF data collection is supported by the merchant and UCAF (Mastercard assigned Static Accountholder Authentication Value) data must be present. Note that the UCAF Data is required for Static AAV transactions. This value identifies participation in one of the following programs: Maestro Recurring Payments Program, Mastercard Utility Payment Program, Maestro Static AAV for Masterpass 4 | Merchant has chosen to share authentication data within authorization; UCAF data collection not supported ThreeDSecureProgramProtocol: type: string enum: - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' example: '2' maxLength: 1 description: > Indicates the 3D Secure protocol version. **Required when processing for merchants in the United States. For merchants outside of the United States use the `threeDSecure.version` field instead.** |Value| Description |-----|----------------------------| | 1 | EMV 3-D Secure Version 2.1 | | 2 | EMV 3-D Secure Version 2.2 | | 3 | EMV 3-D Secure Version 2.3 | | 4 | EMV 3-D Secure Version 2.4 | | 5 | EMV 3-D Secure Version 2.5 | | 6 | EMV 3-D Secure Version 2.6 | | 7 | EMV 3-D Secure Version 2.7 | | 8 | EMV 3-D Secure Version 2.8 | | 9 | EMV 3-D Secure Version 2.9 | ThreeDSecureVersion: type: string enum: - '2.0' - 2.1.0 - 2.2.0 example: '2' maxLength: 1 description: > Indicates the 3D Secure protocol version. **Required when processing for merchants outside of the United States. For merchants in the United States use the `threeDSecure.programProtocol` field instead.** ThreeDSecureDirectoryServerTranId: type: string example: 07e54000-2721-4df9-aa51-04fa0e079aa8 maxLength: 36 description: > The Directory Server Transaction ID is generated by the EMV 3DS Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results. This field allows the merchant to pass the Directory Server Transaction ID during authorization in order to link authentication and authorization data for Mastercard Identity Check. ThreeDSecureAuthenticationSource: type: string enum: - '2' writeOnly: true example: '2' minLength: 1 maxLength: 1 description: | Authentication Source for the cryptogram value. Value| Description -----|------------ 2 | ACS ThreeDSecureCAVVResult: type: string example: '2' maxLength: 1 description: > This is a response field that contains 3–D Secure Electronic Commerce Transaction Response Code that contains the Visa Cardholder Authentication Verification Value (CAVV) or the American Express Verification Value (AEVV) results code. Value | Description ------|------------ Blank | CAVV not present or CAVV not verified, issuer has not selected CAVV verification option 0 | CAVV could not be verified or CAVV data was not provided when expected 1 | CAVV failed verification-cardholder authentication 2 | CAVV passed verification-cardholder authentication 3 | CAVV passed verification-attempted authentication. A 3-D Secure Authentication Results Code value of 07 from the Issuer Attempts Server indicates that authentication was attempted. Issuer attempts CAVV key was used to generate the CAVV. 4 | CAVV failed verification-attempted authentication. A 3-D Secure Authentication Results Code value of 07 from the Issuer Attempts Server indicates authentication was attempted. Issuer attempts CAVV key was used to generate the CAVV. 5 | Reserved for future use 6 | Reserved for future use 7 | CAVV failed verification-attempted authentication. A 3-D Secure Authentication Results Code value of 07 from Visa Attempts Service indicates that an authentication attempt was performed. Visa attempts CAVV key was used to generate the CAVV. Note that Results Code value of 7 is also valid for American Express SafeKey responses, including those for non-U.S. cards. 8 | CAVV passed verification-attempted authentication. A 3-D Secure Authentication Results Code value of 07 from Visa Attempts Service indicates that an authentication attempt was performed. Visa attempts CAVV key was used to generate the CAVV. Note that Results Code value of 8 is also valid for American Express SafeKey responses, including those for non-U.S. cards. 9 | CAVV failed verification-attempted authentication. A 3-D Secure Authentication Results Code value of 08 from Visa Attempts Service indicates that an authentication attempt was performed when the Issuer ACS was not available. Visa attempts CAVV key was used to generate the CAVV. Note that Results Code value of 9 is also for American Express SafeKey responses, including those for non-U.S. cards. A | CAVV passed verification-attempted authentication. A 3-D Secure Authentication Results Code value of 08 from Visa Attempts Service indicates that an authentication attempt was performed when the Issuer ACS was not available. Visa attempts CAVV key was used to generate the CAVV. Note that Results Code value of A is also for American Express SafeKey responses, including those for non-U.S. cards. B | CAVV passed verification-attempted authentication, no liability shift. Only Visa generates this code; issuers do not. C | CAVV was not verified-attempted authentication (for Visa use only). If 3-D Secure Authentication Results Code value is 07 in the CAVV and the issuer did not return a CAVV results code in the authorization response, or CAVV results code = 0 in the response message and the CAVV encryption keys do not exist in V.I.P., V.I.P. sets the value to C in CAVV results code. D | CAVV was not verified-cardholder authentication (for Visa use only). If 3-D Secure Authentication Results Code value is 00 in the CAVV and the issuer did not return a CAVV results code in the authorization response, or CAVV results code = 0 in the response message and the CAVV encryption keys do not exist in V.I.P., V.I.P. sets the value to D in CAVV results code. U | CAVV Unchecked [AX] ThreeDSecureAuthenticationValue: type: string writeOnly: true example: Y2FyZGluYWxjb21tZXJjZWF1dGg= maxLength: 80 description: > Used only if both CAVV/UCAF and TAVV present in the transactions token contains the Visa token authentication verification value (TAVV) to support 3-D Secure (3DS) validation for token-based card-on-file, e-commerce, and application-based e-commerce transactions. Visa will allow two separate cryptograms in the authorization; one for token validation (TAVV) and one for cardholder authentication (Cardholder Authentication Verification Value). ThreeDSecureTAVVResult: type: string example: '2' maxLength: 1 description: | TAVVResult (Visa token authentication verification value). Value| Description -----|------------ 1 | TAVV cryptogram failed validation 2 | TAVV cryptogram passed validation ThreeDSecureWalletID: type: string writeOnly: true example: '103' maxLength: 3 description: > Provides information about transactions initiated through the Masterpass Online platform or through the Mastercard Digital Enablement Service (MDES) and identifies the Wallet Provider. Value| Description -----|------------ 103 | Apple Pay 216 | Google Pay 217 | Samsung Pay 327 | Merchant tokenization program ThreeDSecure: type: object required: - cryptogram - ecommIndicator - securityLevelIndicator - directoryServerTranId - authenticationSource - programProtocol - version properties: cryptogram: $ref: '#/components/schemas/ThreeDSecureCryptogram' ecommIndicator: $ref: '#/components/schemas/ThreeDSecureEcommIndicator' securityLevelIndicator: $ref: '#/components/schemas/ThreeDSecureSecurityLevelIndicator' programProtocol: $ref: '#/components/schemas/ThreeDSecureProgramProtocol' version: $ref: '#/components/schemas/ThreeDSecureVersion' directoryServerTranId: $ref: '#/components/schemas/ThreeDSecureDirectoryServerTranId' authenticationSource: $ref: '#/components/schemas/ThreeDSecureAuthenticationSource' cavvResult: $ref: '#/components/schemas/ThreeDSecureCAVVResult' authenticationValue: $ref: '#/components/schemas/ThreeDSecureAuthenticationValue' tavvResult: $ref: '#/components/schemas/ThreeDSecureTAVVResult' walletID: $ref: '#/components/schemas/ThreeDSecureWalletID' CardBrandTokenRequestorID: type: string writeOnly: true example: '12345678901' maxLength: 12 description: > This field uniquely identifies the pairing of token requestor with the token domain. It is assigned by the token service provider and is unique within the token vault. For Apple Pay requests, this is mapped from the `token.paymentData.data.deviceManufacturerIdentifier` field CardBrandTokenAssuranceLevel: type: string readOnly: true example: '01' maxLength: 2 description: > This is a response field defined by the token service provider. This Visa, Discover, or Mastercard value indicates the assigned confidence level of the token-to-PAN/cardholder binding. CardBrandTokenPANLast4: type: string readOnly: true example: '6810' maxLength: 4 description: > This is a response field that contains 4 characters that represent the last 4 digits of the actual cardholder PAN. CardBrandTokenAcctRangeStatus: type: string readOnly: true example: 'N' maxLength: 1 description: > This is a response field contains a one-character value that indicates the Visa regulatory status of the actual card number for which the token represents. Value| Description -----|------------ space| Blank/no value R | Regulated N | Non-Regulated CardBrandToken: type: object required: - requestorId properties: requestorId: $ref: '#/components/schemas/CardBrandTokenRequestorID' assuranceLevel: $ref: '#/components/schemas/CardBrandTokenAssuranceLevel' panLast4: $ref: '#/components/schemas/CardBrandTokenPANLast4' acctRangeStatus: $ref: '#/components/schemas/CardBrandTokenAcctRangeStatus' transactions_authorization_3dsecurecardnumber: title: 3D Secure Using Card Number type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure - cardBrandToken properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecure' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' mPos: $ref: '#/components/schemas/mPOS' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 160 apiOptions: - ALLOWPARTIALAUTH card: number: '4012000098765439' expirationDate: 1225 present: 'N' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' programProtocol: '2' authenticationSource: '2' cavvResult: '2' authenticationValue: Y2FyZGluYWxjb21tZXJjZWF1dGg= tavvResult: '2' directoryServerTranId: 07e54000-2721-4df9-aa51-04fa0e079aa8 walletID: '327' cardBrandToken: requestorId: '012345678901' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_authorization_3dsecuretoken_gtv: title: 3D Secure Using GTV Token type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure - cardBrandToken properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequired' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecure' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' mPos: $ref: '#/components/schemas/mPOS' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: '8048471746471119' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' programProtocol: '2' authenticationSource: '2' cavvResult: '2' authenticationValue: Y2FyZGluYWxjb21tZXJjZWF1dGg= tavvResult: '2' directoryServerTranId: 07e54000-2721-4df9-aa51-04fa0e079aa8 walletID: '327' cardBrandToken: requestorId: '012345678901' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_authorization_3dsecuretoken_legacy: title: 3D Secure Using Legacy TrueToken type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure - cardBrandToken properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequiredLegacy' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecure' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' mPos: $ref: '#/components/schemas/mPOS' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: 11191pn83hbkkety serialNumber: '123456' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' programProtocol: '2' authenticationSource: '2' cavvResult: '2' authenticationValue: Y2FyZGluYWxjb21tZXJjZWF1dGg= tavvResult: '2' directoryServerTranId: 07e54000-2721-4df9-aa51-04fa0e079aa8 walletID: '327' cardBrandToken: requestorId: '012345678901' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' ThreeDSecureAuthenticationSourceWallet: type: string enum: - '1' writeOnly: true example: '1' minLength: 1 maxLength: 1 description: | Authentication Source for the cryptogram value. Value| Description -----|------------ 1 | inApp ThreeDSecureCryptogramWallet: type: string example: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== maxLength: 80 description: > Ecommerce Cryptogram information For Apple Pay transactions this is mapped from the `token.paymentData.data.paymentData.onlinePaymentCryptogram` field. For Google Pay transactions this is mapped from the `paymentMethodDetails.cryptogram` field. For Samsung Pay transactions this is mapped from the `3DS.data.cryptogram` field. ThreeDSecureEcommIndicatorWallet: type: string enum: - '5' - '6' - '7' example: '5' maxLength: 1 description: > E-commerce Indicator as provided by the application generating the cryptogram. Value| Description -----|------------ 5 | Secure electronic commerce transaction 6 | Authentication attempted, non-authenticated security transaction 7 | Non-authenticated Security Transaction For Apple Pay transactions this is mapped from the `token.paymentData.data.paymentData.eciIndicator` field. For Google Pay transactions this is mapped from the `paymentMethodDetails.eciIndicator` field. For Samsung Pay transactions this is mapped from the `3DS.data.eci_indicator` field. ThreeDSecureSecurityLevelIndicatorWallet: type: string writeOnly: true example: '241' maxLength: 3 description: > This field contains the electronic commerce indicators representing the security level and cardholder authentication associated with the transaction. This field must be present in all Auth Request messages for electronic commerce transactions. For Apple Pay and Google Pay transactions this value should be sent as `241` First 2 positions: Value| Description -----|------------ 24 | Digital Secure Remote Payment (DSRP) with UCAF Data Third position: Value| Description -----|------------ 1 | UCAF data collection is supported by the merchant and UCAF data must be present and contain an attempt AAV ThreeDSecureXIDWallet: type: string example: hq0BA9EAAAGXIJcAGAAAABKU0+s= maxLength: 80 description: > Unique tracking number set by the merchant and sent to the Issuer Authentication/Service in the Authentication Request message. For Apple Pay transactions this is mapped from the `token.transactionIdentifier` field. For Google Pay transactions this is mapped from the `messageId` field. For Samsung Pay transactions this is mapped from the `3DS.data.utc` field. ThreeDSecureProgramProtocolWallet: type: string enum: - '1' - '2' writeOnly: true example: '2' maxLength: 1 description: > Program Protocol must be provided by the merchant if they are participating in Mastercard 3D Secure and have previously authenticated using the Mastercard Identity Check or SecureCode program. It identifies the type of 3D-Secure program. Value| Description -----|------------ 2 | EMV 3-D Secure [3DS 2.0] For Apple Pay and Google Pay transactions this should always be sent as `2`. ThreeDSecureWallet: type: object properties: authenticationSource: $ref: '#/components/schemas/ThreeDSecureAuthenticationSourceWallet' cryptogram: $ref: '#/components/schemas/ThreeDSecureCryptogramWallet' ecommIndicator: $ref: '#/components/schemas/ThreeDSecureEcommIndicatorWallet' securityLevelIndicator: $ref: '#/components/schemas/ThreeDSecureSecurityLevelIndicatorWallet' xid: $ref: '#/components/schemas/ThreeDSecureXIDWallet' programProtocol: $ref: '#/components/schemas/ThreeDSecureProgramProtocolWallet' walletID: $ref: '#/components/schemas/ThreeDSecureWalletID' transactions_authorization_applepay: title: Apple Pay type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure - cardBrandToken properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecureWallet' cardBrandToken: type: object properties: requestorId: $ref: '#/components/schemas/CardBrandTokenRequestorID' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' mPos: $ref: '#/components/schemas/mPOS' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: number: '4012000098765439' expirationDate: 1225 present: 'N' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: authenticationSource: '1' cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' xid: hq0BA9EAAAGXIJcAGAAAABKU0+s= programProtocol: '2' walletID: '103' cardBrandToken: requestorId: '012345678901' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_authorization_googlepay: title: Google Pay type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecureWallet' statementSuffix: $ref: '#/components/schemas/StatementSuffix' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: number: '4012000098765439' expirationDate: 1225 present: 'N' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: authenticationSource: '1' cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' xid: hq0BA9EAAAGXIJcAGAAAABKU0+s= programProtocol: '2' walletID: '216' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' AmountTotalIncremental: type: number maxLength: 14 example: 160 description: > The amount being charged for a particular transaction. If other amount fields are sent, they must be included in the total amount. Amount cannot be zero. When processing an incremental authorization the high balance amount must be sent. For example, if the original authorization is $100 and the transaction is being incremented by $60 then the total amount would be sent as $160. AmountIncremental: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. All other fields are for informational purposes and must also be included in the `total` field. For example, a purchase of $100 with a $20 tip and $8 tax would be `128.00` in the `total` field, `20.00` in the `tip` field and `8.00` in the `tax` field. Note: For merchants that are configured to allow multiple currencies, the amount fields can specify up to three decimal places. However, the number of decimal places can not exceed the number allowed for the specified currency. See the [Currency Codes](/guides/appendices/currency-codes) section for details. required: - total - tax properties: total: $ref: '#/components/schemas/AmountTotalIncremental' tax: $ref: '#/components/schemas/AmountTax' taxIndicator: $ref: '#/components/schemas/AmountTaxIndicator' tip: $ref: '#/components/schemas/AmountTip' surcharge: $ref: '#/components/schemas/AmountSurcharge' TransactionInvoiceIncremental: type: string maxLength: 10 example: '0510093358' description: > 10-digit invoice number assigned by the interface to identify a transaction. An invoice number serves as a unique key that identifies a transaction within a batch in Shift4's Gateway. For incremental authorizations the invoice must match the invoice from the original authorization request. **Note: Although the invoice number is sent as a JSON string it is a numeric value. No alpha characters are allowed.** transactions_authorization_incremental: title: Incremental type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountIncremental' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoiceIncremental' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' authType: $ref: '#/components/schemas/TransactionAuthType' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequired' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' risk: $ref: '#/components/schemas/RiskTransactionRequest' mPos: $ref: '#/components/schemas/mPOS' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: token: value: '8048471746471119' clerk: numericId: 1576 transaction: invoice: '192029' CardExpirationDateResponse: type: integer minLength: 3 maxLength: 4 format: MMYY example: 1230 description: > **Conditional: Requires API Option "RETURNEXPDATE".** Card expiration date in MMYY format. This value will only be populated if "RETURNEXPDATE" is included in the `apiOptions` array. CardLevelResult: type: string readOnly: true example: 2C minLength: 2 maxLength: 2 description: > Classifies the type of card used in an authorization/sale request. This field is returned in a response if the data is provided by the processor. See [Card Level Results]/guides/appendices/card-level-results) for a complete list of values. CardMaskedNumber: type: string maxLength: 32 example: XXXXXXXXXXXX1119 description: | The card number field will always be masked when returned in a response. CardTypeResp: type: string enum: - AX - AP - BC - CI - DB - GC - JC - MC - NS - PL - SC - VS - WP - YC example: VS description: > An abbreviation used to specify the type of card that was used when processing a transaction. Value| Description -----|------------ AX | American Express AP | Alipay BC | Backed Card CI | Citgo DB | Debit card GC | Gift Card JC | JCB MC | Mastercard NS | Discover/JCB/Novus PL | Private Label SC | Sears Canada VS | Visa WP | WeChat Pay YC | IT’S YOUR CARD BalanceAmount: type: number readOnly: true maxLength: 14 example: 24.33 description: > The balance remaining on the card. Depending on which processor is being used, the balance may be returned for a gift card, debit card, EBT card, or other stored value card. CardBalance: type: object readOnly: true properties: amount: $ref: '#/components/schemas/BalanceAmount' CardSecurityCodeResponse: type: object description: | **Conditional: Returned if card.securityCode was sent in the request.** properties: result: $ref: '#/components/schemas/CardSecurityCodeResult' valid: $ref: '#/components/schemas/CardSecurityCodeValid' CardTokenResponse: type: object properties: value: $ref: '#/components/schemas/CardTokenValue' CardDebitType: type: string enum: - girocard - eftpos - Interac - Visa Interlink - Visa US Common Debit - Maestro Int'l - Maestro US Common Debit - Amex US Common Debit - Discover US Common Debit - DNA Debit - UnionPay example: girocard description: > Specifies the type of debit card that was used when processing a transaction. Only returned if `card.type` = `DB` CardResponse: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' levelResult: $ref: '#/components/schemas/CardLevelResult' number: $ref: '#/components/schemas/CardMaskedNumber' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardTypeResp' balance: $ref: '#/components/schemas/CardBalance' securityCode: $ref: '#/components/schemas/CardSecurityCodeResponse' token: $ref: '#/components/schemas/CardTokenResponse' debitType: $ref: '#/components/schemas/CardDebitType' CustomerFirstNameResponse: type: string maxLength: 30 example: John description: > Specifies a consumer’s first name. This field is returned whenever the customer name is supplied in the request or if the track/EMV data contains the cardholder name. CustomerLastNameResponse: type: string maxLength: 30 example: Smith description: > Specifies a consumer’s last name. This field is returned whenever the customer name is supplied in the request or if the track/EMV data contains the cardholder name. ClerkResponse: type: object properties: numericId: $ref: '#/components/schemas/ClerkNumericId' DCCTransactionResponse: type: object description: > Object containing Dynamic Currency Conversion (DCC) information. **Conditional: Returned in the response if DCC was offered during the payment flow of a UTG/Commerce Engine controlled device or if the `dcc` object was included in the request.** required: - rateTimeStamp - currencyCode - foreignAmount - conversionRate - marginPercentage - currencyMinorUnits - transactionId - conversionIndicator properties: rateTimeStamp: $ref: '#/components/schemas/DCCRateTimeStamp' currencyCode: $ref: '#/components/schemas/DCCCurrencyCode' foreignAmount: $ref: '#/components/schemas/DCCForeignAmount' conversionRate: $ref: '#/components/schemas/DCCConversionRate' marginPercentage: $ref: '#/components/schemas/DCCMarginPercentage' currencyMinorUnits: $ref: '#/components/schemas/DCCCurrencyMinorUnits' transactionId: $ref: '#/components/schemas/DCCTransactionID' conversionIndicator: $ref: '#/components/schemas/DCCConversionIndicator' diffOverEcb: $ref: '#/components/schemas/DCCDiffOverECB' marginOverEcb: $ref: '#/components/schemas/DCCMarginOverECB' displayUnit: $ref: '#/components/schemas/DCCDisplayUnit' provider: $ref: '#/components/schemas/DCCProvider' DeviceTerminalIdRequired: type: string maxLength: 32 example: '1742' description: > To prompt a specific UTG-controlled PIN pad in a request, the API Terminal ID configured in UTG TuneUp must be specified in this field. DeviceOnlyTIDResponse: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' EMVTlvDataResponse: type: string readOnly: true example: 910A0102030405060708090A description: | This field will contain the EMV response tags in standard TLV format. EMVResponse: type: object description: | Returned when processing a full EMV or EMV fallback transaction. properties: fallback: $ref: '#/components/schemas/EMVFallback' tlvData: $ref: '#/components/schemas/EMVTlvDataResponse' Receipt: type: object properties: key: type: string maxLength: 100 example: ApplicationIdentifier description: > The identifier the interface vendor can use to programmatically determine where to print a specific value. printName: type: string maxLength: 100 example: AID description: > The label that relates to the `printValue` field. When present in the response, this must be printed to the left of the `printValue`. printValue: type: string maxLength: 350 example: AID description: > The value that relates to the `printName` field. This must be printed to the right of the `printName`. ReceiptArray: type: array items: $ref: '#/components/schemas/Receipt' example: - key: ApplicationIdentifier printName: AID printValue: A0000000031010 - key: TerminalVerificationResults printName: TVR printValue: '8000' - key: IssuerApplicationData printName: IAD printValue: 06010A03A40002 - key: TransactionStatusIndicator printName: TSI printValue: E800 - key: AuthorizationResponseCode printName: ARC printValue: '00' - key: TransactionCurrencyCode printValue: USD$ - key: ApplicationLabel printValue: CREDITO DE VISA description: | Array of receipt key/value pairs that should be printed on the receipt. MerchantMID: type: number maxLength: 10 example: 15877 description: | The merchant ID associated with the merchant account. MerchantName: type: string maxLength: 22 example: Merchant XYZ description: | The merchant’s business name as configured with Shift4. MerchantResponse: type: object properties: mid: $ref: '#/components/schemas/MerchantMID' name: $ref: '#/components/schemas/MerchantName' SignatureData: type: string maxLength: 4194304 example: >- iVBORw0KGgoAAAANSUhEUgAAA2kAAAEhCAYAAADlHOiOAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7EAAAOxAGVKw4bAACN0ElEQVR4Xu2dB5hU5dn3T97yJXnVqDTBWAABC2KhiFERUDQWLKioUWNAETQqRjT2CoioUbFFrNhBNEFFLIhSrIhiAaQEEI0NgdjzJvne99tvf7fc6zNnzu7OLjs7Z2b+v+s61+zOzsyeOeV57v/dnh9VVBIJIYQQQgghhEgF/7b2UQghhBBCCCFECpBIE0IIIYQQQogUIZEmhBBCCCGEEClCIk0IIYQQQgghUoREmhBCCCGEEEKkCHV3FEIIIYQQJc2//vWv6L//+7+jf/zjH9HXX38dbbDBBtF//ud/Rj/5yU9s+/d///e1rxQiHUikCSGEEEKIkuT//t//a8Ls008/jc4///xo9uzZ0f/7f/8v+tGPfhRtttlm0XHHHRcdf/zx0frrry+hJlKFRJoQQgghhCg5iJ4hzm699dbo6aefjpYvX27RNBdp//Ef/2ERtYsuuig68cQTTajxvBBpQCJNCCGEEEKUFAi0L7/8MjrppJOimTNnRn//+9+j//3f/43iZi9CrWnTptHEiROj7t27R//n//yftX8RorCocYgQQgghhCgZEGiffPJJNGjQoGj69OnRt99+G/3P//xPlkADnv/uu++i8ePHR//85z/XPitE4ZFIE0IIIYQQJQGi65tvvokuvPDCaMaMGRZBI72xJqhb++ijj+y9QqQFiTQhhBBCCFH0kM5I1Gz06NHRlClTchJoQITNNyHSgkSaEEIIIYQoahBjiDJqy+6++25LYcxFoMG//du/VW1CpAVdjUIIIYQQoqihnuzFF1+0KBrRNKJqIXRt9C0Orfd33nlnteAXqUIiTQghhBBCFC00Cvnqq6+iM88801ruU2MWQgfH9dZbL9p+++0TuzeyqPXPf/5zexQiLUikCSGEEEKIosTr0IYMGWIdHeMdGomOsf7Z2WefHQ0ePNgEWwiRNYRbly5dsv4mRCGRSBNCCCGEEEUHjT6oQxs3blw0a9YsW6g6hBqz//qv/4r69+8fDRgwIPrss8+y0h0RcZtttpltSncUaUIiTQghhBBCFB1Ezd56663olltuyerk6AKtZ8+e0RVXXBH95Cc/iZYtW5aVCkmKI1G0H//4x4n1akIUCok0IYQQQghRVLCm2ddffx2dddZZFiGLiy9SGHffffdozJgx0QYbbGDPLVmyJGstNMRbr169TKQJkSYk0oQQQgghRNFAxIwW+9dcc40Jr3gdGgJtww03jC644IJo0003tTRGFqtmC6NtPN+0adOoW7duahoiUodEmhBCCCGEKBq83f4999xjaY7hItSkOdLJcezYsdZWnwgZ0bNFixZZF8jwtYg5omjNmjVTPZpIHRJpQgghhBCiKCCtkTb7RNHi66G5QDvwwAOtFo2aNOrMEHUzZ87MiriR6ti7d+/opz/96dpnhEgPEmlCCCGEECL1eDdHBBoNQ4iMhRA1++Uvfxlde+21JtYQbbwHcfbmm29m1K3xN69HU6qjSCMSaUIIIYQQIvX84x//iObOnRs98sgj1m4/nrpIHdoZZ5wR/exnP6sSXqQ6Lly4MPrwww8zom78nWgbQg3BJkTa0FUphBBCCCFSDWKLLo6//e1vrWlIUprjfffdF+20004m2ByiaDNmzLDHUNQhzrp27aqujiK1SKQJIYQQQojUQkdG0hyJoH3yyScZtWXUnCG4evToYaLL69AAUUb0bc6cOVnvQZxRuxYKOiHShESaEEIIIYRILdSSvfzyy9F1111naY4hpC22a9fO6tRCgQZE20h1pB4tXB+N92y55ZZR8+bNo//4j/9Y+6wQ6UIiTQghhBBCpBLE1TfffGPt9lm8OhRbtM1ff/31o9NOO83WQ4tHxWgs8sEHH5iwC9dHI4rGe5TqKNKMRJoQQgghhEglpCveeuut0dSpU7O6OZLm+Otf/zo6/PDD7ec4pDiSIhmmOlK/RsStdevWEmki1UikCSGEEEKI1OFRNEQazULCaBhRs1atWkUDBgywaFp8MWreu2rVquj111/PaL1PemOXLl2ibbfdVgtYi1QjkSaEEEIIIVIFggxh9oc//MEWrQ7THL2b42WXXWb1aEl1ZUTdnnzyyaxURyJue+21V1b9mhBpQyJNCCGEEEKkCqJfr7zySvTAAw9kNQshTZFFq/fbb7/opz/9aZbYoqsj76H1PumSDq9DpKmroygGJNKEEEIIIURqoCsj0bM//elP9hhfhLply5bRKaecYtG0pIWoeT0NQ0h1DCNwvHe77bZTV0dRFEikCSGEEEKI1ECjDyJokyZNymgWQiSMyBkCLb5odQjvnz59emKq41FHHaWGIaIokEgTQgghhBCpwKNoCDRq0sIoGuKqffv20RFHHJGY5gie6kg9WryrY7NmzaJddtlFIk0UBRJpQgghhBCi4LjAQqC98847GV0ZEWQ0+7j55pst3bG6dEXSGxcsWBC99957Ge/3VEcWsVZXR1EMSKQJIUQZgPGDRxoDhkd+F0KINMH4tHTp0ujyyy+P/v73v1eNU97wgxTHDh061BgJo1GIpzqG4xzv79u3b7UROCHShkSaEEKUMAgyUobWrFkTvfvuu9Fzzz0XzZs3L/r666+zFoYVQohCgrC6//77bW20MApG5Ktt27bRJZdcUqPIov4sKdWR9xOFO+igg9TVURQNEmlCCFGiIMK++uqr6M4774wOOOAA21j4lcfTTz89+vjjjzMMGSGEKBSMV59++mn04IMPZrTNB6JgtNwnklZTFA1hR0fHFStWZHR1RJgRRUOoKdVRFAsSaUIIUYJgrGDwnHHGGZY6RH3H559/Hq1atcoeH3vssWjQoEH2mtBjLYQQjY3Xoo0YMSKr5T61Zy1atIiOPfbYWlMVEXeTJ0/OSHXk9byPKBpiT4hiQSJNCCFKDDzIpAuNGjUqeuKJJyy1ESHmRgspQaRAzpkzJ7r66qvNoBFCiELB+EQtGunY8cWnEVj9+vWLttpqqxrXNkPYUcdGPVqYys17WrdubV0daR4iRLEgkSaEECUEhgqe6CuvvDKaOHGiGS3hOkGOe64ff/xxi64lvUYIIfKNj0XXX3+9OY/CsQiB1aZNm2jIkCG1RtEQeg8//HC0evXqjEicpzry/qSFr4VIK7pahRCiRHBj55FHHonuvvvurLShOPwNj/PChQtrfJ0QQuQLxNWyZcuiV199NatGFmF12GGHWcv9mqJgjH04pObPn5+RGYCoI8WxW7duWhtNFB0SaUIIUSJg4Lz11lvR6NGjaxVoDsbNypUr7VEIIRoTdyzdfvvtVisbjlmIMmrRBg8eXGstGe/74IMPoilTpmQ0DOEzPNWxplRJIdKIRJoQQpQApAjhSb7sssvq1AyE9J927dopDUgI0eggqJYvXx5NmzYtq6MjUTTSHDfYYINaBRYOqhdeeMEEXyj0EHc0SKKro8Y4UWzoihVCiBKAtMWXX37Zujjm2lYfwwcjZtttt1VbaiFEo+JRNOpik6Jom2yySXTcccfVGkXjcxB4M2bMyBB6jGnNmjWLunfvrlRHUZRIpAkhRJHjxg7roRFNyyV10bum0aIfL3NNBflCCNHQIMref//96KGHHkqMog0bNixaf/31a3UgEY0j1ZFutfG10RBopDvKCSWKEYk0IYQocsLC+7D1dE3gWe7QoUN0+OGH1+qpFkKIhgZhRvSfmthQXBHhpxatT58+OY1NfA5LjcQ72fLeo446ygSfnFCiGJFIE0KIIgcj5YYbbrBoWi6t9PEwt2rVKrr22mstpUgF9UKIxoRxilb511xzjbXdD0FUsXA1Qq22CJhnEdB6P4zGUX+GSNPaaKKYkUgTQogihijaZ599Fs2bNy8rZSgJBBkpRCNHjow6d+6sKJoQotEh4j9p0qToww8/tLRHxBYb4oo6smOOOcbEWm3wOQsWLLC1HsNoHJkCvXv3ts9QwxBRrOjKFUKIIoYmIdSiUdtRWxQNY2W99daLTj/99OiAAw5QLZoQotFBjJGa+OyzzybWz/bs2TPnCD/jH2tChg4qxjTGNro6ygklihmJNCGEKFLwHLMeGu2rSflJMngcbxSy//77m0hDrMnDLIRobIj+E/mfO3dulpOIMWnAgAE5iSsicIg9ImlhR1vEXceOHW0jtVuIYkUztBBCFCmk+ngULWxfnYQ3CiHNkXRH1aEJIQqBN/pwxxJCjY3aMSL8jFO51JEh9p588knr7BhvGLLXXnspU0AUPRJpQghRhGCUUHBPR8faomh4kzfddFMTdDzKuyyEKAQ4k6gfmzx5ckb0CzH1s5/9LBo4cGC08cYb5ySuGPemT5+esewIkTgyBujqqLXRRLEjkSaEEEUIXuTZs2dHr7/+ekbBfBw80hg/Y8aMMQ+1DBchRKFAmD3//PNZjT4Yp9q0aRPttttuOUXREHtE5BBpjIUO76WjY/PmzZUtIIoeiTQhhChCMFAmTJiQtTZQCO2rqT0bMWKEFePjYVb6jxCiUDBu0S6fKFgIKYo0+iBFMZdaWT7n0UcftWyCeKpj37591TBElAQSaUIIUWTggf7888+tYL66xasRYxg8/fv3t9SfXI0fIYTIB0S8GLfmz5+fEf3CmUTka++9985JXJHa+NVXX0Xjxo2LvvnmG/udjfGtadOm1npfGQOiFNCMLYQQRQbCbMqUKVkF8yEYOzvvvLM1CiGaVtuisEIIkU+Ift14441ZNbQIKhp9INRyGadIdVy4cGG0ZMmSjM/hZ9Z+zGURbCGKAYk0IYQoIjBEMHJee+21ahuG0BikVatW0R133GH1aLnUeAghRL5AWJGayLiFWHOI+JOG/atf/coec4H3L1q0KCt1m0hartE4IYoBiTQhhCgiSHUkzXHGjBkZKUNOWIdGJ0el/QghCg1jlbfLD5cL8YYh22+/fU7OJJxSNB+599577TMRamyMe5tttlm03377qXutKBkk0oQQoojAQPG20/FUR/dKH3HEEbZoda6eaSGEyCdE/elGG4/+E/UaOnRozk2NcFKtWLHCxF7opOJzDj300Jzb9wtRDEikCSFEkYAoQ5wh0sI1hhw8yO3atYvOPfdci6apUYgQotAQOVu9erXV0SY1DOnUqVPOKYqMe0TkQrHnzqk+ffoo1VGUFJrBhRCiSMDAQaCR7hhfGw2DZ/3114+GDx8etWzZUnVoQohU4NF/hFWY6ohTiU6MW265ZU4OJXdSxRfCZj207bbbztZH09poopSQSBNCiCIgbBiCoRKmDLkn+fjjj4969Oghb7IQIhUwTtHog+hXUsMQujrWJdWRxftJdQydVIx3/jnKHhClhK5mIYQoAvBAU4vBQrDxtdHwSLdv3z469dRTtR6aECI1eA0Z0f94qiMRNCJpuUb9EXk0TOLRnVSMdYizgw46SE2SRMmhmVwIIVIOaT60r3722Wejb7/9NiNlCCOF+rPLLrtMaY5CiFThNWTUpIWNjhBUCLRcnUq8l0yCeD0u6Y1du3aNtthiC6U6ipJDIk0IIVIORsnLL78cXXfddRkpQ4Cxs++++0Z77LGH0hyFEKnBUx0RVkmpjnWJfhGFI4oWb+HPmEctWq4pk0IUExJpQgiRYkgXWrlyZXT11VdHX3/9dUYtBh5oPNGDBw9WmqMQIlUwViGq3nvvvYxxyxt9sNUl1THewp/xDpF21FFHKdVRlCSa0YUQIqVgjNAk5NFHH43efvvtrFo0jJ3u3bvbQrBawFUIkSY81TGsIQNv9IFjKZfoF6mOa9asiZ566qmMujYEHlG0Fi1aKNVRlCQSaUIIkVIwbubOnWtRtKSOjhg5rA2Uq7EjhBCNAWMVUS9v9OEwTiHSjjzyyJyjXzin5s+fH61atSojIkeK49FHH600b1GySKQJIUQKwTD55JNPoiFDhkTffPNNhnECeI47duxodR2Kogkh0gR1YwsXLrQtnupIV8dmzZrlHP1C5NHVFtHn8F4+g0wCjX/1gznmq6++ij7//PPob3/7mx3fsLmLKDwSaUIIkTIwcL788svoggsuMKEWdjNzPNWnefPmSvURQqQKxixq0cIaMvAoWq7RLwQeIuKFF17ISPdm/Ovbt68JNdr5i9xhfqFLMEsjDBw4MOrSpUvUs2fPaNasWYlzjSgcEmlCCJEiMGjwbo4ZMyZ64oknrPV+HG8YghdZBfNCiLSBsf/II49kGP2MW6QoUo+Wq0jj/RMmTMiK8vA5OKmU6pg7iDPmE5ZDGDt2rAkzlnX59NNPo6VLl0Znn312RrRSFB6JNCGESBEYJW+88UZ0ww03VBXch55owIvMGkMYO7l2RxNCiMaA6Bf1Y/EFrIn4+5pmuUS/GPcYA+fMmZNR18bnNG3atE4LYZcrHEPmFBx/77//fvTAAw+YOBsxYoQ1Y3Hxy3kieyOeVi8Ki0SaEEKkBK9DYwINjRsIhRreY6JoarsvhEgbjGMTJ06scjI5RP3rsqYZgoEW/oi0UDxQg0aqI5+j8S8bRBfCjCVbEMuvvPJKdOqpp0b7779/dO6555pYC+ucEb3rr79+tOuuuyozI2Xo6hZCiBTAhEmdwMUXXxy98847GQu2hmCUNGnSxLzIKpgXQqQNxBn1aGH0y7s6HnjggTmPWwiNyZMnZ6Q68jmIM8Y/pTp+77xjruBYMX8QHVu+fHk0derUaPjw4RY169+/fzRp0iSrQUO4uQOQaCbHkvnkzDPPjK699lr7XaSHH1We4Mw8GiGEEI2KF3Jff/31luaIlxOjJD48u6Gzzz77RPfcc0+00UYb5eSRFkKIxoCxDJGAOKDhh4sr0hJ/8Ytf2JqPpCrWNm7xPmqnaDLy6quvVgkLPqdTp062ZhpNQ8opksaxZcOhx8YxYSPauHjxYlvsm8jZyy+/bAIZ4UZUM4xCAscMoUz07JBDDomOP/74aMcdd7TMDDWhShcSaUIIUUAYginmpjj+vPPOM0+nT6rh8OxGzcYbbxyNGzcu2nfffeVJFkKkCsTB/fffb2l11Dg5CIKzzjrLNn6uDQTGY489Fp122mnWHt7Hwg022CAaNmxYzp9TLPD9EKaIsPgj8wGPHM+333676vGjjz6K3nrrLRNqXk+GyPL3xuFvpDOut956Vs987LHHRrvttpv9jviVwy99SKQJIUQBIZWH1CA8xky67jEGH5598mSSbdu2rbVKLjcvshAi/SAWzjnnHGtQEaY7Ej2j2+Puu++eU7MPGl1cfvnl0W233VbVcZBxkCVHZs6cGW211VZFEfVx8RUKr/BnhJX/TodFHkl35zkcdjznoozXhhtzhX9OaMqHYotjRNSMNEbOAYt/I9CIRhI541xoHkkvEmlCCFEg8BYjzKjT+PDDD7NqOJh8wwkXz7F7kfEoCyHKAwxyxApjBIY5hjUGNgY40RHqiwptbDNekW5HquOyZctsPyF0LiGywjEtCd5H/dQBBxxgTS4QJMD3JPKD2KOOqrHATPbNBRGP/jP7688B+xu+lhb3bIiuzz77zB5JaUeA8VpEmb+HR97n4otHf84/PwneC1wDHCc2rg+EGQ7Abt26VTVtIQODc1LbeRCFRyJNCCEKAEYXnRxJ55k+fXr097//fe1fvi/oZnJmEg0nX6Jn1GLgBc3FGy2EKH6oK8LIv/rqq62Rho8NW2+9tTWFoKU9P5MKjXGOcCuEEc5+0rBiwIABlqLoIAxOPvnk6JJLLok23HDDtc9m42Mdzqs///nPNjYSRXJ+9rOf2fqRhx56aFWDC94TFy8855/ljxA+D/67P8cjnxU+Tyo6ESdEFcITkYnQQmCxDytXrrT38Df/nfOD8PL38XeeY+Nn3+LP1RXOr4t1fkbMtWzZ0urMWrRoER1xxBEm0rgmXJgVWsiLuiGRJoQQjQyTKZP3yJEjozvvvNMMAZ+kmUR9DaEw9ZGJ1huGYIw1tgEmhGh8MOJJ/Rs0aFD0/PPPmzOH57j/Mc49asKY0KVLl2jbbbe1VuubbbaZ/R3DnEfGFTfS62uoh+aiixgft3gkQnTFFVdEd911V8Yi/OwbApO2+QhIf59/RrghchBpo0aNsoWWEX7APtMoafTo0fbZpDsigmgqgnAC3kt9FRvNS/g7P8+bNy9q06aN/czrETBsPM9r2PiZz2Ef3n33XfuZZk5s/J1H32ceffPfeeS8wLoIr5rgnDM3cAz93P/85z+Pttlmm2iHHXaI9thjj2jzzTe3LAtEmZ9/UbxIpAkhRCPCBM6Ej0fYOzn65M4k7OkoPB+KNAyUm2++OTrssMPUMESIMoH0xgcffLCqEUd1hj/GOwY5hjvGOYY80bUePXrY73Tv4zWIGyJSiB7GG3f28HtoDvJ/+Jv/PxcjdGxE4DA+IYQQM4gjfkdMIqJI4WZM4z18LiKH6Bfvd9FDNIr3tW7d2gQSr/XPQqQlfVcfG32fwfcrxL8Hj/6zEz7nPyf9Hn6m/70x4bj5OeX8+Tlt3769ibI999zThDjnmHPO39h4T3h8RHEjkSaEEI0EEz9e4PHjx0fnn3++GTZE1RwMEGo3SG3CSPHhmYkaw+jNN980Q4YJXAhR+jBGeCOOMDpVGxjqbuDzyJjhjxjyRFuoceV1m2yyidWSMbbwP9j42SNQLsJ8POIxvjG2EfXivfwewv9jPxx/Pfhj+J5QIIWUovjw8xEXZKSFdujQIdp0000tWoYoQ5C5WPPXSZSVNhJpQgjRCDDUYsBQf3bCCSdYalAYKWPiZUKmuPvJJ5/MqFHD8+ztq/GCCyHKA8QRUTREGlGohgLDns0dPvwcmoP+sz9WJ5ziJJmUdRURSZ8BxSRGOK4uwHhEgLH/LqpcMDOet2vXrkqUsSHGEGa8xjfmB/8MUT5IpAkhRJ7BwKEz25w5c6wFMlEyr7UA95xSh0HtBp3NPMLGRE4nM2rR+vTpY5O1EKI8IPXv8ccfj0499dToiy++yFksFYKGEleNKdKSPpPn2Bh7/edw43k28Nf4c/47Yow6MYQVIgwxRlMPnifllEee5++8x8UYc4E/x+eI8kYiTQgh8ghDLFEx2k+ffvrp0ccff2yGl8OETOrR8OHDreaCaBm1HQ6iDHGGSEOsMXkLIcoDRBnjAWPHE088kZFO6KIAeF2hBVxdxVX4vIsSvoPX6IYwNnoUyt+Xy2Ntf2MjlZx0T34mvRMnGSmgiKnVq1fbz2wsB8BzrVq1sjGd53C+kaLOviHCGMvZ/Ny44OLv/sj/8d/5WYjqkEgTQog8wfDKJP7GG29EQ4cOjRYvXpwh0JiomdDPOOMMa1tNGuQrr7yS8RoibBdffLG1sCbtUQhRXhB1Z7kOOjyyqDG/M3bgtKGJBIb+kiVLLB2SFGqEDo9E4xE83sSjocw9Fxc8+u/8zzA7wKHOlnEr6T38jtBBeDJO7rzzztG0adPsZ2B/eR3NRehcyVIDiCTEEvV0iCN+pmsjP8+fP9/+zmdST8dzCCeanfC/EGDx9/J3fkd08Tm8Ltx8P5OeAxddPOeb/02IdUUiTQgh8gBDK53ZFi5cGB111FFVETQfcpncMQ5OPPFEqznBCKPF/po1azJes+WWW0ZPP/20GRh4ZYUQ5QdjByKMTo9//etfzXnDYs+0XEcUIMhYuwshM2nSJEuNZExB1CGU6MSIWENMMb4kmX7+HEID+Nxw8+dwLCFyiDiR0sdnvvXWW7YgP0LNX0v0i8X3EZJ0p/X38MhnIMZcGCEqGee8i6XD61gvjUiivxbijxDutz8mvS7+XPg6IdKERJoQQjQwDKsYIIsWLaoSaAg2B2MCgcbfrrzySjNyLrroomjcuHFV3miMBoycfv36RbfccosZZUKI8gWR5REyxhCvX2KscFOOv3lUy6NoLs5oVkQjEro1Et3yRiSMRWFTEj47TPtjIx2QtED+5mKIR/43ooqaOZoieTMkHExEwIiMEa3y18Y3YN9J6aSLJSLUI2m8x51UCDs5qUS5IZEmhBANiAs02uWTvpgk0PAIH3jggdFNN91knmLWDOrWrZul5YTgfX7kkUdsrSPWwhFCiPrC2FTXSJo/hj+HIABZ/JmoHkKOzwfGK3cwsZh1TfAZpCr279/fUhD5HYgAhgv4C1FufH8nCiGEWGdCgUYNWnUCrWfPntGNN95oHb94D10fqcuIg6ecVCF1dBRCrCsILCJcRKQYW+Ib44y3emfjtWxhFCwOkTNSuknHdIEGiLSuXbvm5FxijKSGDCeVCzRApNENl4wCIcoRiTQhhGgAEFsUn1fXJMQFGh7nu+66ywQahhEGyrPPPpth4ACv33vvvS0tKck4EkKIQsMYN3PmzIyxjvEKcYYzqjYHE+MmYyBZBaFDC5HIgtp77bWXnFSibJFIE0KIdQSBRSQMgUaKowu0MH0IsYVAowaN+jIMD7zGCLsZM2aYR9q91bye9B6K5akXEUKItMH4xjhH5oDXogHRNxqa0MSEn2uC99HUhC38DMbHgw46yKJojIdClCO68oUQYh1AaCHQKJoPm4TEBRpeZQTapptuWuUZprj/4YcftrV4wjQf/r7bbrtZqiPRNiGESBuMWR999JFt4fjFmOVRtNqyABB5d999d8aYyXsYMxFppDwKUa5IpAkhRD3BMKEr2oQJEyyCRpezMO0HgUaKY69evcwQCQUaBgn1a7Nnz67qZubgPfZajNqMHCGEKAREvsgeCLMGgFRHHEy11aO5g4sxMBw3SXXcbrvtbJOTSpQzEmlCCFEPaHVNO+s777wzOv/88629dbiYK2k+3sWRGjRPcXR4Py2uw7bVgIHSrFmzqHv37hmvF0KINMF4R6pjOO7hVGLc2nPPPWsVWIx7Tz75ZPTBBx9kROJwTlGLpnpcUe5IpAkhRB3BuECU3XDDDdGoUaPs51BoIdDCddDiAg0wbDBQiKKFTUN4HWk+CLXa6jmEEKJQMIbNnTs3y8lEPVrTpk1rHL+IvFGP+8ILL9hjmB6OSBs0aFBOnSGFKGUk0oQQog6QlkPdGdGzMWPGWDSNqJjjAo30x9GjR2ekODqe6vj6669npPngNcZA6d27tz0KIUQaYcz729/+Fv31r3/Nqkfbf//9a80C8EwCRFoo8nifR9EQfEKUMxJpQgiRAwgritspkqfrInVo1KOFAg2jgsWp8QJfdNFFVW324/Ce9957z9ZHi79/yy23tFRHGShCiLTCuPX0009bNC1ej0ZXx9qiYDinJk+ebFE0zyRwJxX1uGoYIoREmhBC1ApGBMYEi7YeeeSR1jKfgve4BxlRduGFF9qGWKtOaCH2PM0nTHXEsPGGIWo7LYRIK4gsImnxTAAiYUTSanIyecOQJ554IuP9vKd169bR9ttvX2skTohyQFaAEELUgBsUNPjo37+/CbUkcbXRRhvZgqwnnXRSjQLNUx1pvR8aKN6qnyiaajGEEGmGFMVnnnkmKxOAejTGr5rq0XgvUTTSHcP3Ez07+OCDrR5XTiohJNKEEKJaMCaoOXvooYesxoxUx/h6PhgWP//5z0100fCDerSaDBTSgxYsWBCtWrUqw0AhEkerftpO1+SFFkKIQoLjas2aNdGHH36YNYbtt99+NUbBGDtxcj3//PP26GMpYybiDJGmVEchvkciTQghYmA4EOVi3bPzzjvPmoR89dVXGa2mPfLVtWvX6J577om6detmLfdr8wDzub54awgpjrvuuqvaTgshUg3Oq1mzZmXVoyHOiKTVJNIQdfPnz89aeoT3MP61adNGTioh1iKRJoQQAV5/RmMP6s/Gjx9v0bTQoPAOjnRhRKAh1HIRV3ig+WwiaWGqI59Hy2pa9qsWQwiRZhBnixYtynBaeT1aly5dahRZpHoTRSOFPEwZJ3qmBfyFyEQiTQgh1oKXl46N1Esg0GiRz+9hgxAMEGrOTjzxRIuIbbbZZmZg5GJYIPR88dbQQMG4oRYNoVdTqqQQQhQaxrG33norw3FFBgFp34yH1Y1h7qRicf/QSUWaZIsWLSySltQNV4hyRSJNCFH2eHojKY3XX3+9pTiy/g9e3zCdxxuE0F7/4osvtp/rEvni82bPnp31uYg8omiqxRBCpBmcS0nrozEObrvttjZGVuewIvJGR0eiaPGGIWeccYa62goRQ3eDEKKs8fRGujYOHDjQFqj+5JNPslJ5MCDwEk+cOLHWDo5JYNCsXr06mjJlSoYHms9o3ry5RdLkRRZCpBnGsSVLlli9bpgN4E1DqhvDeC3ijPRxnFQOUTdqeYmiyUklRCYSaUI0EExCeAfZwslLpBfE0tdff23pjQg01i6j/iz08nr9GY1BWLx1l112qbWDYxJE6iiWx0CJe6A9iiYvshAizeC8ostt6GgCImhNmjSpNrOA17/22mvWNCR8L6+nFo310ZTqLUQmsgiEWEc8EkM74ueee862pFQ5kR44L3RXxNgYOXJkdNppp1kkjXMW9w4TMcOIeOSRR6xzWX26L/r/QwyGXR35HD4P4ScvshAi7SCwvLOjg3Npww03jDp37pzoaGL8Y2wl1ZG50udFXksUbe+991ZXWyESkEgTYh3B6GbSOvDAA6MBAwbYRtOJOXPmZHWwEoWHKBbnhaYgRM/uuOOOqvb6bjxgLCCaNt5442j06NHRVVddZfVn9V1kmv/Jwq1cE6EXmVRH6jgQaXVJnRRCiELA+EW6Y3wc22abbSwqliTSyEx4//33zUkVijucYKR5k+qo8U+IbCTShFgHmHw+++yz6Mwzz4yWL19uCxRTdzRv3jxb/Pipp54yz6GEWuFBgGEgIMioi0CgJXVvDNMbqT/71a9+ZdG0dakXQ8iTShmP1CH69tprLxXMCyFSD2MX4owMhHjGAVG06sZIxr/HH3/cnGPhWMu4x/iay/qSQpQjuiuEWAeYsB566KFo5cqVVS2FPbWNiYxFkImyKfWxsGBQIJZZ+4zUxnPPPdfOD+cpPC8YGT/72c+iQYMG2fpn9a0/C/HrAcHHo+PRul69etU7QieEEI0FTknmM+a9+LhJ+/0kkYYo+/zzz80xFo5/RM5IcSTVsbo6NiHKHYk0IdYBJiAaT4TeQYeoDV0CL7zwQltTJlwXRjQeGBScI+oh+vfvb4/8Hqbr4MX17o2kN9Jevy7rn9UEhg3rorGFDUkwaLbbbruoY8eOSvURQqQe5rTFixdnpCwC41eHDh0SxzGE2bRp08yRGY5/OKZYa1JZBEJUj+4MIdaBmiYnYDIjfx+jPy4MRH7x6BkNXVj3jAgaDV3i6aecO6JlvXv3tuhZQ6Q3hiDOWcA6Hk1FAB588MEqmBdCFAWILOazUGwhsKjX3XrrrbMyDnwMvvPOOzOiaJ5S3qdPHxNpQohkJNKEWAcw5KkpatasWaJR76luc+fOjS655JKsnHyRH+LRM1JS+T30ACOM8ObSlYyaQk9vpD6ioVpBc/4RZ4i0MJLqkTu6RirVUQhRDDCufvzxxxkiDScXAo2UxbizifGWKBr12qGD0tvud+rUqVoHpxBCIk2IdQJjfpNNNrEaJ9aIwfCOG/gY6ngTqUl6+OGH1fExjyRFz6hDi4tjzhFijM6K48aNM5Hm3RsbMqqFMcP/T0p1pDFJ0vUihBBpg7GVBayJpIVjaXXZJLyecRcHGWOyZxHgoGLs3WeffZRFIEQtSKQJsY6Qtka0BmOfRYmTIjFMakxYF110UVXHxzD1TawbHEu8tnRupIuYR8+SWuvjxSV6Rlrjo48+apFQUm/y4dElejZjxgyLpobnm2umb9++iqIJIYoCnExejxaOZTicaBoSHz95PYtXz549OyuKRrMQtd0XonYk0oRYRzwqQ00T62khEIiQxD2ETFTffPNNdMEFF0RvvPGGhFoD4QJ4wYIFFjmrLXpGs46bb77ZzpUvTp2PwnXOLamOiLQw1ZH9ID2W60UiTQhRDCC64vVogNCKt99n7GN+I9WRcdgzR5gTmRsPOeSQvI27QpQSukOEaACYbDC4SZm74oorLP0jyQDHC/npp59GxxxzjNWpqeNj/cEQ4PiRgsOC1Ihjomi1Rc8eeeQRa9hBq/2kOsKGAmMGscgWGjb8T2rfmjdvrlRHIURRwBgWr0dj3mNsZSHrMCrGa1grdMKECTYWO4x9bdq0Udt9IXJEIk2IBoRJCOP/+uuvj1q1apU4EbmwoDU/k56EWt3xxiCk07Ao9fDhwxM7NyZFz7bYYotG8eKS4jh9+vTEro6kOvIohBDFAMIrqbPjzjvvbALNM0c8ivbcc89F3377bUY2A1G0wYMH25isKJoQtaO7RIgGhggaE9fIkSOrrXVCmLF22kknnVQV+RG146mN3hgEgfb8889bGmlY91Co6JmDoYJImzJlSoYI91RHmoY0xn4IIURDgDhbunRphkhjbmOMjUfR3n//fWu7H459jHctWrSwVEeleQuRGxJpQjQwCAQiNQcccEB0+umnJ3oN3dtIbdrQoUNt0WtF1KrHRc8XX3wRPfjgg5bayCPRMyJVaYmeORgq1XV17NWrlwk1pToKIYoBxl/GMRyK4ViLOGvfvn3GWMY4/dhjj5njLBz7EGY4JRmbNfYJkRsSaULkAcQAkxEi7cADD0ycmFyo0e3xhBNOsBRIhBrPi+/hWHBMODavvvqqCV+WO0hqDMIxJ4Vw4403tpQaOjc2ZvQsxFMdeQzPJ/tHFE2pjkKIYoFx9i9/+UuG6ALmtE033bQqksbfSXGkRjh0OvJ3X7xaY58QuSORJkSe8ImJRiK05ufnuFDztWSIqCHUFi1alBUZKkcQNmHd2YABAyx6RjG6L0odih9E2AYbbGDt9EltvPjii/PaubEm2K/qUh2pyaAeTamOQohigbGY9vthSjkwx4Xt9xn3br/99mqjaG3btlUUTYg6IJEmRB6hLgpP45VXXmn1UzWlPs6cOdPEyAsvvJBVcF1OYAgwyc+fP98aghx55JFWhJ4UaWTCR4ghyFiD7p577rH1dwoRPXMwTkhzTEp1JKqqBayFEMUE41h17fepv2Y842+M24g0xJrD33BQHnrooYlL0wghqkciTYg8g3GOaPjd735n6XcUWse7PhI5I4JGJI2IGkXXRIzinstSxid5xM2IESMscsaE/7e//c0m/TC6GKY24qG95ZZbLMWR3/HaFtIQQEg+/PDDWamOGCi03le6jxCimGBspm46FGmMwd40hJ8Z90hzxMEYvo7xmOZNRNE84iaEyA2JNCEaAYRay5YtoxtvvDEaN25cVSOLMKKCQc9ER8SIzpDUXtHFMN5WvtTwtEY6gl133XXR/vvvH91222323eN1Z961EdFLaiPH8pJLLrGFodNQkM45RGzPmTMnK9WxSZMmFklTqqMQophAdFGTFo7FjGneNMQdbDQMSYqi9evXT1E0IeqBRJoQjYSLCxbypG6KOrUkYeET3vjx461RBi3mk+qwih3E2Zo1a6IFCxZEZ511lokzRBqRtLg3FhA31J117NjROjaS2six9MhkY9eeJcE+L1y40LZw/9m/7t27ZwlzIYRIM8w5iDPmoFCkMR5Tj8ajR9GWL1+eNe4RRevUqZOcU0LUA4k0IRoRhASG+rbbbmtC45hjjjHhxmQWwmRIFAnBMnDgwKqOhknipZggIoinlVb6rLlzzjnnRD169DDBtWLFChOn8e9Higze2C233NIagiBwOW6kNpI6mAZx5iCkiaLFUx3ZT2rrtD6QEKKYYMwm1ZH2++GYhrNpp512sugY8xJRtHDhfsZlnJD77LOPzXmKoglRdyTShGhkPGWPCNCoUaNsLa/NNtvM0kHiggOjn8nxoYceshotvJWsDUYKZOjVTDsIL0QnkbNp06aZ8GS9MKKFLjzj38fFGWuKDRs2zJYqGDJkiKWKpiG1MQ7GCeJsxowZWamOTZs2tXXb4mJcCCHSDOPyxx9/nOg8Y+N55qekKBqZDjRyUi2aEPVDIk2IAkH6B1E0momwphcTGr/H00I8qkaNFt0O6QDJpIjgSbNYwwPrNXZM4KQyIjTZ/6lTp9r+h/ULjoszxBjNQOh6STpk69at7fm0TvicByKfRNJCY4Xz2bVrVxNqaYr6CSFEbTCWxevRgLGMZiDMQQ888IA9xqNoxx57rD1q3BOifujOEaKAMHl5+iMpf6NHj05sKgLemn727NmWJkj6HA02Vq1aZc/z9zAdpRAgzIj+Ub+wevVqa51/2mmnWW3dtddeawtSk+qIOEtqhkJa4DbbbBMdd9xxFjm79NJLTZxRi5Z2byyC1BewDr8b34nGJkRKhRB1h/sJscCWNG6I/IE4i9ejkQ3CeMyYNmHChMQo2i9+8Ytot912Uy2aEOvAjyqNusJadUIIg0mQnH5qtW699dboz3/+s0XQMP7jtymTJJMfk2SLFi0sGnf00UdHbdq0seeYJBGAjVEHwH4zQSNO2IgksTg3beg///xzew7hFvfEgk/2QPonYu68886zgnTETTFN8CwVQBrns88+a98XENqcH44Hj2lL0RQirSDGGPsYE3H4MC4ypnXu3NmiM9R3pt1xUwqQbo9TkGgZ5wI4DzvssEM0duzY6JRTTrE1LX25GP5GvTC1wwg11eEKUX8k0oRIEdyOTHakjrz99tuW3sgjv7vhHwdDhYmQ6Bv5/3SNJDJHRI7nEWy8hslzXWH/EFvsI/vj2zPPPGONTaZMmVKVxoiBFXpXQ0KRibBEnLHfiDOiZsXmfeWYrFy50tIaEabu7ef4ExW8+uqrzXARQtQO9w9j3osvvhhdfvnllkbMPcYYRv0uCyMjDhgrVOeZX3A+nXrqqdGkSZOq5iDmEzo20sCJNS3J5HBTEudanz59onvvvTfaaKONGsVRKESpIpEmRArhtkTkEElDACHWPvvsMxM/7rGMgwGDuGGSZEMwsHXp0iXq0KGDRar4O9Ec33hP0iSKkRRuHi1jW7JkiRWSz5o1K3rzzTejjz76yCZv37fqhBnwPzGqEJTbb7+9tWdmQifKxD4Xq2ec737//fdbF05q8ByOOeu4nXzyyUp3FCIHGPsY92jAM2jQIIvkML7wvEfeGT+6detmjYe4x4p13CgGSKfHifbOO+9Uje3MI3vssYc1sUJA+5zE+fEoGqmOiqIJsW5IpAmRYhBIpJgQpcGTefvtt1ukhueYGKu7fRFfGC4IIjYmVYwZxBobDUpatWplnmiacYRCjc/EM4oo5BGBxgSN+KCAnIkao8mjafy9pmHE9wWRwnbQQQeZOEOkYWwxkRd7GiB1du5tRlwD37t58+bW+IQCexmSQtQO9w8p09TcEsXx6E0I4xXj1kknnWTLcjCOcb+Jhod5YM8994yWLVtWNc7jUCOStmjRIpsjHMZyUhxphIVYS3IACiFyRyJNiCIAYUS0Bg/z448/bt0dqQPwNEjEXG24WGLzKBobE2lcpHkEjZ8RYR5J8+dqg8/j/zBpI8zweu+1114mzhBmPIdwLIVJnGND4XzPnj2zUh1ZI4i0H6U6ClE73DtEznB4MM55DVQSjGE4nljChJpcxhXRsDDWUwvI2IZYc9zh5g2rgLmE9MZx48bZuIeQE0KsGxJpQhQRCAJPg3z++eejyZMnW0dBjBk2F1KFwEUg4oSNxacPPPBAE2esEVYqUbM4iGeavNDFMp7qiAHZr18/GZBC5ABjG+May3QQRattLCNLoGPHjpZeRw2uotUNC/MNNdGkO5L26DCOYzqGUU5EGanrdClGrDEfCCHWDd1FQhQRCBwMftbconj+lltusc6BpPwwQZJeRyojXk5em89IFZ9NNIz9IVJEXRkeVNY0e/rpp62FPj+T/sL+8rpSE2iAYcl39TRHwEDBaEGcYtAIIWoGo5/MAFKGcULl4mwiikMaHp0HcZaIhoVzQAQtfi4Y6xBwDuMdHTeHDRumddGKFM6nZ+vwGJ5fUTgUSROiyPHoGgbOwoULrZCbmgA80TT58LoxDBoe2bjtc731mXARV2yeKskjAo01zXr06BFtvvnm5m1FmCBK8HDzmlJIZ6wJjBc8zNTPsAacF9bz/d2rjEAt9eMgxLrCvfPaa6/Zgve03M/VSGQcor4VR0mzZs1K0hFUKJhXaFx1wgknWN0tMG/ExzPGfXcaqqNj8cG9hzjDQYLTl4ZjZIAguBWdLiwSaUKUCNzKGDaIMgQZ3jBEGt0XvSMjjT9YmNS9o76FwwCijEnWH4nMtWvXztL32rdvH2266abWKp/1irwpCcLMBVw5wbFmwW5Pz/LjSCMDoohsTHRCiJqhvomIGB1Sv/3227XPfg9jkUdn3MnkMEYhDK666ipb7kK1UA0HKfQ33nhjNHLkyKxz4kKMMZ9MCmrRcEwpc6C44F7i3HKe2bAbyMQ544wzoqFDh2r+KjASaUKUKNzaGDR4yXzjdzaEGWLt008/zejOBRhDdCNkgm7ZsqVNwjwXRtH8ZzecyhWOIes43XbbbRbJBIwXPPp49lnwFRErhKgexiMyAIjG04THm1E4CK9evXpZYx7WY4ynNiIMPJKjroINB3MDqfQ33XSTnaMQP8YY9KyXxlqQOPLKfU4oNpjnZ8+eHQ0cONAcudgJ3G+777671XriABGFQyJNiDIljKKFwwCTLBOwT7YyeJLh2JHqSOczDEsmN0CUeRtqpToKUTuk1U2dOtUi0p5W53ikZuzYsebV//Wvf20Nevx+A8YqHCMYlSzoL8dIw4BI+93vfmdp20kijXPTpEmTquNOZoUoHsgEYa07nCMffvih3YecV+4znB40viKTRhQOuTyEKFMwbIiIYdAwufrmUTIGawmM6sFIZD2nNWvWZBiMeCF79+5tjzp+QtQO3nw61cYjZMCYdOyxx1okrXv37tEpp5ySldKIgCCSTU1b0meI+oHzjoZQ1Ykvj2AqY6D4YM5yEU4EDYEGnEcyaYYMGaLU1RQgkSaEEPWASY0i66TUK5Ye0AQnRO0gsHB0TJkyJaOlO+AsYtHqfffd1x7ZqDvjkb+FcD8+/PDD1nQkHvUR9YPj+P777yceT47/JptsYsY8nXvlkCoeEN84NYiUvfjii1VzGA5a6qnPO++8aKeddqpWnIvGQyJNCCHqAUYhdWehYckkR/qP1mwSIje4fxYsWGDRNOplQzASWaiaVDruJzaEAYvix6NpRAZWrFhhnxWvaRP1g/NBQ6Sk48nxRzzTVEpRtOICUTZ37lwTaYg1RDiZNaQ5st7n/vvvb7WGEt6FRyJNCCHqCAYh3n/y+MNUR4wVj6JpghOidjAYiYDFI9IYjURoSKfj0WtkvVFF3IgkOoDQY3H/+GeJ+oEjirrbsGYZOO44olgXTcZ8ccE5paZz8ODB1tXR5y9E93777RedfvrpJtb8fhOFRWdBCCHqCN5/0rMwBkMDBoOlW7duWV5+kX7wJvvSFXiXMWDCDQHA3+MGq6g/HHPSE2fMmJGV6kgUjQgaTXjCSA3RtDZt2tjaaPF0LD5j4sSJWfelqDtE0eheS1OkJDDoW7VqpShaEYFA43weffTR0SeffGK/A05FltW54oorLJVYWSDpQd0dhRDVghGFpw3jh8ewhX986HBvKh44NmoWeGTA52d/LHavK9+bFCA60bFGmhuXfDeMx1mzZlmxvTyR6YdrGkOFja6CrCeIl5l1BCmq92uca5YuZzvvvLMt4I4YR4hjoCqKUH8QU97VkeMeQutvugqSUhd3eiCiWXiX1Kyvvvpq7bPfQydIug3SQlx1ofUHx8R1110XDR8+PCsNleufxfs7duwog75IwMHEvIVAY45iDmfswtHBvUbq/rbbbmvnVqQHiTQhRBUuyjBaER88Uli8aNEiWwgbg2jp0qXmYU0CLxziZKuttrLJm3oFjFsWwcZTt/XWW5vhhHHL5OBCrpjAYHn33XetbTGpQBwzYHLr16+frdXEekEinbjTAYFAFIdUOxrA0IqaLmcYM+6ECEUa1ynXLTWHdO+kLorielLxZKjWD4TZqaeeaoKL8+FwnHF4PP3009GWW26ZNUZwD7KuGrUz1KGFNVO6D9cdjifH95e//KUdXx/jHIz5Z555xlIeRfphzMPpxELxDz74oDk5HJwaOEP23ntvNYBJIRJpQpQ5DAEM4hhJpHTRVp4NA4maKybspEhaEm7M8ogACzdEGUJt8803N+OKCb5z587mJfeoRDEItuq8+DV5/kVh4RrnOsbp8N1330V33XWXLeDKwsgINZ7n+nZxVhNcyzgacEgcf/zx0TnnnGMd0RS1qRscZxan7tKli0UuwzGF43nVVVdVdXJMAkcRa6eNGDHCzqnD+cFJNHPmTItoy+isG5wXji0RtNtvv90iaiEcz3322ceMfdamE+nGBdqYMWOiG2+80c4nzwHz7eGHHx7dcccdds8Vw/xbbkikCVGmYBQhvhAd8+fPt4J71irCg4pgc2HWUEOECzjEGBtCZrPNNou222676Mgjj7Q1kDyNjMhEWo0rvP+/+c1vLNXRvf98Lzz/pFl16tTJDEVReOLXONf3888/b23FcUi4MKsPnGM8z9Qg3nnnndGmm26aVSMlqofz8vbbb1tEmjQsh+OKuEJkcU9Vdy8huqdNm2apkjTxCc+jL7C82267STzXERwWODD69+9v58UNeoexG5F2//3323EW6cUF2qhRo8wxFQo0xirmqkcffdTGLs6rSB+SzUKUGUTCMFoxbB577DGLCCGSrr322mjevHk2MeOZxghqSB8On8X/RtgwcRDBIG3wz3/+sxlaPXv2tBoIjGk8uRhxafMhYQhy3EiN4/g4THCkABEdlDey8Ph1Rp3Z448/btc4RieRl/D6qq9AA/4HRs/rr78eXXTRRXbP8JzIDUQynn13dDg4akglpdV+Tc4O/oZAZosbmAiNcePG2TkWucP1y3V866232rWddD0zvmmMSz+IMc4h9xgCjTnXBRqOCzJaHnjggahly5YSaClGd5oQZQITLuIMEUaqCh5s6kEQaggmBvSahBkTMxEuBngMKdKQ4huRBU9dxIiqKRrmog1jDWN62bJlJhTZL1JtXnvtNUsnTJNY4/gsXLjQ0kBDA59jQut9vrvSqwoH1wnXC9fN+PHj7fpGoHGNI64xQDFUGup64nO4p6jPwdkgUZAb3PekOhKxQVCFcA+dccYZNsbUBOMRrznooIOyomWcB843AjAtY0cxwLngOqaZS/y8gMa24oB5ylMcb7jhhgzBzdyMA4S/IdQUaU43SncUosRhcGbCxSiiIxfRKpp/1NZSHJHFgM4gziM1V6RFeCMQctjDSZvPYWKgvoRIxaeffmobRjEb/4uNnxE4Nf1f/ieijzWShgwZYg1IMMgK3aDBazVuu+22qjoYjkHz5s2tO9YOO+ygJhIFgmsLwfTOO+9YKhbCzB0P9YmYIQL8+q7pegWu1z59+kT33nuvFeLLmK0Zxh68+DQyCLs6Ms5QT0b3uVzqnRhLcOaQCUATHzdEOXdEtYmm0cJfaai1w7EkQ4CsBsSzOxzC657rmmNJuiPXutId0wfjHfPUhRdeaE2R3DEFzE3M30T+TzzxRK2HVgRIpAlRomBYYgxhBD3xxBPRhAkTLJ0RQ5aBPOnWZ8BmEkYQsZEihreN4n46MyKgGOh5XWjEAp/Hxv/FWPKN9Vhobb548eJo7ty5ZgiwIRwxBJhAkvaF/4VXHa8fNWC//e1vTbixf4UwgtlHDEEifaRp+sSHYYkhSG5/06ZNZaA3MpwHT6FFQBMJQJxxbbnRXh1cw1zPnEM2rjk2ziHPU7OBcwOjh/uI/8N1y/0TwudQR4VQV01i7RA5J8LJuQojNtzfl1xySXTyySfbz7XBPclneZOLMHWS99N4hAYkOJRE9XAcuX84hiNHjrSffUzmXmBM93GN+4TmSDRJYrwT6YExjywCItGMRWEKNmMS98EFF1wQnXTSSXZ/aJxKPxJpQpQY3NIYkQzQNEnAgCFyxmCdJIjcIEUQka5Ie3HWUqGRBxECRBETM6+pqwDhfzHB83+ZQNgv0i1p6c8CtnSRJH0Q4YixlmRU83/x+LF4Kulr3vYcw7gxYd9feeUVE66kUvlxZOI766yzbGM/RePA8eeawaCk1uy+++6LVq5caY6J6sQZ1y+GCdc61zYba5/hhKDzKNcWhj7RHBdrbHwe7flpFvPHP/7R/k9cqGGwErmhbTn3i0iGscC7OoZLWHA/Ez2ra0SascO7PIbdVjkHRHxcTNR17ConuI+orYw3C/FjxqOfJ44rDVlozKLujunAx0Kuf+o5WVKE+yK8txBlzOtXXnmlRdMk0IqEypMrhCgRKg3Hiq+//rpi7ty5FZWDdcVGG21UUTnBoiZs42ffKgfpikpjtWLjjTeu6Ny5c8U111xj76ucpCsqDdWKSsN07ac2LHwun89+VhprFZVirWLYsGEVrVq1qqicPCoqjYCM/fR9rRRmFe3atasYP358ReVkVFFpSKz9xMahUgxUXHbZZRWVoixj35o3b15RKTTt2IvGgWPNNcC106tXr4oNN9ww8brxLbzWK0VZxSmnnFKxYMGCis8++6yiUnDbtVgp7ir+9a9/2fVZadys/U/fw+/8T147atSoikqDJ+t/8NkPPvigfY6onu+++65i+PDhds7C48f56du3rx3j+PGvCc7ZrFmzKlq2bFlRKeyqPo9z3rZt24o333zTXiOSYRzlmFca8DbGxs9J/N7iGPfs2dPGblF4GK+4p956662KLl262NhUKcqqzhf3AfMq9sDq1at1LxQZSkYVogTAY0YEAS/o9ddfbx5RUhxJ06q8z9e+6nuPW+XAbREEFnplAUvSgVgTjRQjUrWoPePv+YpU8bl8PhEoPLGkCl566aVRpTEVVYo1W7wWr1/oSffvR5rk6aefbqmbpLS5x7cxwFNJW3AeHfYRLz1brp5/UX+4fjn+pB5S+E4tEvUzRNOSroVKA8WirtTOUDPGtU6khkfqKkml5W9ci0TXiBJwfXKPhPA755frcvvtt7frNw77tnz58oz7TWTCfUyEnzqyMDUROP40ASHNOn78a4LzwjIepCHHxwxSITnfjTlOFBvcT0nNQrgPuHc6duyYMRdwfVNrzPEVhYVzQMSMrJSBAwdWZaX4GOTnkM7JNBAhgsYYJ4oHiTQhipx/rc1DZ80gDBUag9B9MBysHQZtxBmpjLfccoulAlG3gchwYVQXA2ld4X+RTsnkQfMNUgYxqgYPHmxrqGGwhQYC3xXhef7552d1rcon/A+MSibB0OBjwuOY8x1EfnGDhBTZE044wa5zjHDOS/w6d3FGPeUxxxxjqVl+rXOdIcrqY6zwuTTP4TEO13Lbtm0b9f4pNrh3SKvjHIb3kZ+vgw8+uM73EscbgYdzJ/5erg22UHyIHyBll0ZPpAojnkPhxTHFicf1Hl7TvIZxV86IwsKcxHl48sknzXFJCUE4FjJvkn5P12Ha8DPvS6AVHxJpQhQpDNJMrCw+jReNrlwLFizIiiowWDPJ8kjdDZE2mlwccsghFkVACCUZnY2NRypat25tzQOo7+nVq5dNNOH+YVjwHRFpvkBnvoUa4nDixIkZkyDHlGO3yy67mEEj8gfXM+ecxahpOEGtZVIk1Q12rnOub4TZ1VdfbdHahrrWq6s75HMxhNJwL6UV7p8XXngho14GEFfUy9T3/GB8sl4a5z506nB9MNaRYdAYzpxiwp0e1FjSEZVx1eF4tmrVypxh/BweU+C9bBJqhcHHQ5YZQaBRL4sjIpybcHrsv//+VoOmhfaLF4k0IYoMBmKMHVK+fL0zomhE08KBGjB4MCpJWaGw/sUXX4yOOOKIKoM1PvmmAYwCIh0e7Rs0aFBWmoZPUkxARElIhcynwcDxxvvPo8Oxo803qSThvomGBeOR6CmiPPQYh0Y+cA64TrhuEGdcO/yMcMJACaMB9YX/yXp+8f/NZ+NkIIVSIi0Zjhn36ZQpU8zp4bhBScMixqT6wLHv2rWr3Yvh8WecoMkP965EWiacg5deesla6YdZF34+fv/735tQ45qO3zucS5pRxe8DkX98PLziiiusUyM/h/cT8xJzPo15JNCKH4k0IYoIFyfU4VB3xjpDntoYTpgM1Bg8rNlEutekSZOsLS8phAzgaRRnIRgFHhG5+OKLo1GjRtUo1Gjxn6+UJo4rnng6ZvE/HSY+amHSKnZLAc4pXmI8+kSAcURgkISCnGPvqY1cK4j2XXfd1cQZtWNxA3NdwNBnH+IGP8KAe4v7TddCMpw3omh0dgzvIwQWqYpEpPm5PnDMGS+ocY3XC3INcf+Ghmy542PnNddck5WJwPGjy+lhhx1WlQIfPy+8n/sgPI8i/3AN45zFWXXHHXeYQAsjoO6UxVnBGmkSaMWPZhMhigCPnmFsEBFDoFF8Hx+kwSMK1HdgsNIkASOIwbvYvPx8F6JqtBVOKnzmu1PETg0bj/Fj0RAwMZJGikc+NGaY/EgnCfdHNAxc70RdcEAMHDjQ0nri6Y2Ir/Bap/kN1wFCCYO9IcWZw//HIRAXaexHjx49ZBBVA+cTRxLnkfMawrmiYQhCe10ELsee+htERvg53L+Mg/Esg3LF7y3SHN9+++0M8cr8gDC77LLLqgTajjvumHVecFz95S9/yboPRH7w+f+jjz6yRaipQ4uLa84RDkMyZW666aaqBmCiuJFIEyLluNcTUUZqIwuOJjVMcC8aKXgIM9K9iCjEhU2x4YZD3759LcXDjQcH4wvDmdqjMG2noQiNPMc99xxrGeYNCwYgtZakqHHOaTTB73GDhOPPAusXXXRRdPPNN1d1Bc2nI4Lriw6OodDwqC//X0ZRMoxhK1assHMZOlLcsKQejWO4LjDGkfLIFooK/t97771njhaJiu/HM8TZfffdlzVeci6OP/54WzuQa9mjaEmRNByEOp75x0U1mRw4rKZPn57V5MXnSFKGzzzzTEXQSgiJNCFSinvPwugZhkbcg4aRyISK54zURiIKPOYj3atQYHQhQI866ihL9Qi97j6J0SBg7ty5dswaCj8HRHRCjzNGCzn/2267bV5FQbnhAo26JQwSjjvnNjQkQ4MERwTRM687yyfsG/fe448/boY/++T7RVou96eiqslwD7EkSDwtm3NG3WCLFi2yhEBdYTxgvHNx4fg9TGfW8B4uR5g3uL9uvfVW6+oYRqY5F9SgUYvG+Mq8wTFlYfdQ9AKfo0ha/gkdVsx78UWqwbMJqN2mkRY1hBqHSgeJNCFSiEfPqD3z6Bm56PGUHYwR0gGp56AbYjGnNtYG34fvxWRFalnoecdYwICmRo+al4YyHvgcGlUsXrw44zMxBL2bXCmI4DTg55BUHmrQvGNZSGiQcL1z3TfWtY4ww1gKo2jA/Yho5FqQYM8Gg3L16tV2XsPzyX1D5Ib0LR4bAsbDPfbYI8tIRZzNmjWrrEUa16k7s5555pmszACEGWmOzCcucnke5x+/h0KN+Uk1afnFx0MiZzgn4y32wcdDarbJKPAUR81JpYNEmhApggGYydMX660peoZRSP0NgzMduljTpthTG2vDRSlrZOH1DaMnGGB4d+lgGY++1BfOBR74+OTI/6U4mwlRrDtukLBI+dChQ6NPPvkky6DmWBMxo1EM1zzXfmMaJFwLdFGNCzH+P7WJ+Y7kFSucx/nz50fvv/9+hlHPvcxyGyyg31DHjuuBZj7x6wKBzWL5nMOGGBeKEY4BHRlpFhJPl2MuwfG13377ZTi/gOudRiKhSOO9b731lp3Pcj2e+YRzRTopzUFYEzLJQcs1jiij/oya7VBci9JBIk2IlOCGKnUbpHohRGqLnlErVd3Cz6UKBh0595dffnli2uPIkSOtbigUtfWFY0/qHY8Ox5/FvzEGNSmuO37dk6qT1FLaHRKkFLJWXSEMEvaRNCMMfX52AcAj12KfPn2yjFvxPTg46DQXd5xgZNIwhI6MDTVuIShIQ95mm20yxDTnjLRxatPKMfrj9xh1u/EGSzj1WrZsGf3hD3+wqHT8XHCf4RwJ7zdEGp8RzzAQ6w5jH2MgYyE12N7R1gnHQ+4r6nbzXYsrCodEmhApwD1nd955py1KTatqJtXQoPDBGe8ZxcEINIRaOXrQEKR4fXffffesaBpGyNSpU804XBcwPkjTIsUtbtR4Fzk31kX9cOMRgYZBwj0QHmsMRs41tX9+vRfCIGGfSNdj4Xg3Sv1+JMoQFwXiexi/ELcsPh4ampxXHCx05WxIccvn8nk09PGMAoQhG9fZq6++us7jQrHhziuyLUhzDL8/xwthds4551TbbIK5pUOHDllzDOeTFLzwvIr6w3ni3JDmTUo/nVApeUiyATp37mzp3qTcJwlrUTrozApRQPBIMoH+9a9/jc477zxrEEKbXZ4L01GYIMPoGSItn63G044bF2effXaW0c5Eh9glpWddvLwY5jNnzrQoWjw1yOvRRP3hmHKO8AZTUxE3SNyQ79Wrl0XQEGoItkJc79yPOE7i3fC4Bojslet9WBvcO9yL8fEMAcVYRrpjQzuYEBr77LOPXT/huWJc8OYl5QTjGGmOiLQwzdENfmr4aNte3XjG8aSLalzA8bmklodOFVE/XKAhesmiSWqxz/li/CNSTO05j97gRZQuEmlCFAgMUgZijD8GZvechZOeT6Rh9IxuaMo//954YA2fQw89NMOA4PitXLnSuvCFaYp1hfdSjxZ+BoYfETTq0Uq59i/feAQNY+TCCy9MFGiIcCKWtNcnnbdQQojriWY03Kfhvcn9R6oe92PcgBXfn2NEAVE0RFoIxibiNh9GJueCDnfh9QQYwizVQeQnFG+ljN9npDkuW7Ys45hw/bZt29bSxrnXqosE87o999zTxrvwXHEv4FxEXIQCXNQNjh2OA1JxjzzySMvciNcMcm5wRuIcJIKGQCuUw0o0LhJpQhQADAVyza+//noTaElrQTE5+sCs6Fk2HAOMvOOOOy4rmoZRiAc/HvnIFd6DOGM5g7hhzgSJUENIiLrjRgnRsTPOOCMrxdENEmotKIonDYvjXSg8GsQ+h4YTYsBrqqozcMsZzimRK5qGhOIAY5+W+zQ6yoe45b7cfPPNozZt2qx95gf4G01p4gKuFGEM45q95557LM2RMdHHQo4DYyeNqRC0NZ0HXsvfOaaMfw5zFU4s6jTL4XjmA44h52jGjBk23iF6w/MEHHOcsqwlyJhZSIeVaHxkZQjRiLiByvpPiDNEWrw5CIMvkyLF2r/73e8sTUXRs2Qw+OgOR21LGNnCQKR5yLx58+pVM4HRwTlas2ZNhgGCWGCx3HwYl+UA1zhGCO3QSXFMEmh49fEo33jjjY2y/llNeCSCaBARA8eN3L322ss82iITFwgcNx5Do5N7yNvucxwbGsZPxspf/OIXVdEG37iXqVcNr7lShTmFDoysJRiPzHAOSHM85ZRTcjL4uQfpYBqOsX4v42AMsw1EbnANkkFABg2lDm4HhHC86dhME5HRo0dXtdgX5YNEmhCNBAaCpzey9llScxCMFgwLGhEQRRg2bJg8ZzXAMcFYprtemDqFAYFRTUOK0LjOFYTdU089lSXwMFbUer9++DmhIxwRtHiXuVCg0WY/DctJYDRhRNE+Poxys184TnbddVc5ThLgvBJBi6eI+jlGQDGm5Qs+O6njJucT50upiwrmFATApZdemtjNkeVLhg8fnrPjj+NIN9t4ih3j4+TJk02Ih/eHqB7GQY6bd3BEoLF0TNJcQ9dNXnPSSSeV/PI6IhmJNCEaAQbgML0RQ4GJLfRuelpD7969LUWFVCpFz2qHiYtj1rFjx4xjhSHGGnOrVq2qswHBe33xUAcDE2OFBhY6J3WHY4pAoxaJlLPQUA7Tr1gDLQ0GCfcmEQhqG+MpSBirxxxzjAmOfESDih2OF8ctHsHB8CRtK36vNjRcO56WHIoKxMtLL71koiU8n6UE34u55Y9//KNF0uL3Gdcs3RxrS3MM4VwxxtI1MzxvHE8cGKS1xkWGyMYdVcwt5557bvTQQw+ZWOPYhdcj1y1p3hdffLEt3B9P5xflg2YXIfIIAy8GC7nmLEqJSKtp3RPqzigMRghgtMoArB03PKhxwXh2MA5pmT59+vQ6GRC8D8OGzo5hlBPDjy5occNP1A7HH48+6bt0Lw3Frws0IpRE0PDyp8FjzDXA4tXvvvtuViQinzVVxQ7HisY9GKBJQpwoWhj1zgcYtNTvkoUQGrc4a1gvjfG4VCM/3Ftz5861NMd4qinzDEuXMI7Fo2I1wbnj9TgOwywCn9+SBLnIhLmEzBkch2QL0NU2XofukWbEMHYADg1+l0ArX2QBCpEn3BNPtyYG5erSGxmEEWVEzxBpnncuIZA7HC/qXDBC/Li5AUFRdigKaoPzU13r/S233NIeRe5wPEm9oosjxmN1Ao3U1LSk9GA4sc/XXnttlqGLscp9yn3L/otMuG/uuOOOLAOU80qKKHV8jXGOEdDelTAEhwHNLkLhXSrwnXCGnHXWWXb9hnMNxwMHCFG0+kRmGPdwTHC/hu/lf7L+3HPPPZchysUPcIw4H9TZYguQSRO/P3ws5O80rPI10CTQyhvNMELkAQZfBBktxklvpAtWPL0R4wGjFO8k9U8YMEyeSqWrOxwzjAjqJsLjx+ToIi1XLy+GBukoocGB8MPIoXhe5yd33FFB0TvXeCh4OKacsx49ekQ33HBDwZuEhHC9PPDAA9a2PDTmuWc32WQTW4dLYj0bH/fijVY41xigxx57rI1xjSFucdxQ2xtGfsBFGo+lhN9rtNuP1zh5hIY6NNIc6yOSGfdIU6ULYfh+/79/+MMfLHUvFIbljh8bRBnHHqdPPJMAGPewBRDBrIFGJ818R5tFcSCRJkQDg1HHZEXb7tNPPz36+OOPbVAOvfEYDhilpHexDlSTJk3M6NOgXH84pkRkQuOZSZJjj1ALje3q4BwhJIh6hkYOBgoTZ9OmTSXS6gCRTLzCpO5grHA+HM7XTjvtZIXx1F+kRaBhZH722Wcm0uKikija4MGDLd1RHu5scGwkNVrhnqElfmOmiCIkiKTF/x/jAE4Y7u9wTC5mfNzCEcJyLdx38euWFEecTHVJcwzhPQiH3XbbLSuKzDFlwWwEIiI9PPflimcQ4KhlvUcyBeLRTeD6pEEIjqo0ZROIdCCRJkQDwsRPzdn5558fjRw5MrH+jEmSWgkmU5oPaFBuGDD68fLyGBohLtLi3sskEBEYG++8806VEceGkUktR1qERDGAwU6DEIrf44Yb1zvX/RVXXBHtvPPOds7SgBu7999/f7WL//br109RtAQ8ipaWRiuIaJxf1KaFjhX2k0WtiWiEToNihnuNJiGXXHKJOUPCe40xq127dtaoYl2PP/ftoYceap0zw3vW7xtS9uMisRxhruH6ogad475ixYqsMdDTG3H+cd44rmnKJhDpQCJNiAaACYmJ8osvvoiOOuoo8ybHvWYYDaT6kGvuOefq2tRwYIhRcM0WHlPEFjVm8WhmEniESYViQg3hfR06dJBxniMeTSbqhFALHRWcJ7qWYsDQga++nv18wH4i0BFp8WgEBhULp5PuGBr94nsY/xBoSY1WOGakOjb2/YPBSwQpdIJxTtk/jOjQaC5WPPKLoV/dvTZixAiL1qyrM5BxFaH329/+NqvzsIt0skPeeOONjCh0ucB1hQ1ApJZOtYxx8XMCfhyJsBH9xGZgfGksB4YoHnRFCLGOMBEhABiYGWxZ3DMpcsCkRrcmPI3KOW94OJZ4d0l5DL2RnAc6unF+4qkmcTiPL7/8cpZw5vNY/FXGee0QncBAw2isrlHIaaedZmsFpuke4DohCnHrrbea0RteK5z/HXfcMfr1r38toZ4Ax+7zzz+PHnzwwSzjnOPFOk8YpY3tkGI8IEU5HqnFmGY5iLjxXGy4MCKdmHsNoexwr3HMaRRC3WdDXbfcC6Qp//73v8+KzHFcaVzC+cbZxbVQKtHKmuA74tRB+JNBQ6SRyGZ16Y1EzHBakB5KM6pC3BuiOJBIE2IdwBhhIsJzSP1ZkgeRQZnULjyMFAV790bR8HBciVDGjy/GC+emJqOMc8brSHfkZ8QDGwI7qQ5DJIMomzVrljkjkgx2DEbulTQdT/YRI+vRRx+NnnnmmURjl455OFpkTGXD8XrllVeyomg4NajfK1SjFf4/11vcucI48OKLL2bsa7Hh1yz3Ge324ymGfq+x9EtD3muMiThXaIiVJP64FqjD5h4nzTxei1pqcA2RNcBacaeeeqrVlRFNQ0CH54Pjz7EiBZf2+9gDaarFFelEFocQ9YSJhwkI45+JkMd4ihSDMuuf3XTTTbaIL0beuqaciOrh2HrzkNAowXDwtvrVgceTaFu8VoV0PBZyxTARNYPxiyf97LPPzoomI5wxSkgBiqdKFRoMLcT5Nddck2VUci3tvvvuFkmVQZUNxwoxPmbMmERRTsSApiGFELf8T+p/qUsLxwPudYREMYs0xjKiNXROjUdsuE5pt083wXyk1PN5fC7nnOMbT1lm36j7Y14kBTZem10KcO1w3FetWhWdd955lh3AmpyMe+E9wM9+vJhHJk6cGO26666qRRc5IZEmRD1wwwRPISmOGPZhzZMLtK233tpSUWhoofqz/IMhhhigq1soAjBgSL/BeAgN8BCMCIR2eB4Bg4fW/op+1oynC9ZUG3P77benznvsKWOkHiEwQ8MdI4paHtqLK5KaDPcUUTREbnjsOOdE0WiIUKi6Q/4n55B60nA8YAzgGkU8VDcepBnuLfb9oosuyrpm+Z7UAFKHls97jc/l8ydPnpzV/Ifxk+viyy+/jIYOHWpRtaS1wYoR5hK+Bwui0/gIpyALt/Ndk+YX5nxSbkkBpbEKmR4qdRC5ohlHiDrCIMwgPWXKFJuAfHB2MOQwSligGq+ZL0opA69xwHiIr4/EOeMcIdRCj3MIhg/RtlBcMMGSnkKDCwns6sEo89QrmuLws8N1z/VPlzNvFJIW2G+cLThS2O+wfg4jCmOKmh6lJSXjYyF1OEnpdgg0OmKGAqmxQaQxHoTnj/3kPse5Vt14kFbcqTBkyBCLpMXnHu41FkT2dvv5hHNMfTXRvKSIGuLRUwFJj2RZGlIBuc+KTRxz3BkrEGcs1k5q49ixY6MPPvggK2sAuOY5F0Th77vvPutyS0SXeUkCTeSKrEYh6oBPkKx9Qpv9eMQAQ56BuVevXibQmMAK5UUuVzDGEAPxVBKMMYrrQ6+z4yKOdMe4V5rPYmKVyK4ejllN6YLUrmCkpc2DzDnnmiCKlrTfRAgOP/xw+1lkg7E9derUrMWTuW+IotENs9DjH+NAUl0a40Gx1aW5KL777rvNoZSUXvrLX/6yQdrt5wpjY+fOna3OivuFfQjPt+/znDlzbEFn0gJJgVyzZo0J+zRH1ji2PucTCXzsscdsHON7eGpjXOTz3bnmiZ6dcsopVqPG9Ze2FG9RHMjqECJHfLCeMGGCRdCSBBopjaQ/skA1tWgy7hofF1aItdBY4FzhxU0yyji3RNn4e2ioe1ROUZTqcSMMgVZdumC+amPWBfaT/SU9M17T4/tNmqPSlJPx8ZC0ungUDSMVgbbVVlsV3DDlXNKsKe604fxTl1YskTSOL8cZcUYDqrhTAbFExBfnIfVOjXXcXZQwTrJfpIYjEMN7xiOXpGh6gw3Ezm233WY1XUTb+Ht4DRUSjisOHLJk5s2bZ+KMbrTs9+zZs6tq7MLjjyBmnqBzY/fu3S11nrGF7o1y1Ir6IpEmRA4wkWPIka5xwQUXVE0qjgs0CqVJ/UCghel2ovFgssQgow4lNBQ4h88++2yiSONcEkULzykw6VLfJpFWPURT6IjIFqYLeupVGtMFXWBgVFaXMoZBxjWkc58M55r15BC64X2DOEhLFA04n+3bt7f9CveF8QBHW7GINI/6nnnmmYlOBa/55LvGBWm+4bjikMQ5RhkAS814k6zwmCNquG4QP9OmTbOIFOKHyB91jaFgCwVQvvGIGceY/7969WqLEPtSIYwF77//vokzXhMXk1xjZAlQn4Ywo0ss94AfAyHqi0SaELXAZIhBd8MNN0SjRo2yQTw09Jn8GYwHDRpkhdzq2lR4MKzjETDOI+ulsTEhh2AUEEkLjU0mXoQ2n1PoaEBa4ZiyphgRp6R0QToisphwmiLK7CNpYqQjs4VRIAxKhMV+++0XDRgwQB7wamD847yzLhrHz/Hjl6ZFv9knxmPES+i0YQwgTbMYRBrjEoKS+SWeweFOBSKaXvNZiGuW/8l9Tt0Vzo9hw4bZ2Mn+sI8h3IN8B0TP/PnzowceeMAWf0YQ8T0QSAg2MhsYV3htQ4s23wfmdv4P+0HEjOgex5H7f9KkSbb+H6I4POaOH/tmzZpF/fr1s6UQWMCfaJqcO6Ih+FHl5JSO+LIQKSQUaGz8HE7qTP4INFJMTjzxRIumyaAvPBjhTLB4QjEEHNKeMCDCRYkZApmI8YIuW7asSsAxyfrES/MQkQnHDePluuuus7b63Bs+nXBfUI9JMw7SfdJisLB/XBvUkxD15toIHS5cEzT8oQEKjRBkaGXj5x1jmshN/LyT7sbxa926dWrGQs4zEV3EQCgqEZKkD7Zr1y5LSKQFrk/2n+uV6zasQ0MYIRIOPvhgW+YFB2EaUnOZI4mYISiJkr300ksmtpKiUA7fhX3HMcbGvYhwY+xl8Ww6JTN+8xquK84Xj7yPn8Pzx3P+fxBjbIzrbOwbG8eVyCT7huOO64BH9htBFs7zcdgHxgaOPWsAMqdw7NlnjRmiIZFIE6IaGKRzEWhE16hDU+1KeuA84Y0dOHCgeWQdUlJOPvlkS0lhUgUm63feece8uKS5OJxbvMEsYsy5FZlgyFCfgSGFceP3BgYSxxbDhTWyMGTSAgYYDQy4LujsF3rHuZ9JU6bT4y677GIRAJENx4yoA+edTnfx8849Q0pemu4ZBAKd+EivQ2A6REAQlHTgS6NzDVHB/uIEpM17GK3meCMKunbtat+BCBbXcJrgWkFUErFkLTHGWX7n+doiYy7GEGw88t0QaTvuuKO9H3HE/cw4Te0j4hvRDYz5HTt2tOvUBRr/mywYUi097d03Po/r2B10SXC8Q3F2zDHH2D7stttu9nvajr0oERBpQohMKgftikrDs+LSSy+tqJz8KioH4IrKQbpqqxyoK5o2bVpx2223VXz11VcVlQP82neKNFA52VZ88sknFe3bt6+onFirzlvlhF9x0EEHVaxZs2btKysqKg2fikrjraLSAMg4x5zfyZMnV/zzn/9c+0rhcHy5PwYNGlRRKXwzjluluKno1atXRaWhlKr7otKgq1i6dGlFjx49bB/Dfa40AiuaNGlScd1111VUGnIVlYbd2neJEM77F198UVFpoFZUirCMY1gpGCr23HPPipUrV1ZUGr5r35EOOPeVIsfOcbjP/M7z/D1tcKy5FivFpc1BXKPhvnO8d9hhh4oXX3yxolKgrH1X+uBe4vgy5jKe/upXv6qoFFN2/cTn1do2jgFzb6UoqqgUZzZmc2wYq5s3b17RokUL2/h8/5m/8ZoNN9zQ/idzQPxY1rQxf/A/eT/He/DgwRVPPfWUjX/MDZwnIfKFatKEiIFHjajZhRdeWG0EDY/xlVdeaQXSeNEUQUsXpL7g8SRlLTw3lROqef/DtBu8qESCeM6pnJzt/dQm4MUVmeB9fvXVV62VNsfP4bhzP1x66aWpiiyzj6ReUTea1CiECCs1KGxpWyYgTRC5eOGFF6x1PT87ft5pOU5kI233DNchzWvi1yPjAY1PeEwTRH+IOM2YMcPq0IighfvocxBZHPGFpNMG9xL7RxSMyBPp49SCEm1t06aNRQCJWucyVnAMGHs4NszLpIESGWP8JguCCBob6ev+M3/jNUTROI6MBbWdb/aZ/WEsYA75xS9+YevS0RCE5Tr22muvqrqzMM1SiIZGV5cQAS7QEGfjx4+vVqDdeOONluIogZZeMBQ7depkkyiCjI1zuWLFCuvUhSHEc0zadCYMzzPvpQaC861JOBOOGUYS9T3cH6HBQ/rVvvvuazUkaTEcOb8YcyybQVts9t0FOsYY+0wHT/6eJmGZNrg/MHrpbovgDe8XzjXnnS2NgoF7uFWrVokiDeO9NqO9MeHaJHWPGimcCqQ7IkwcvgPXKXWgXLcInGJwKnAOXKwhes4++2xL0yS9mLRouiHyN4QR429jj7scV0QXx5Y6uB122MFqku+55x7bTxajps4Sccb30LwgGgNdZUKsBaPDBRoiLO69ZABngOZvffv2lUGXcnzCDY1JwCh799137XmEGrVJdPcKX4c487XWRCaIHo4fLbT52cGwIopCFC0t0SgXaBi7GL0Yvy7QAGMLMT5mzBhbF43zLrLhmBE5o1EI9UU+LvI8xioGNrWeOK3SaLyyTzjX2MLrku8Rfp80QJSXhhZnnHGGXbvhPcb34BjTROTAAw9M7fGuCY4/9xljBXVjCHuiU7NmzTJBhDCizgtBRJSNMZxxuKHnWj6P+5/9QJTx/w499FDrTIooe+qppyzqh6CkdpH90PggGhuJNCEqwUDHY4mxlpTiyCSBEcffEGjFODmWG4gGIjpxmJy94QHb4sWLMzzVwPnu3LmzRFoMRC0i949//GNGEwMgIkVKEBGLNBw3jFtS2TB2SRsjghbuLwYajUJY+1DrGtYM9wdiZvLkyWuf+QGMbtK/aOiQ5vuF+x6DPBy3/XoOr4tCgkBjgW1S7ZNa7eP8oMERTTiKfQ7iuuGcMG4QQSP1EcGGMHKR5K38EW6MK23bto2aN29u4g2HKeeTY0I0kc/hHvaN39n4GwILgc77EFzM5XwegowIGf/HRRmCEZGI44H38FlpcDiJ8kTdHUXZgxcVgUZ+PwZbdQKN2gBPcZRASz8YXu+9954ZkNQrMNQx2TJxk15zzTXXmJFw7bXXWht5zjvwGgwB6iaYrBF74nuIRP3pT3+yqImnDXK88DDTah9DJw2t112gXXHFFdHDDz+cJSi5pxFmd999d9StW7eiSRkrBIyPRHRYzgKRFhe7GLPPPfecLV2Q5kgDYwA1h+yrO2W4TunsyL3OPV9IXKARJWPNxnhaLtdor169rNU+126pO5C47piHuZc5X+5Uo0sjj9zfS5cutePCmn1sXIsrV6609zNnAym6jOMILqLBnG/qEzn3XK++8TvzgRCpApEmRLlSORFYd8ZKQz2xg1blRGhdo+gA9vXXX6uLY5FBpzm6+YXntXJCrqg0zK37IB3H6Pb44x//uOrvvLZz584VlZO+uvzFoKNZnz597Dgxffi23nrrVVx11VV2jxQaOslx3ukiV2mYZd3TnOtKIVkxYcKEim+++UbnuBa+/fbbittvv93Gx0ojtuo4/tu//Zsd3yuvvNI6PqYd9vHggw/O6OzJ9+nQoYPd64WkUqBVLF++vKJ3797WgZBj6/vI9l//9V82jlUKlFR2omwsmK8rBZsdg++++87uX+bvL7/80s4v45Nv/M7G3xiXeD3v4/2650WxoHCAKFvw1BE9wTtMFI2fec7BU0lKRZjiKE9bcYGHlBQXvKQO57hy8jbPNZ7VRYsWZUROeS11Spz/SgNp7bOCY4R3H0925dyx9tnvITqJlx+vdiHhfBKNIOL95JNPJtaV4kUfPXq0pY2lpXYurRDFIO2OFLCk9FYaV1DvR9pZ2iH7gZTMMAuC78O4H7+eGxOP+jIHxRvbAOl2XLPMQ5WCsuQjaDXBuWN85phw73oaI/M0KZOM9b7xO1uYFsn7eL/ueVEsSKSJssQF2l133WU1K6Q7hoY6xr1q0IofRDV1aaG4xgCiDgWDiIWNac8cGp+ce+/sKH4AUcv9glEZGjkcW1prs6BsoZwYnFNSMak1PPLII+28JqU4YrTR+KdYmy40Jj5G0oUPEeEpgoChy8LBv//9780ALgbnFeea/YzvK9dOoUQax5SxiI6ZpFzGG9u4U4E0fMYkRIYEhhDlg2YoUXZguGHAUatCzQqTZGiAYJzjnaMGTQKtuMGYxJMaF1ycb2pUaMcfnnvAMPJImvgeDEc8/NOnTzdDEjAWMXg333zz6PTTTzdjvRAGpN/PCDMiaAsXLkw0dhFoEyZMsIgfXnXd0zVDVJJ1oeJronGOOX6/+c1vbI2uYrlP2G8iL3G4TnDSNbZQwynI//3d736XGPV1RyERNjrNqm5SiPJDs5QoK9ygmzJlinXQSoqgIdCIoOGRlzFX3CDS2rdvn+U9xxiiqciHH36Ycf6Ba6BHjx72XvE9HCOOF1t4vDDQWYuuUE0jPNqDkTtw4EBLXUVQuMGNUUtaHo0WiAJ27dpVTpcc8CYWSWmOnHPSBn/7298WlXBgP9ni555rhWso/I75BscQcw/zDHNR/Bj7PISjUGm5QpQvmqlE2RAKNFIc4xE0jHKiAUTXtA5aacD5w0CPCy6EBlE0IkOk7zkYcB55kyH/AwgfjlVSvczRRx9tQqixjUjuXe5hUsGI5CEqkgQadTwsmOsRNBm7NcO9gWihg2dSmiNj5DnnnGOPxeTI4H6m7Xr8/DMvNGYkza/b888/v2o9zlCg+TGWo1AIoTtflAVMwBiYtAgn/786gcbEqTb7pYMbZoi10DjDECWKRmpcGBlCnGHUFyIqlGYQP9TMEGFxOKYYkLvsskujp7yxH9QScr+OHDkya9FfzjVRnm222cYWyCWCJmO3dhALjJO0eWdB5aQ0RyJoRJqLJc3R4dzjeItfA8wNjSXSXKANHTrUUm8Rw+H44/MQc5QchUIIzVii5GHypUaFtWeY/OKLhDIxMhkycZ544omaGEsIDEvOJUItNM5Ik1uyZIkZTaFxhuFJxzqJtB/AiFyzZo1tcUFLKlbTpk0b7X7xe/mjjz6yKMP48eOzUpbZF5wsCDPqThFqquepHT+2M2fOtEV941FTopLUoLFeWrEK3qRrwL9j+F3zAXMOzgTmGdJzEWhhDZoLNLI8WCtNjkIhhEYAUdIw8eINplaFVtFxgYZB5wKNyVECrfTA+PFomuMpTmGaESA81DQkE4QsDSTC+wYw2omiNVbbfQxaUsOoi0Mcvv7664mGLvcwKZhE0GhqUohUzGKE8/uXv/wlGjZsWJbw5b6giQWLvhdbmmMa4Ngy97hAqy7FEScir9E8JIQAiTRR0pAWtXjx4uhXv/qV1azE07WYDPFaukCT8VF6cJ5pY52L0cP5p4ZNBtIPcM8QRQvvHURPY0YdEQwIMlLEiKDRaj/ewZH98EgE66BxHqmZE7XD8f3ss8+iiy++uFpH1nnnnWdNeIrZgZEULeNa9i0fcN8w95Cam9QkJBRovuac5iEhBEikiZKFyRGDA6ON9KiwvoI0EtJJMPiYHDUxli6c63i6YxIYo7Rp32yzzZRmFEAk7dlnn81KKeQ4NWnSJO+CFsFAHc+YMWNMKMTvZUCMcY7phkdLczrjNYZ4LAW8Q+bdd99t7fbjYpxI6RFHHBH179+/6NNGEUhxuNeJEubje3Gdcr3iCKxOoCGAlWovhEhClogoSTDsyP9n4osXwLtAI2WKTo4SaKWNe8lrE15cAzREwLgvZkO0IcGA/9vf/mZbPP2NtZvyGVXxVGWMXLo3ItLiDX84T6QzEjW7+eabFYmoIwgGas/ofsnx4+dQRCB+aaQzYsQIGzOLWUDwvRCZ4fcDxgXfGgquXSK9NS2u7pFfnApKtRdCJCGRJkoO76BFiuMbb7yRUQCPUUfR+/7772+LhMrjXvpgfGEM1WaEITiIDul6+AFE2ttvv50h0CDfqY4Ysxi1GLcDBw6MJk+enFUnxfnkXmaNtkceeSTq3bt30QuJxsSFBI1CaAVPNC0uxL0OrRTGSa7ld955J6OGEZgTGjKSFl67Bx54oNVDJ6XmckyvvPJKpdoLIapFIk2UFBgZGBssVB0XaOAdypgcqVMq5voKkRsY7e3atatVpPE6am5kLP0ADo8vvvgiI3oFGJkbb7xxXu4fT7/zBaqTohCcKwxb2pQj0BBqarFfN0hrpMPpmWeeafVo4TnmHsCxQR1V586dS6K2j+9HVDb8nlwviCWup4YQaVy7XKukNnLtVlc7yf9kHTQa3EigCSGqQzOaKBl8gsQrzJpOSQKNSMldd90lgVZGYHxhjNVmhGEoUZMmg+kHcHq89NJLGREWjiPHaKeddmpwUYQBTRSc1vqkOHr9WZKRe9JJJ1mKHve0OjjWDW9mQXpoUkMlIpIcf1L1SmX5Aq5huleG1zLXcUM5ZtxBSHMbaifjxxWYc6idxEmoddCEELUhkSZKAhdorIvEQqz8HKa14AmmboW0KYw6dX0rHzAwfasO/pYv4VHMYHhS2xkathwfnBwcr4Y6Vogwrz/DwCWCg1ijttThHHHfIqS5x2kSsuGGG8rZUkc4pjRUQqDR+TapUQhNQhBppZI+ylzA9yb1MJwXEPwsucHjusBnc59cf/31du3GO2SCz0FXXXVVdNRRR9mx1VgjhKgJjRCi6MHAI6WEtCc8lPHaFfdeEkFzr7soHzA8N9lkkxpFGoYoBhTGmgynHyDF8NNPP81KNXSR1hC4g4X1zxAHvkB1PC0N8YBBTRfCgw46SA1C6gHHlPNJR1sW94+n4nk6OM0sOC9EhjgXCLlQ3BQbfG9SEPke/n1d9LPoeX2FvjsXaKxD1LGm5jbMPVy71KmpdlIIkQuyRkRRwyRJWiML29IIBAMknCA9NQrxRm0Fhp4oLzCSuEZqEl8YTETRZPRngjjDUI+LNFLEGsLIxJmCCECYIdAQavEoOOeNerOePXvaAtXeIERium4wLiIg6Gj71FNPZaWDI1gQ35deemlVp8wBAwZY45BJkyZFy5Yti1atWmURI8Qd5y58f1rh2uWaeuGFF2y/Ha4fFjtHpNXnvnfnAnMPwovHmprbkILfrVs3XbtCiJzRSCGKGgwNus9hTJAqFaaYMPHibce7Sbt9JsuaoimiNOGc+zpp1Z1/POk0wljXtKdSAuMWQxSjPDTGEWe5dMusDU8RQzSE65+F/8vvYSJnCAeMXRwtMnLrhgs0Ogl6vW4ovLn+EWg0XDrttNOiBx98MJo6dapt1157bXTqqaeaSCZadO6550Zjx46N3n33XVvkHBHP56dVsHGdvfrqq9Fzzz2X4cBDlHbs2DFq3rx5nR0OfjwfeughaxCycOHCLNHLNYogY+7x5jalUt8nhGgcNNOJooXUFbpnhQLNJ0kmXYqyqQ+gQFvey/IFo4hrgZTH6uB62X333RVJC8CIxwESGvMOx7S+xib3KBEN7l0M3DvuuCMrRQwQDtScIRyoQSMdFcNaRm7dcEFBiiMdMxFVYaTS08GJoL3yyivW8MJTHBHNvJ4On59//nn08ssvR/fff380fPhwEx9EP4m0zZ8/3/5HOAanAb4n3wWhSdTLr2WuIQQT0cK6pL/zfo4HDUjOPvtsm19qcy5Qg6bmNkKI+iCrVRQlGAOkNg4bNiz68MMPswwDomYYECeccIIEmohWrlxpW3UQQWOTSPsBDFxSt8L0rXWFz8LIJTWMqMz06dOzRAOGLAYtogxxNnjwYDUIqScINK9Bo6lSKFSAax4xQao4aaS04mdsTYIxlvOHwCYCSuojog4BxFhLhA2xxt/SINb4/0S37r333uitt97K+F5cS506dYp22GGHnK8rvjuC75lnnrF1NhGrfNfqnAs0tqHTsDoJCyHqiyxXUXRg0GHYMQnSHjw08ABBRlSENCq1OBaAUK8Jrhl1dsyE+2rp0qWJkbS6gsFMZAajlg54YYpY+Pkcf6/hIUWMSITu4fqBKOF4jxw5skqghWOlR3sYJ6mp8vXCcj3WnFMECsLlgw8+sBRJomuINdILv/zyy4xGHY0N0a25c+dG11xzTUYqIt+PawoHXy4p8FyfHvklaojTgJ/57nHnAtE5ombjxo2zJSLkXBBCrAuySERRwYSJscEkSLcuN/J8osXIY+HiP/zhD2Z0qMZIYJwh0lq0aLH2mUy4ZjCmMFol0n4AA5QUtrgTBDimuRrf3J/cp4gyxBkirbYUMQTadtttZ0a0zkndQRwhkk488cQaBRoRNm8HTyrpkCFD7Pm6Cgs+m/9BjdoDDzxgkTXS0F977bWCRNb4/rTBZ6FuruEwGkyU9rDDDov22GOPGr8n++tC9/HHH7fvQ30zojT8Lvzswo/GIFy7RCXlXBBCrCua/UTRwGSIR3PWrFnR6NGjs1J3mHzbtGljAq5169byYIoqli9fbjU1SWBINVS3wlKCe4tUubhI43ki2bkY3V4P9cQTT5jh/vzzz5uRG0+h5F7FqULrdy1QXX84J4hfRDDii3TSmgQaIs7FBOeADARS9BhHmzRpYiKZ1+d6Hvg/jNG0pKdRh6dBIta4Drgecrlu1gUXVtSbLVmyJCPN0TtYsk81pcF7Wu6CBQuskQobKbrx1FyHa5f/R/dRosByLgghGgKNIqJowDvKpIt3NG7oETFjomQttB133FGt9kUGdHBDXCQZiBihDbnuV6nA8eI+Cx0hwO8Y3PHnQ/ibp4iNGDHCFkbmZ54L34fxH9afIdK4j+VgqTscVyKWb7zxhtXi8hh3ZPk4STMWREUY7UFUIFxIfcQRhrPr2GOPtYgmoo735irW+J+IRRqOEFmj/pBmI/PmzTMBla80SAQZETS6WMbXgeP+5vvedtttUcuWLROzLDwiSJ3z7bffbiKTKFo8dZPj4FuzZs3su1188cV2Hcu5IIRoKCTSRFGABxavPgKNSTj0jmJkMPmSRtWlSxe1ORYZ1GYMukhTJC0TjltSxIzfaTBR3XF1Q5coDkYu3Rs95S0EUUDEgXWqiEBoger646IYcYUgRqCFdVjgAo0mIWEELcTPSdOmTaN99903uvrqq6NHH33UBAjt6l2s5YpH1kiDdNFDVIqaNQQcQi4UkfWF7+kRRDouxteB8zli6NChietl+jW7evXqqv3EuYBjwVPqQzgGpEjvt99+0bRp06LjjjuuzsdGCCFqQyJNpB4mUIxFWhlTCM5k7Lj3l1oXPMAYGBJoIg7pjtWBAUe6o8RBNklCDIOV5+OGqxu6XpfEPZm0ODW40UztDgJNi/zWHx8fWayZ9eYWL15sY2R47ohM0mYfgXb00UcnCrQQzgOpgQgRUsepVXOxRirkRhttVKflEPzaIELFwtiIILZnn33WukQSmUXE10ew+fefPXu2XXPUKvO//LP4nj5HIBB9juD4eFqjizManxAVo0slUWScgyEuYlkEm/mI65z0Ro5TTcdTCCHqw48qB6pkd6gQKYDLkwmXRUPxkDKZu8HHRItHFEOP1BwMBxnaIg6GGOsasRgvxlgc0pUQCkQOdP38AClev/nNb6y2KHSMYIxSu0SDBNJIuR8xsDF2H3vsMeuAR9SbCErcyAUEAyIBo5naIKU31h+OL8ed8Y86XYQF5yKc1r0OC4Hmi/rXR1BwH3EdEFkieoSoIX2R39mPUGAlmRWhoONnzjnjNwKK9Mzu3btbVJV0QTbuxZpEO/+P78p3vu+++yzqx89hWqI78ajPoxswQpXPZX+5Pt9//30Td2RhEB3mOb5n0v6zv3wWDUdoTMUxZT8lzoQQ+UIiTaQaJs05c+aYQUcqS2j0MUFus802Zizi2ZShJ5LA6Jo6dap1Z0sSaSxyTf0KdSqK5PwAKYoYo4gu7kMHA5tjxn258cYbmxOFxiBESFg3i9+TxBnv457FuOUz99xzTzN6JYzrB2IEpxXRrYkTJ5pY41p3ON4INOqk7rzzTksFR6Ct6zWOOOJ/c54Ra7TepzEIv3s0rCazIhRrwPln7Gbftthii6hv376WWsn1gYjjO5BG6PvtTgHEIdcb1xLroPF7+P0RT3xmr169rFaZa433ci0T4R0/frw1sqGhEOIz6ZoF9o/9QOAhBHv06GGfpflGCJFvJNJEamHSpCaAonMm1dCbz8SJ8UEEZJdddsmqMRDC4ToirQqhTypeCIYfSzZQy1Ndi/5SxyMSbBix3FsYxhjiRLpI6UIAhCDOEHAsEM6xIxqRFFFx+EwM5p133tkiMN5gQaK47jBlMxZ+/PHHthYXKeAce88wABfEHTp0iO6+++5o6623tjEyLpDWBb9u+N/vvvuuiSVqzRD31QmekPi+8LsLNvaVNEKalvzyl7+0dGSEEd8dYYooI/0yFIehKcPnEK099NBDLQODz+N9t9xyi63pxnxCmiXHMTxuIYg8jiG1ZtRCH3HEEeac0HUrhGgsJNJEKmHiZFLFSJwwYYJNxH6pMkH6xMnGZNyQxocoLTDgXn75ZauBoTV4CB560hwR+zRLKDcwprm3iDQ++eSTZmAjwFjolzb4HBcaKPB8CMcNY5r71LckcYahy+u4X0855ZTo1FNPtZ8RgaLuEClCFBH5pU4MoYbQCKdxxkcXxLTTR6ghLPI1RvK/XawhGEkdJEXWr4tcCfePn/3aQXDxnXjk2sHRwnXLxueH393fhygjgkYqM9c39z/Hif10YZZ0vQL/i+PFvEJ3y1//+tfRVlttZZ/JPgghRGMhkSZSCRMrdWgUwsfr0DBA6ATHekrUs2jiFDWBUXb//feb4KfOKgRjjM5spDFR01hOYKRSw0OtDo4Q0sC4zxBgpJ1RX0a04ZBDDslIE02aMpIEAMYuhi4LBxPFZGkM7l3dr/UDgcH5omEFNWhEN4l2hiBQiDhRe3bFFVdYih6COOn8NDQu1nCEkIZIV09SYtlPnm8MXKR5tIvr2cVcdaLM4X0cK65RHDekkXL8XJw1xjEUQogQxexF6mBCp80+hjMTvAs0wLNK6gvefQxAGXyiNjDOaAqQZKRhyCH0eSw3iMpgTFPPhHglEoLRzz1HFz7qmLgX/f7DCK/Opxc+jzGLsYvoPfjgg01U0BSCKIju17rDdYvTijQ9xC7por5uVwhjI10GSYFkzbnGXrPLzzspgXTaxclGvfDgwYOtwUxjiEWuQ65XjheClmsakVaTQOOaZC7BMUF65NNPP21pkXSxZGzAaSGBJoQoBBJpIlVgODK5nnXWWdYhjgnW8cmUFsl4ODFKhKgNDDSMxCSB4dGecjTCEGCsZZZUl8Nzf/zjH6N+/fqZaKtOnMXheBJ5oKEPtVCk2yHWuFdl6NYdzhGppjRmITpGm/2444rjihhDlCHOiIwi1go1PnINsD+kzdIJceTIkSZ8Tj755Kht27YW6SNq1dBwHHK9xphLiJiR4sw+Md9Q44Y469SpkzqOCiFSgUSaSBWkXDFR0owAQ9Fh4mdSZZ0bun5hBAiRCwiMZcuWJQoNjDquLbZypDoBhrOEvxGxCR0lNUHEAUFGNIJatj59+lRFIkTdwLHAWEjjJBanZtxLWljZ0xtpsEHUishlWiKW3FsIHa6BHXbYwZxrzzzzjI3vLOGAQGJMz1VYVUeu4syFWZMmTaxJEHWXpI0y1/Dz9ttvXyXO1nWfhBCiIVBNmkgNpO+sWLHC1rOiriFsp4x33he+1Xpooi5Q03jOOedYl0KM3BCMMtLxaA6AAVdOcL9Rd0Yzjy+++KLGaFlt0wRCjAgEHR9pWMGxVJpY/UAUk6734osvRpdeeqmt8Ydgi6fseWYBXQfpYNiY9Wf1hQgg1x0OOFKQaVbDmD9z5kwToR7VjV9v/jvOlFCUhY/xjddyjBCyXItE9mgexFpstPhHJHq9Wbk6aYQQ6UYiTaQCJmbSephEaauMUeIwwXqnOdrtY4gIkStEg/Dijx07NiM6Cwh+F2nlFp3F6OfYsMSF33M1TQfV/Q2DmEY+l19+ubV6b8w6qFKC88H1SZr3NddcY+l3iDVSHsNjz7FlDCRiRjMc6tQQa8UWscQJx4Zo49ojckt3SL4va2IuX77cvhMLTvMaRCi1knx/ooc8z/cmXdF/pjkN657xGn7meOI06Ny5s0XI2Lg+JcyEEMWARJooOFyCGCMsiurdHP2yZCIl2jF69OjomGOOsclZBqCoC0SJWMiaNvMYeyF41+kSSgfCchT/HI/FixdHQ4cOrVoQOF6f5iRNFdyLGLykkBEVIZomJ0rdQZgwBpIOiEBbunSpCZf4uSAqRJRyp512MscD4oPf81Hj1dggUn1DvPHdw2wKv/74e3gt+nwQRtnY+J3jwvUpUSaEKEYk0kTBwUBhcVGiaHhKwxoY0lGos6COgWL4UjBGRONSk0hDXFCXwoK55dgogOGfY+LRG9a3ItXYO+Lxd+45Nn73mqj4tMF9yrpUCF4aWJTjsawPiBCiPXSzJRKJSEOscfzDY4zoIKpEtOg3v/mN1agVQ3qjEEKI+iORJgoKBp8vWk3LZgwUB6Nk8803tzTHbt26yUMv6gXdQjGAb7vttozrC6hL4fpiXaRiSxdrSBAFRG5IMXvjjTcs3YxmKzRYIALRsmVLa04xe/bsaMyYMXZMw6mD1xDRofU6HR0L2V2wGODYIY45jrfeemt03333RStXrrRzwJgYgkBGBLdr185qK/fbbz/LKCjn61UIIcoBiTRRUDBKpk2bZnUV1KR5eg/eYU9zPPbYY5XmKOoNxjANMog+ECXyIQ/jFxHy1FNPWWe3co/Sclw8xcwjOWyeNsaGqDjqqKNMrBEBCgUFr+M+JaLGQsYu1HTf/gDHk8wBIpJvv/22iS4ag/B7mNoHYfTs8MMPt9cSPaOmSql7QghR+kikiYKBUUJHL9IcFyxYkJGKhiHCAri0laZuqNwNaFF/EBI0yDj66KOj119/3a4zDGAiPyz8S2c8mjBITNQOx27JkiUW+aZ1ebxbpkfUWCZj1KhRtvC8Gol8L84Qvhyvd955J7ruuuuil19+2SK78cYgwHin6JkQQpQ3EmmiIHDZ0c2LFDQWOw3TpyjypuseAg2hhpEnxLqAuKDlNws0k85HdGLvvfeOjj/+ePuZa07UDvcoooLa0b59+5qThWMbTiMINQQGXfVGjBhRUs0t6oOnkpI+ynj35z//2cY+jmM8tRExS/SRa5JmNoqeCSFE+SKRJgoChgvRs6RmIRgoZ555ZnTWWWcpwiEaDK4xBAWPbgxT56gobd0hIkS7dFJIiazFlzbg+HJsSVm+7LLL7D4nElROjS64zjgu1JrdfvvtJs74meeSOmjiKEDM0jr+97//fbTHHnsoeiaEEGWMRJpodLjkaBZCC2mMl7CZA4bzlltuGT399NPRFltsoQiHECmEe5joEO37SSOl0QgCOB4ZQmAgPIiqXXLJJdY6nt95vlTFWijOqM2jqygNWThe8bozwEmAeKU5C5HdU045xZxTjIWKngkhRPkikSYaHdJ8WDyXRXTXrFmT0SyEZgM33XRTdOihh5oXWQiRTlyo0fiCur6XXnrJImxJKXyIEO5numgSIafWipRInDClINY4Fogzjgfi7M4777TlDFycMcbFp1oEGEKM49KvXz8TZ+FxEUIIUd5IpIlGhcuNLo40HnjggQfMgHEw5HbddVerRWP9KnmRhUg33M84XVjna9iwYdHMmTNNqPFcHO5n7nGiREOGDDFHTNu2bU2UFGtkDfHFd+U7z58/Pxo/fnz0+OOPW3aApzXGp1i+p0cYd9ttNxNnu+++e8lHGIUQQtQNiTTRqJAS5VE02qF7FA0DjmYhLCy8zz77qFmIEEUEQgVhgkg79dRTzRHDve73dwhRIsQatafHHHOMLVbPEgiINZ5Pe40gU6anNK5atSqaPn169MQTT9i45t0ak743IML4nltttVV08sknWwSN46DURiGEEHEk0kSjwaWG8YYRx7pVYRQNUUa3vXvvvdfEmgwWIYoL0hy9xTzR8Pvvv9+6GFKHlTTNeC0WESREGrVtvXv3tgXGGQ8QLrwmDZEl9p/vgTBj++CDD6K77rrL1otbsWKFjWUIt3iqp+PibJNNNokGDx5s4oyf+Z5qXCOEECIJiTTRaOBhnjdvXnTAAQdYLZobNAgy1kIjitanTx9F0YQoUphOECuIM0TaPffcU2PTDPD0P+57BBuLYXfr1s3WWtt8881NyPF3jzY1lgOHaBjfhYgg23vvvWeRwieffNKEGWLNo4VJ06h/LxdndKz1Wlu+q+rOhBBC1IREmmg0PIo2adKkrCjaIYccEt1yyy2KoglRAiBcEDGffvqprQ3GPf/555/bc9WJNeDeR9ggzNgQadtss020//77myOH7pCIGzYiUDy6cAu3XKNvTH84i9gnHnEkMTYhvli7kRTGhQsXRk899VS0evXqKsFWXXQQ+P98BwRnmzZtLHIWijNFzoQQQuSCRJpoFPBI41Hv2bOnGTtJUTRq0TDMhBClgddusZA4y22Q5hyKtZqmH4QW4wMRNI+kIco23XTT6Oc//3nUvn17W4eNjoi8joYktLHnkS0kFG3h/+TnpUuX2pIgdKlkbJo2bZo9539HlPE9ahKXwL6xj4gzFuGn3o7MAMQZ45rEmRBCiLogkSYaBbzS55xzTvTggw9aKpSDZ1m1aEKUNqFYe+ihh6zRhtdyEb2qrpYrjgs3j6LxyO/xjdfFo2k06AjHHuD/JkXSfFqMf0Yc/o6AZBxr3rx5dNBBB9l4RpdaxJmnaAohhBB1RSJN5B1SnzDI+vfvb22q3SONgYMwo25FHR2FKH249xFrdEWkPpXmG3PmzLHnEEeIuVwFW74Ip8QkkcZzCETGKyJkrVu3jk488UQTZvxMDZqnYQohhBD1RSJN5B2ML9ZEY2006tL8ksPL3KlTJ6v3oKObjBohygOPWiHO6Ag5ZcoUa2U/Y8YMe46/sVXXlCOfxP8fooyxyVMuEWbbbrutpTSecMIJFkFzwUZkL0nYCSGEEHVFIk3kHdZDGzhwYDR16lSr73CoJ7nqqqui4447zlKDhBDlh3dRxJlDTdgbb7xhXRRp2LFkyRITa0TgeA2vZctntM2nRMQW4ovIGIvr08CEmtrtttsu6tq1q9WeIcwQb0IIIURDI5Em8grGlTcMIcXJjSs8zqQGsZ4SaySRHiSEKG9csCHMcOh89NFH0aJFi0ysffzxx9bc45NPPrEaVxdsLtqYysJHqGl68wgZj17bxjjE77yfBiWs20aN2RZbbGGbR9L89UIIIUS+kEgTeYVUprFjx0YjRoywVEcH7/Sxxx4bXX311dGGG26oFCEhRAYutjyKxiObCzM6MDKm0OafhiS8nuffffddS0FcuXJltSKN8YZGIgitrbbaykQXnSHpGkkKNngbfaJpXmOmcUoIIURjIZEm8soXX3xRtTZamOpI233WRevXr595poUQIldcwOUjkqYomRBCiDQgkSbyBoYS3mzqN3h0wwkjiEVeZ82aFbVo0UIGkRBCCCGEEAGyjkXeIDWJBgBE0FygAWlEvXr1sjQiCTQhhBBCCCEykYUs8gbF/4sXL7bHENIbia4pzVEIIYQQQohsJNJE3kCc0ZktFGnUf7hIU+tqIYQQQgghspFIE3mDjmwvvfSSpT061KNtvfXW0WabbWY/CyGEEEIIITKRSBN5gRq0L7/80oRaWI9G9zQEGusNqZ21EEIIIYQQ2UikibyAMFu2bFlWC2xEWvv27RVFE0IIIYQQohok0kReQJyxEGwYRQPE2aabbmpiTQghhBBCCJGNRJrIG99+++3an36AlvutWrVS630hhBBCCCGqQZayyBtJNWc855sQQgghhBAiG4k0kRc8YpZUexavUxNCCCGEEEL8gESayAuINK89C1MbqVH75ptvsmrVhBBCCCGEEN8jkSbyAumMtNnfeeedM5qE0JJ/yZIl9iiEEEIIIYTIRiJN5A1EWteuXe3R+de//hXNnDkz+uc//6m0RyGEEEIIIRKQSBN5A3HWrVu36Cc/+UlVyuP//M//RAsWLIhWrFihaJoQQgghhBAJSKSJvEGa46677hp17969KppG9Ozvf/97NHbsWGvRj2gTQgghhBBC/IBEmsgbRM9Y0HrIkCH26NE0Uh3/9Kc/RTfccEP09ddfK6ImhBBCCCFEwL9fVsnan4VocBBmLVq0iN56663or3/9q0XO6Oz4v//7v/bcJ598ErVr186e/+677yzKhnBbvXq1te/n/Ult/IUQQgghhChVflSh7g0iz9As5KOPPooGDBgQvfnmm9E//vEPS3tEfFGvxrbRRhtFrVu3ttch0hBnhx9+eHT55ZdHG2ywQVUUTgghhBBCiFJHIk00CggzBNrQoUOjxYsX2+/xtdJciPE8Aq558+bRuHHjor333jujjb8QQgghhBCljMITolH48Y9/HHXu3DmaOHFi1KdPn2jjjTe2OrUwlZEUSC1yLYQQQgghyh1F0kSjQuojdWdvv/12dNddd1k7flIcqUdbb731TLSxEDaPhx12WDR8+HClOwohhBBCiLJCIk00OlxyiDW6PJL2+MEHH0TNmjWLVq1aZbVp66+/vv2tadOm0U9/+tPoP//zP9e+UwghhBBCiNJHIk0UlOouP6JpQgghhBBClCMSaUIIIYQQQgiRIlToI4QQQgghhBApQiJNCCGEEEIIIVKERJoQQgghhBBCpAiJNCGEEEIIIYRIDVH0/wEAS/P5fqBk2AAAAABJRU5ErkJggg== description: > The base64-encoded data sent when a signature is captured as a Portable Network Graphics (PNG) file. SignatureFormat: type: string minLength: 1 maxLength: 1 example: P enum: - P description: | The data format the signature data will be in. "P" for PNG format. Signature: type: object properties: data: $ref: '#/components/schemas/SignatureData' format: $ref: '#/components/schemas/SignatureFormat' SurchargeResult: type: string enum: - P - F description: | Result of the surcharge eligibility check: | Value | Description | |-------|---------------------------------------------| | P | Pass - Card is eligible for surcharging | | F | Fail - Card is not eligible for surcharging | RulesTransactionId: type: string readOnly: true maxLength: 20 description: | Transaction ID for the rule check SurchargeTransactionResponse: type: object description: > Object containing surcharge information. **Conditional: Returned in the response if Surcharge was applied during the payment flow of a Commerce Engine controlled device.** properties: result: $ref: '#/components/schemas/SurchargeResult' transactionId: $ref: '#/components/schemas/RulesTransactionId' percentage: $ref: '#/components/schemas/SurchargePercentage' TransactionAuthorizationCode: type: string maxLength: 6 example: '198399' description: > The authorization code provided by the consumer’s issuing bank. It is provided in a response if an online authorization or sale request is approved. Following a referral response, it is also specified in [Manual Sale](/apis/payments-platform-rest/openapi/transactions/manualsale) requests. TransactionAuthSource: type: string minLength: 1 maxLength: 1 readOnly: true example: E enum: - E - O - A - F description: > In a response, a code returned by the processor to indicate which host issued the response. Value | Description -------|---------------------------- E | Engine (Online) O | Offline A | APM (Online) F | Payment Platform (Online) HostResponseReasonCode: type: string maxLength: 3 example: '04' description: > Returns a response code from the host. Value |Category|Description ------|--------|----------- 04 | 1 | Pick Up Card 07 | 1 | Pick Up Card, Special Condition 12 | 1 | Invalid Transaction 15 | 1 | No Such Issuer 41 | 1 | Lost Card 43 | 1 | Stolen Card 46 | 1 | Closed Account 57 | 1 | Trans. not Permitted to Cardholder R0 | 1 | Stop Payment Order R1 | 1 | Revocation of Auth Order R3 | 1 | Revocation of all Authorization 03 | 2 | Invalid Merchant 19 | 2 | Re-enter Transaction 51 | 2 | Not sufficient funds 59 | 2 | Suspected Fraud 61 | 2 | Exceeds approval amount limit 62 | 2 | Restricted Card (card invalid in region or country) 65 | 2 | Exceeds withdrawal frequency limit 75 | 2 | Allowable number of PIN-entry tried exceeded 78 | 2 | Blocked, first used 86 | 2 | Cannot Verify PIN 91 | 2 | Issuer or switch inoperative 93 | 2 | Transaction cannot be completed - violation of law 96 | 2 | System malfunction N3 | 2 | Cash service not available N4 | 2 | Cash request exceeds issuer of approved limit 14 | 3 | Invalid Account 54 | 3 | Expired card or expiration date missing 55 | 3 | PIN incorrect or missing 70 | 3 | PIN data required 82 | 3 | Negative Online CAM, dCVV, iCVV, or CVV results 1A | 3 | Additional customer authentication required N7 | 3 | Decline for CVV2 Failure 05 | 4 | Do not honor 06 | 4 | General error 08 | 4 | Honor MasterCard with ID 13 | 4 | Invalid amount 21 | 4 | Invalid amount 30 | 4 | Format error 39 | 4 | No credit account 52 | 4 | No checking account 53 | 4 | No savings account 58 | 4 | Transaction not permitted-Terminal 63 | 4 | Security violation 66 | 4 | Card Acceptor call Acquirer’s security dept 67 | 4 | Hard capture (requires ATM pick-up) 68 | 4 | Response received too late 71 | 4 | PIN Not Changed 76 | 4 | Unsolicited reversal 77 | 4 | Invalid Data including AVS failures. 79 | 4 | Already reversed at switch 80 | 4 | No Financial impact 81 | 4 | Cryptographic error 92 | 4 | Unable to route transaction 94 | 4 | Duplicate Transaction B1 | 4 | Surcharge amount not permitted on debit cards or EBTfoodstamps B2 | 4 | Surcharge amount not supported by debit network issuer CV | 4 | Card Type VerificationError EA | 4 | Acct Length Err EB | 4 | Check Digit Err EC | 4 | CID Format Error HV | 4 | Hierarchy Verification Error N0 | 4 | Force STIP P5 | 4 | PIN Change/Unblock failed P6 | 4 | New PIN not accepted Z3 | 4 | Unable to go online; offline-declined \-38 | 4 | The transaction has been denied by the Gateway because 3D secure Authentication failed. Reason: {}

Note: The “Reason” part is optional and may appear according to detected reason. | D2 | 4 | Decline Retry Later All other, generic declines may be classified as a Category 4 response code. HostResponseReasonDescription: type: string maxLength: 73 example: Pick Up Card description: | Returns a description from the host. HostResponseReattemptPermission: type: string maxLength: 40 example: Reattempt not permitted description: > Returns one of the following values: Value |Description ----------------------------------------|----------- Reattempt not permitted | Returned when the reasonCode returned is classified as a Category 1 response code. Reattempt permitted 15 times in 30 days | Returned when the reasonCode returned is classified as a Category 2 or Category 3 response code. Reattempts permitted | Returned when the reasonCode returned is classified as a Category 4 response code. HostResponse: type: object description: | Returns the response code detailing why the transaction was declined. **Notes:** - **For Visa, the response codes are categorized, detailing how declined transactions may be re-attempted for approval. To avoid fees, merchants are responsible for preventing additional attempts based on the information returned.** - **Support for this field is dependent on the processor. Our demo environment does not return this field in the response.** properties: reasonCode: $ref: '#/components/schemas/HostResponseReasonCode' reasonDescription: $ref: '#/components/schemas/HostResponseReasonDescription' reattemptPermission: $ref: '#/components/schemas/HostResponseReattemptPermission' TransactionResponseCode: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A - C - D - e - f - P - R - X - S - I description: > Code indicating the Shift4 host response. Value | Description | Details -------|---------------------------------------------------------------------------------------|-------- A | Approved | The transaction is approved. C | Approved | The transaction is approved without requiring additional authorization because it is less than or equal to a ceiling amount. (The ceiling amount is the original authorization amount multiplied by the tolerance per the merchant’s settings with Shift4.) D | Declined | The transaction is declined. Note: Shift4 automatically declines AVS/CSC failures if the [POSHANDLEAVSFAIL Api Option](/guides/appendices/api-options#poshandleavsfail) was not sent in the request. e | [Error](/guides/appendices/error-codes) | There is an error condition. f | [AVS or CSC failure](/guides/response-handling/understanding-avs-and-csc-verification)| An AVS or CSC failure has occurred (credit card only). Note: This value will only be returned if the [POSHANDLEAVSFAIL Api Option](/guides/appendices/api-options#poshandleavsfail) was sent in the request. P | [Partial approval](/guides/advanced-concepts/partial-approval) | A partial approval has occurred. Check `amount.total` for the approved amount. R | Voice referral | The transaction requires a voice referral. [blank]| Status is unknown | The approval status is unknown. X | Expired card | There is an error condition due to the card being expired. S | SCA Online PIN required | The contactless EMV transaction requires strong customer authentication to continue. The terminal must gather the online PIN if supported by the device form factor and CVM list then resubmit the transaction request. I | SCA Interface switch required | The contactless EMV transaction requires strong customer authentication to continue. The terminal must look at the form factor indicator to determine if the transaction should be declined, switched to EMV contact or tapped again using CDCVM. J | Soft decline after exemption request | Transaction was soft declined. Returned when requesting an exemption by sending `transaction.exemptionAction = 02` and the card issuer rejects the exemption. TransactionRetrievalReference: type: string readOnly: true maxLength: 12 example: 402F9H0230S0 description: > Reference retrieval number assigned by the authorizing agency. This value is printed on some receipts. TransactionSaleFlag: type: string maxLength: 1 readOnly: true example: S enum: - A - C - S description: > Specifies a transaction is a sale (‘S’) or credit (‘C’). In an [Invoice Information](/apis/payments-platform-rest/openapi/transactions/getinvoice) request, an 'A' may be returned to differentiate an authorization from a sale. AVSPostalCodeVerified: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' description: > Identifies whether the ZIP/postal code was verified (‘Y’) or not (‘N’) in an AVS check with a processor. AVSResult: type: string minLength: 1 maxLength: 1 example: X enum: - A - E - G - 'N' - R - S - U - W - X - 'Y' - Z - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' description: > Identifies the response code returned from an Address Verification System (AVS) check with a processor. Value|Description -----|----------- A | Street address matched, but ZIP/postal code did not match. E | Error (AVS data is invalid or not allowed). G | Card issuer does not participate in AVS. N | No street address and no ZIP/postal code match. R | Card issuer system is unavailable. S | AVS service not supported. U | Street address information unavailable. W | Street address did not match, but ZIP/postal code matched. X | Street address and 9-digit ZIP/postal code matched. Y | Street address and 5-digit ZIP code matched. Z | Only the ZIP/postal code matched. 1 | Cardholder name and ZIP match 2 | Cardholder name, address, and ZIP match 3 | Cardholder name, address match 4 | Cardholder name matches 5 | Cardholder name incorrect, ZIP matches 6 | Cardholder name incorrect; address and ZIP match 7 | Cardholder name incorrect; address matches 8 | Cardholder name, address, and ZIP do not match AVSStreetVerified: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' description: > Identifies whether the street number was verified (‘Y’) or not (‘N’) in an AVS check with a processor. AVSValid: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' description: > Simplified AVS result based on the merchant’s list of accepted responses as configured with Shift4: (‘Y’) if accepted or (‘N’) if not accepted. AVS: type: object readOnly: true properties: postalCodeVerified: $ref: '#/components/schemas/AVSPostalCodeVerified' result: $ref: '#/components/schemas/AVSResult' streetVerified: $ref: '#/components/schemas/AVSStreetVerified' valid: $ref: '#/components/schemas/AVSValid' RiskTranId: type: string example: DDWT0P3LG6LL description: > This is the unique transaction ID for this response from the 3rd party risk provider. Store this value and use it to find additional details about this transaction within the 3rd party risk provider's UI. RiskAssessmentDeny: type: string enum: - D example: D description: | This is the answer to the risk assessment. Value| Description -----|------------ D | Deny. Try another payment method RiskResponseDeny: type: object description: | Returned if risk assessment was performed and not approved. properties: tranId: $ref: '#/components/schemas/RiskTranId' assessment: $ref: '#/components/schemas/RiskAssessmentDeny' UniversalTokenValue: type: string maxLength: 50 example: 97032276-5944-00000001-16985FD179D description: | An identifier for a card or payment account across all Shift4 merchants. UniversalToken: type: object properties: value: $ref: '#/components/schemas/UniversalTokenValue' PaymentAccountReference: type: string maxLength: 35 example: 05280D8G7Q04UZBI7NOSPGSURP130 description: > The Payment Account Reference (PAR) is a value assigned by the BIN Controller, which is defined as either an issuer or card brand. This field is associated directly with the cardholder's account. This value enables merchants, acquirers, and payment processors to link a payment token to a cardholder’s underlying payment account. LighthouseResponse: type: object readOnly: true properties: data: $ref: '#/components/schemas/LighthouseDataResponse' AmountTaxNotRequired: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. All other fields are for informational purposes and must also be included in the `total` field. For example, a purchase of $100 with a $20 tip and $8 tax would be `128.00` in the `total` field, `20.00` in the `tip` field and `8.00` in the `tax` field. required: - total properties: cashback: $ref: '#/components/schemas/AmountCashback' iiasAmounts: $ref: '#/components/schemas/IIASAmountsArray' surcharge: $ref: '#/components/schemas/AmountSurcharge' tax: $ref: '#/components/schemas/AmountTax' taxIndicator: $ref: '#/components/schemas/AmountTaxIndicator' tip: $ref: '#/components/schemas/AmountTip' total: $ref: '#/components/schemas/AmountTotal' checkTotal: $ref: '#/components/schemas/AmountCheckTotal' AutoDistanceDriven: type: integer maxLength: 5 example: 167 description: | The amount of distance the cardholder drove the vehicle. AutoDistanceUnit: type: string minLength: 1 maxLength: 1 enum: - M - K description: | The unit of measure that corresponds to the `distanceDriven` field. Value|Description -----|----------- M | Miles K | Kilometers AutoLateAdjustment: type: number maxLength: 14 example: 35 description: > A dollar amount for late adjustment fees for an auto rental, including refueling charges, a surcharge, or charges for damage incurred during use. AutoNoShowIndicator: type: string minLength: 1 maxLength: 1 example: 'N' enum: - 'Y' - 'N' description: | Indicates whether or not the cardholder picked up a reserved rental car. Value|Description -----|----------- Y | customer did not pick up the rental car N | customer did pick up the rental car AutoAdditionalChargesGasoline: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' AutoAdditionalChargesLateReturn: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' AutoAdditionalChargesMileage: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' AutoAdditionalChargesOneWayServiceFee: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' AutoAdditionalChargesViolationFee: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' AutoAdditionalCharges: type: object description: > The codes used to provide a reason for additional charges in an auto rental sale. Multiple codes can be specified for the same transaction. properties: gasoline: $ref: '#/components/schemas/AutoAdditionalChargesGasoline' lateReturn: $ref: '#/components/schemas/AutoAdditionalChargesLateReturn' mileage: $ref: '#/components/schemas/AutoAdditionalChargesMileage' oneWayServiceFee: $ref: '#/components/schemas/AutoAdditionalChargesOneWayServiceFee' violationFee: $ref: '#/components/schemas/AutoAdditionalChargesViolationFee' AutoDriverLicense: type: string maxLength: 20 example: '1889624485' description: | The cardholder's driver's license number. AutoDriverName: type: string maxLength: 35 example: John Smith description: > In a sale/authorization request for an auto rental, the customer’s name exactly as it appears on their driver’s license. AutoDriverTaxNumber: type: string maxLength: 20 example: '192012838' description: | This field contains the driver’s Tax Identification Number. AutoDriver: type: object properties: license: $ref: '#/components/schemas/AutoDriverLicense' name: $ref: '#/components/schemas/AutoDriverName' taxNumber: $ref: '#/components/schemas/AutoDriverTaxNumber' AutoRentalAgreement: type: string maxLength: 9 example: '123203592' description: | Contract number for an auto rental agreement. AutoRentalCity: type: string maxLength: 18 example: Las Vegas description: | City where rental car was picked up. AutoRentalCountryCode: type: string maxLength: 3 example: '840' description: | Country where rental card was picked up. AutoRentalPostalCode: type: string maxLength: 9 example: '83145' description: > Postal Code where rental car was picked up in U.S. postal abbreviation format. AutoRentalRegion: type: string maxLength: 2 example: NV description: > Region (State) where rental car was picked up in U.S. postal abbreviation format. AutoRental: type: object description: | Information relating to where the rental card was picked up. properties: agreement: $ref: '#/components/schemas/AutoRentalAgreement' city: $ref: '#/components/schemas/AutoRentalCity' countryCode: $ref: '#/components/schemas/AutoRentalCountryCode' dateTime: $ref: '#/components/schemas/DateTime' postalCode: $ref: '#/components/schemas/AutoRentalPostalCode' region: $ref: '#/components/schemas/AutoRentalRegion' AutoReturnCity: type: string maxLength: 18 example: Las Vegas description: | City where rental car was returned. AutoReturnCountryCode: type: string maxLength: 3 example: '840' description: | Country where rental card was returned. AutoReturnPostalCode: type: string maxLength: 9 example: '17721' description: > Postal Code where rental car was returned in U.S. postal abbreviation format. AutoReturnRegion: type: string maxLength: 2 example: NV description: > Region (State) where rental car was returned in U.S. postal abbreviation format. AutoReturn: type: object description: | Information relating to where the rental car was returned properties: city: $ref: '#/components/schemas/AutoReturnCity' countryCode: $ref: '#/components/schemas/AutoReturnCountryCode' dateTime: $ref: '#/components/schemas/DateTime' postalCode: $ref: '#/components/schemas/AutoReturnPostalCode' region: $ref: '#/components/schemas/AutoReturnRegion' AutoCheckOut: type: object description: | **Conditional: Utilize this object for Auto Rental transactions** properties: distanceDriven: $ref: '#/components/schemas/AutoDistanceDriven' distanceUnit: $ref: '#/components/schemas/AutoDistanceUnit' lateAdjustment: $ref: '#/components/schemas/AutoLateAdjustment' noShowIndicator: $ref: '#/components/schemas/AutoNoShowIndicator' additionalCharges: $ref: '#/components/schemas/AutoAdditionalCharges' driver: $ref: '#/components/schemas/AutoDriver' rental: $ref: '#/components/schemas/AutoRental' return: $ref: '#/components/schemas/AutoReturn' CardOnFileTypeCapture: type: string enum: - U08 example: U08 description: > This field specifies the type of the card-on-file transaction. | Value | Initiator | Recurring | 3D Secure | Description | |--------|------------|-----------|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | U08 | Merchant | No | No | Identifies a transaction as an Incremental COF transaction. For example, a hotel which authorized a customer’s card for one night at check-in might increase the authorization amount to cover two nights when the customer decides to extend their stay. Shift4 automatically detects this scenario and sends the appropriate value to the processor. | See the [Card On File Transactions](/guides/advanced-concepts/card-on-file-transactions) section for additional details. HotelArrivalDateTime: type: string example: '2021-04-12T15:39:01.594-07:00' description: > Arrival date and time of a guest’s hotel stay ISO8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). For hotel transactions that are a straight sale (such as advanced deposit, no-show charge, and late charges), the arrival date needs to be one day before the sale date. HotelDepartureDateTime: type: string example: '2021-04-15T09:18:23.283-07:00' description: > Departure date and time of a guest’s hotel stay ISO8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). For hotel transactions that are a straight sale (such as advanced deposit, no-show charge, and late charges), the departure date needs to be the day of the sale. HotelPrimaryChargeType: type: integer minLength: 1 maxLength: 1 example: 1 enum: - 1 - 2 - 3 description: | Guest’s transaction type at a hotel. Value|Description -----|----------- 1 | Lodging 2 | Restaurant 3 | Gift Shop HotelSpecialCode: type: integer minLength: 1 maxLength: 1 example: 1 enum: - 1 - 2 - 3 - 4 - 5 - 6 description: > This field is used to provide additional detail for lodging transactions. If a lodging charge does not match one of the listed descriptions, the default value of ‘1’ should be sent in the request. When a value of ‘4’ is sent, the `additionalCharges` field needs to be sent as well. Value|Description -----|----------- 1 | No Special Code 2 | Assured Reservation/No Show 3 | Advance Deposit 4 | Delayed Charge 5 | Express Check-Out Service 6 | Assured Reservation/Normal HotelAdditionalChargesGiftShop: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' HotelAdditionalChargesLaundry: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' HotelAdditionalChargesMiniBar: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' HotelAdditionalChargesOther: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' HotelAdditionalChargesRestaurant: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' HotelAdditionalChargesTelephone: type: string minLength: 1 maxLength: 1 example: 'Y' enum: - 'Y' - 'N' HotelAdditionalCharges: type: object description: > Reason codes for additional charges in a lodging sale request at the time a consumer checks out. properties: giftShop: $ref: '#/components/schemas/HotelAdditionalChargesGiftShop' laundry: $ref: '#/components/schemas/HotelAdditionalChargesLaundry' miniBar: $ref: '#/components/schemas/HotelAdditionalChargesMiniBar' other: $ref: '#/components/schemas/HotelAdditionalChargesOther' restaurant: $ref: '#/components/schemas/HotelAdditionalChargesRestaurant' telephone: $ref: '#/components/schemas/HotelAdditionalChargesTelephone' HotelRoomRatesNights: type: integer maxLength: 2 example: 2 description: | The number of nights being charged at this rate. HotelRoomRatesRate: type: number maxLength: 14 example: 159.95 description: | The per night room rate. HotelRoomRates: type: object properties: nights: $ref: '#/components/schemas/HotelRoomRatesNights' rate: $ref: '#/components/schemas/HotelRoomRatesRate' HotelRoomRatesArray: type: array items: $ref: '#/components/schemas/HotelRoomRates' example: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 description: | Room rates broken down by rate and number of nights. HotelCheckOut: type: object description: | **Conditional: Utilize this object for Hotel transactions** properties: arrivalDateTime: $ref: '#/components/schemas/HotelArrivalDateTime' departureDateTime: $ref: '#/components/schemas/HotelDepartureDateTime' primaryChargeType: $ref: '#/components/schemas/HotelPrimaryChargeType' specialCode: $ref: '#/components/schemas/HotelSpecialCode' additionalCharges: $ref: '#/components/schemas/HotelAdditionalCharges' roomRates: $ref: '#/components/schemas/HotelRoomRatesArray' transactions_capture_token_gtv: title: GTV Token required: - dateTime - amount - card - clerk - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' apiOptions: $ref: '#/components/schemas/ApiOptions' amount: $ref: '#/components/schemas/AmountTaxNotRequired' currencyCode: $ref: '#/components/schemas/CurrencyCode' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequired' clerk: $ref: '#/components/schemas/Clerk' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: type: object description: > **Conditional: Send this object only if the capture amount exceeds the authorized amount.** See the [Card On File Transactions](/guides/advanced-concepts/card-on-file-transactions) section for more information. properties: type: $ref: '#/components/schemas/CardOnFileTypeCapture' transactionId: $ref: '#/components/schemas/CardOnFileTransactionId' transactionLinkId: $ref: '#/components/schemas/CardOnFileTransactionLinkId' hotel: $ref: '#/components/schemas/HotelCheckOut' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: token: value: '8048471746471119' clerk: numericId: 1576 transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'N' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'N' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_capture_token_legacy: title: Legacy TrueToken required: - dateTime - amount - card - clerk - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' apiOptions: $ref: '#/components/schemas/ApiOptions' amount: $ref: '#/components/schemas/AmountTaxNotRequired' currencyCode: $ref: '#/components/schemas/CurrencyCode' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequiredLegacy' clerk: $ref: '#/components/schemas/Clerk' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: type: object description: > **Conditional: Send this object only if the capture amount exceeds the authorized amount.** See the [Card On File Transactions](/guides/advanced-concepts/card-on-file-transactions) section for more information. properties: type: $ref: '#/components/schemas/CardOnFileTypeCapture' transactionId: $ref: '#/components/schemas/CardOnFileTransactionId' transactionLinkId: $ref: '#/components/schemas/CardOnFileTransactionLinkId' hotel: $ref: '#/components/schemas/HotelCheckOut' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: token: value: 11191pn83hbkkety serialNumber: '123456' clerk: numericId: 1576 transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'N' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'N' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' CardToken: type: object description: | **Conditional: Send this object when using a card on file.** properties: value: $ref: '#/components/schemas/CardTokenValue' AmountTipBasis: type: number maxLength: 14 example: 130 description: > The amount Commerce Engine will use to calclulate the tip percentage amounts on the tip screen. This is an optional field that will be used instead of `amount.total` in a scenario where the percentage calculations must be made on an amount other than the total amount. For example, you have a $130 check and you make an initial payment of $30 using a gift card leaving a $100 remaining balance. When you process the remaining balance and you want to calculate the tip percentages based on the original $130 check total you would send `amount.total = 100` and `amount.tipBaiss = 130` AmountObjectCommerceEngineSale: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. All other fields are for informational purposes and must also be included in the `total` field. For example, a purchase of $100 with a $20 tip and $8 tax would be `128.00` in the `total` field, `20.00` in the `tip` field and `8.00` in the `tax` field. Note: For merchants that are configured to allow multiple currencies, the amount fields can specify up to three decimal places. However, the number of decimal places can not exceed the number allowed for the specified currency. See the [Currency Codes](/guides/appendices/currency-codes) section for details. required: - total - tax properties: total: $ref: '#/components/schemas/AmountTotal' tax: $ref: '#/components/schemas/AmountTax' taxIndicator: $ref: '#/components/schemas/AmountTaxIndicator' cashback: $ref: '#/components/schemas/AmountCashback' iiasAmounts: $ref: '#/components/schemas/IIASAmountsArray' tip: $ref: '#/components/schemas/AmountTip' tipBasis: $ref: '#/components/schemas/AmountTipBasis' checkTotal: $ref: '#/components/schemas/AmountCheckTotal' transactions_sale_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - amount - clerk - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectCommerceEngineSale' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' tip: $ref: '#/components/schemas/TipObject' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie transactions_sale_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - amount - clerk - transaction - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectCommerceEngineSale' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: $ref: '#/components/schemas/DeviceCommerceEngineCloud' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' tip: $ref: '#/components/schemas/TipObject' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie transactions_sale_utgdevice: title: UTG Controlled Device type: object required: - dateTime - amount - clerk - transaction - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptPostalCode: $ref: '#/components/schemas/DevicePromptPostalCode' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' promptStreetNumber: $ref: '#/components/schemas/DevicePromptStreetNumber' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 device: terminalId: '1742' transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie LighthouseDataRequest: type: string example: >- eyJsaWdodGhvdXNlIjp7ImVtcGxveWVlaWQiOjEyMzQsImRldmljZWlkIjoiMTIzU0FCViJ9fQ== description: > **Conditional: Send only when processing SkyTab transactions.** Base64 encoded JSON formatted data that will be passed through to Lighthouse for SkyTab transactions. This data will contain variable information. LighthouseRequest: type: object writeOnly: true properties: data: $ref: '#/components/schemas/LighthouseDataRequest' transactions_sale_token_gtv: title: GTV Token type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' exemptionAction: $ref: '#/components/schemas/TransactionExemptionAction' exemptionReason: $ref: '#/components/schemas/TransactionExemptionReason' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' lighthouse: $ref: '#/components/schemas/LighthouseRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: '8048471746471119' clerk: numericId: 1576 transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda lighthouse: data: >- eyJsaWdodGhvdXNlIjp7ImVtcGxveWVlaWQiOjEyMzQsImRldmljZWlkIjoiMTIzU0FCViJ9fQ== reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_token_legacy: title: Legacy TrueToken type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' exemptionAction: $ref: '#/components/schemas/TransactionExemptionAction' exemptionReason: $ref: '#/components/schemas/TransactionExemptionReason' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' lighthouse: $ref: '#/components/schemas/LighthouseRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: 11191pn83hbkkety serialNumber: '123456' clerk: numericId: 1576 transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda lighthouse: data: >- eyJsaWdodGhvdXNlIjp7ImVtcGxveWVlaWQiOjEyMzQsImRldmljZWlkIjoiMTIzU0FCViJ9fQ== reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_p2pe_idtech: title: P2PE - ID TECH - EMV/MSR/Manual type: object required: - dateTime - amount - clerk - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' customer: $ref: '#/components/schemas/Customer' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' lighthouse: $ref: '#/components/schemas/LighthouseRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' apiOptions: - ALLOWPARTIALAUTH amount: cashback: 20 tax: 15 tip: 20 total: 160 card: present: 'Y' clerk: numericId: 1576 p2pe: data: >- 02df00801f2e1e00939b252a323232312a2a2a2a2a2a2a2a303030395e4d43322f4455414c20545241434b5e2a2a2a2a2a2a2a2a2a2a3f2a3b323232312a2a2a2a2a2a2a2a303030393d2a2a2a2a2a2a2a2a2a2a3f2aa0744ac45073ef2e516cd6b1111c990effb75fbe6521e40be763593c385c6c7cdcd41ffbabb59cd6c999bfe636dff9ef8408e38906db0fdc7497df96a3e8f564b9a4e1bd802f326eb9848b447512384700000000000000000000000000000000000000000000000000000000000000000000000000000000383237543839303939306299495001000000000521d503 format: '02' transaction: invoice: '192029' notes: Transaction notes are added here hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie lighthouse: data: >- eyJsaWdodGhvdXNlIjp7ImVtcGxveWVlaWQiOjEyMzQsImRldmljZWlkIjoiMTIzU0FCViJ9fQ== reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_p2pe_tdesdukpt_emv: title: P2PE - TDES DUKPT - EMV type: object required: - dateTime - amount - clerk - transaction - device - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' accountType: $ref: '#/components/schemas/AccountType' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' emv: $ref: '#/components/schemas/EMV' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' lighthouse: $ref: '#/components/schemas/LighthouseRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401015A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C317998407A00000000310109F100706010A03A0A000573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B39F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: format: '05' ksn: FFFF49517300010000CA transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie lighthouse: data: >- eyJsaWdodGhvdXNlIjp7ImVtcGxveWVlaWQiOjEyMzQsImRldmljZWlkIjoiMTIzU0FCViJ9fQ== reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' emv: $ref: '#/components/schemas/EMVFallbackOnly' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' lighthouse: $ref: '#/components/schemas/LighthouseRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' notes: Transaction notes are added here hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie lighthouse: data: >- eyJsaWdodGhvdXNlIjp7ImVtcGxveWVlaWQiOjEyMzQsImRldmljZWlkIjoiMTIzU0FCViJ9fQ== reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_p2pe_onguardsde_emv: title: P2PE - On-Guard SDE - EMV type: object required: - dateTime - amount - clerk - transaction - device - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' accountType: $ref: '#/components/schemas/AccountType' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' emv: $ref: '#/components/schemas/EMVOnguardSDE' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' lighthouse: $ref: '#/components/schemas/LighthouseRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401018407A00000000310109F100706010A03A0A0009F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: data: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 format: '03' transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie lighthouse: data: >- eyJsaWdodGhvdXNlIjp7ImVtcGxveWVlaWQiOjEyMzQsImRldmljZWlkIjoiMTIzU0FCViJ9fQ== reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' emv: $ref: '#/components/schemas/EMVFallbackOnly' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' lighthouse: $ref: '#/components/schemas/LighthouseRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' notes: Transaction notes are added here hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie lighthouse: data: >- eyJsaWdodGhvdXNlIjp7ImVtcGxveWVlaWQiOjEyMzQsImRldmljZWlkIjoiMTIzU0FCViJ9fQ== reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - amount - clerk - transaction - card - customer properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' exemptionAction: $ref: '#/components/schemas/TransactionExemptionAction' exemptionReason: $ref: '#/components/schemas/TransactionExemptionReason' card: type: object required: - entryMode - number - expirationDate - securityCode properties: entryMode: type: string minLength: 1 maxLength: 1 enum: - M example: M description: > The method used to capture a payment card in an authorization/sale request. Value|Description -----|----------- M | Manual Entry present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: type: object required: - postalCode properties: addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' postalCode: $ref: '#/components/schemas/CustomerPostalCode' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' risk: $ref: '#/components/schemas/RiskTransactionRequest' lighthouse: $ref: '#/components/schemas/LighthouseRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: M expirationDate: 1230 number: '4321000000001119' present: 'N' securityCode: indicator: '1' value: '333' type: VS clerk: numericId: 1576 customer: addressLine1: 65 Easy St firstName: John lastName: Smith postalCode: '65144' transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie lighthouse: data: >- eyJsaWdodGhvdXNlIjp7ImVtcGxveWVlaWQiOjEyMzQsImRldmljZWlkIjoiMTIzU0FCViJ9fQ== reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_3dsecurei4Go: title: Wallet/3D Secure Using i4Go type: object required: - dateTime - amount - clerk - transaction - card - extendedCardData properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' extendedCardData: $ref: '#/components/schemas/ExtendedCardData' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: '8048471746471119' clerk: numericId: 1576 extendedCardData: >- eyJjYXJkQnJhbmRUb2tlbiI6eyJyZXF1ZXN0b3JJZCI6IjA0MDAxMDAzMDI3MyJ9LCJ0aHJlZURTZWN1cmUiOnsicHJvZ3JhbVByb3RvY29sIjoxLCJlY29tbUluZGljYXRvciI6NywieGlkIjoiRkU4OTRBN0NDNzI3NDVCRTIyRThBRkMzNjE2OUM2NUI5QkIwMjIxM0NGMTFBNDAzMTI0MjBDNUQ0MDU0RDY5QyIsImNyeXB0b2dyYW0iOiJCRC91UWZVQU9mMythTVVDbHV0eE1BQUNBQUE9Iiwic2VjdXJpdHlMZXZlbEluZGljYXRvciI6MjQxLCJhdXRoZW50aWNhdGlvblNvdXJjZSI6MSwid2FsbGV0SUQiOjEwM319 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_3dsecurecardnumber: title: 3D Secure Using Card Number type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure - cardBrandToken properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecure' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 160 apiOptions: - ALLOWPARTIALAUTH card: number: '4012000098765439' expirationDate: 1225 present: 'N' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' xid: hq0BA9EAAAGXIJcAGAAAABKU0+s= programProtocol: '2' authenticationSource: '2' cavvResult: '2' authenticationValue: Y2FyZGluYWxjb21tZXJjZWF1dGg= tavvResult: '2' directoryServerTranId: 07e54000-2721-4df9-aa51-04fa0e079aa8 walletID: '327' cardBrandToken: requestorId: '012345678901' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_3dsecuretoken_gtv: title: 3D Secure Using GTV Token type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure - cardBrandToken properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequired' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecure' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: '8048471746471119' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' xid: hq0BA9EAAAGXIJcAGAAAABKU0+s= programProtocol: '2' authenticationSource: '2' cavvResult: '2' authenticationValue: Y2FyZGluYWxjb21tZXJjZWF1dGg= tavvResult: '2' directoryServerTranId: 07e54000-2721-4df9-aa51-04fa0e079aa8 walletID: '327' cardBrandToken: requestorId: '012345678901' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_3dsecuretoken_legacy: title: 3D Secure Using Legacy TrueToken type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure - cardBrandToken properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequiredLegacy' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecure' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: 11191pn83hbkkety serialNumber: '123456' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' xid: hq0BA9EAAAGXIJcAGAAAABKU0+s= programProtocol: '2' authenticationSource: '2' cavvResult: '2' authenticationValue: Y2FyZGluYWxjb21tZXJjZWF1dGg= tavvResult: '2' directoryServerTranId: 07e54000-2721-4df9-aa51-04fa0e079aa8 walletID: '327' cardBrandToken: requestorId: '012345678901' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_applepay: title: Apple Pay type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure - cardBrandToken properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecureWallet' cardBrandToken: type: object properties: requestorId: $ref: '#/components/schemas/CardBrandTokenRequestorID' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: number: '4012000098765439' expirationDate: 1225 present: 'N' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: authenticationSource: '1' cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' xid: hq0BA9EAAAGXIJcAGAAAABKU0+s= programProtocol: '2' walletID: '103' cardBrandToken: requestorId: '012345678901' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_sale_googlepay: title: Google Pay type: object required: - dateTime - amount - clerk - transaction - card - threeDSecure properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' threeDSecure: $ref: '#/components/schemas/ThreeDSecureWallet' customer: $ref: '#/components/schemas/Customer' risk: $ref: '#/components/schemas/RiskTransactionRequest' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' statementSuffix: $ref: '#/components/schemas/StatementSuffix' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: number: '4012000098765439' expirationDate: 1225 present: 'N' clerk: numericId: 1576 transaction: invoice: '192029' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda threeDSecure: authenticationSource: '1' cryptogram: AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== ecommIndicator: '5' securityLevelIndicator: '241' xid: hq0BA9EAAAGXIJcAGAAAABKU0+s= programProtocol: '2' walletID: '216' reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' TaxFree: type: object description: > Returned when the merchant is configured for tax-free processing. Contains card and transaction details for use with Global Blue's tax-free shopping APIs. properties: maskedPAN: type: string example: 476173******0043 description: | The masked pan containing the first 6 and last 4 digits. cardCountry: type: string example: '124' description: | Card issuing country in ISO 3166-1 (3 numeric digits) format cardBrand: type: string enum: - VISA - MASTER - DINERS - JCB - AMEX - CUP description: | Card brand | Value | Decription | |--------|-------------------------------------| | VISA | Visa Credit/Debit | MASTER | Mastercard Credit/Debit and Maestro | | DINERS | Discover/Diners | | JCB | JCB | | AMEX | American Express | | CUP | Unionpay Credit/Debit | cardType: type: string enum: - CreditCard - DebitCard - Prepaid description: | Card type expiryMonth: type: string example: '12' description: | Expiration month expiryYear: type: string example: '31' description: | Expiration year cardholderName: type: string example: TaxFree Shopper description: | Cardholder name pspReferenceNumber: type: string example: 112215bf-93a3-4856-b1ca-23d175dd2fa9 description: | Shift4 transaction reference number shared with Global Blue. AmountRefund: type: object required: - tax - total properties: total: $ref: '#/components/schemas/AmountTotal' tax: $ref: '#/components/schemas/AmountTax' TransactionOriginalInvoice: type: string maxLength: 10 example: '192029' description: > The invoice number from the original sale. Used to link the refund to the original sale. **Note: For US and Canadian processing: Although the invoice number is sent as a JSON string it is a numeric value. No alpha characters are allowed.** **For processing outside of the US and Canada alpha characters are allowed.** AirlineCreditReasonIndicator: type: string maxLength: 1 enum: - A - B - C - O - P example: P description: > Indicates the reason for a credit to the cardholder. This field should contain spaces or one of the below codes. Value | Description -------|--------------- A | Passenger transport ancillary purchase cancellation B | Airline ticket and passenger transport ancillary purchase cancellation C | Airline ticket cancellation O | Other P | Partial refund of airline ticket AirlineRequestRefund: type: object description: | **Conditional: Utilize this object for Airline transactions** required: - carrierCode - carrierName - creditReasonIndicator - conjunctionTicketIndicator - documentType - electronicTicketIndicator - internetIndicator - issueDate - numberOfCities - numberOfCarriers - numberOfPassengers - passengerArrivalDate - passengerDepartureDate - passengerNameRecord - restrictedTicketIndicator - ticketChangeIndicator - ticketTranType - tickets - flightLegs - typeIndicator properties: carrierCode: $ref: '#/components/schemas/AirlineCarrierCode' carrierName: $ref: '#/components/schemas/AirlineCarrierName' conjunctionTicketIndicator: $ref: '#/components/schemas/AirlineConjunctionTicketIndicator' creditReasonIndicator: $ref: '#/components/schemas/AirlineCreditReasonIndicator' documentType: $ref: '#/components/schemas/AirlineDocumentType' electronicTicketIndicator: $ref: '#/components/schemas/AirlineElectronicTicketIndicator' internetIndicator: $ref: '#/components/schemas/AirlineInternetIndicator' issueDate: $ref: '#/components/schemas/AirlineIssueDate' numberOfCities: $ref: '#/components/schemas/AirlineNumberOfCities' numberOfCarriers: $ref: '#/components/schemas/AirlineNumberOfCarriers' numberOfPassengers: $ref: '#/components/schemas/AirlineNumberOfPassengers' passengerArrivalDate: $ref: '#/components/schemas/AirlinePassengerArrivalDate' passengerDepartureDate: $ref: '#/components/schemas/AirlinePassengerDepartureDate' passengerNameRecord: $ref: '#/components/schemas/AirlinePassengerNameRecord' restrictedTicketIndicator: $ref: '#/components/schemas/AirlineRestrictedTicketIndicator' ticketChangeIndicator: $ref: '#/components/schemas/AirlineTicketChangeIndicator' ticketTranType: $ref: '#/components/schemas/AirlineTicketTranType' typeIndicator: $ref: '#/components/schemas/AirlineTypeIndicator' tickets: $ref: '#/components/schemas/AirlineTicketsArray' flightLegs: $ref: '#/components/schemas/AirlineFlightLegsArray' ancillaryServices: $ref: '#/components/schemas/AirlineAncillaryServicesArray' travelAgencyCode: $ref: '#/components/schemas/AirlineTravelAgencyCode' travelAgencyName: $ref: '#/components/schemas/AirlineTravelAgencyName' exchangeTicketNumber: $ref: '#/components/schemas/AirlineExchangeTicketNumber' HotelCheckOutRefund: type: object description: | **Conditional: Utilize this object for Hotel transactions** properties: arrivalDateTime: $ref: '#/components/schemas/HotelArrivalDateTime' departureDateTime: $ref: '#/components/schemas/HotelDepartureDateTime' PurchaseCardRefund: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' destinationPostalCode: $ref: '#/components/schemas/PurchaseCardDestinationPostalCode' productDescriptors: $ref: '#/components/schemas/PurchaseCardProductDescriptors' CardPresentRefund: type: string enum: - 'Y' - 'N' example: 'Y' description: > Indicates whether a card was present (‘Y’) or not (‘N’) at the time the refund transaction took place. transactions_refund_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresentRefund' type: $ref: '#/components/schemas/CardType' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: present: 'Y' clerk: numericId: 1576 transaction: invoice: '192050' originalInvoice: '182177' notes: Transaction notes are added here transactions_refund_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - amount - clerk - transaction - card - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresentRefund' type: $ref: '#/components/schemas/CardType' device: $ref: '#/components/schemas/DeviceCommerceEngineCloud' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: present: 'Y' clerk: numericId: 1576 device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: invoice: '192050' originalInvoice: '182177' notes: Transaction notes are added here transactions_refund_utgdevice: title: UTG Controlled Device type: object required: - dateTime - amount - clerk - transaction - card - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresentRefund' type: $ref: '#/components/schemas/CardType' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: present: 'Y' clerk: numericId: 1576 device: terminalId: '1742' transaction: invoice: '192050' originalInvoice: '182177' notes: Transaction notes are added here transactions_refund_token_gtv: title: GTV Token type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresentRefund' token: $ref: '#/components/schemas/CardTokenRequired' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: expirationDate: 1225 present: 'N' token: value: '8048471746471119' clerk: numericId: 1576 transaction: invoice: '192050' originalInvoice: '182177' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_refund_token_legacy: title: Legacy TrueToken type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresentRefund' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: expirationDate: 1225 present: 'N' token: value: 11191pn83hbkkety serialNumber: '123456' clerk: numericId: 1576 transaction: invoice: '192050' originalInvoice: '182177' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_refund_p2pe_idtech: title: P2PE - IDTECH - EMV/MSR/Manual type: object required: - dateTime - amount - clerk - transaction - card - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresentRefund' type: $ref: '#/components/schemas/CardType' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: present: 'Y' clerk: numericId: 1576 p2pe: data: >- 02df00801f2e1e00939b252a323232312a2a2a2a2a2a2a2a303030395e4d43322f4455414c20545241434b5e2a2a2a2a2a2a2a2a2a2a3f2a3b323232312a2a2a2a2a2a2a2a303030393d2a2a2a2a2a2a2a2a2a2a3f2aa0744ac45073ef2e516cd6b1111c990effb75fbe6521e40be763593c385c6c7cdcd41ffbabb59cd6c999bfe636dff9ef8408e38906db0fdc7497df96a3e8f564b9a4e1bd802f326eb9848b447512384700000000000000000000000000000000000000000000000000000000000000000000000000000000383237543839303939306299495001000000000521d503 format: '02' transaction: invoice: '192029' originalInvoice: '182177' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_refund_p2pe_tdesdukpt_emv: title: P2PE - TDES DUKPT - EMV type: object required: - dateTime - amount - clerk - transaction - card - device - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' accountType: $ref: '#/components/schemas/AccountType' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresentRefund' type: $ref: '#/components/schemas/CardType' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' emv: $ref: '#/components/schemas/EMV' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401015A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C317998407A00000000310109F100706010A03A0A000573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B39F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: format: '05' ksn: FFFF49517300010000CA transaction: invoice: '192029' originalInvoice: '182177' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_refund_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - card - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresentRefund' type: $ref: '#/components/schemas/CardType' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' emv: $ref: '#/components/schemas/EMVFallbackOnly' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' originalInvoice: '182177' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_refund_p2pe_onguardsde_emv: title: P2PE - On-Guard SDE - EMV type: object required: - dateTime - amount - clerk - transaction - card - device - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' accountType: $ref: '#/components/schemas/AccountType' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresentRefund' type: $ref: '#/components/schemas/CardType' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' emv: $ref: '#/components/schemas/EMVOnguardSDE' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401018407A00000000310109F100706010A03A0A0009F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: data: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 format: '03' transaction: invoice: '192029' originalInvoice: '182177' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_refund_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - card - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - present properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresentRefund' type: $ref: '#/components/schemas/CardType' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' emv: $ref: '#/components/schemas/EMVFallbackOnly' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' originalInvoice: '182177' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_refund_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountRefund' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequestRefund' hotel: $ref: '#/components/schemas/HotelCheckOutRefund' purchaseCard: $ref: '#/components/schemas/PurchaseCardRefund' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' source: $ref: '#/components/schemas/TransactionSource' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' card: type: object required: - number - expirationDate - present properties: entryMode: type: string minLength: 1 maxLength: 1 enum: - M example: M description: > **Conditional: The Card Entry Mode should be sent in an initial request; in subsequent requests, it should be left blank or not sent.** The method used to capture a payment card in an authorization/sale request. Value|Description -----|----------- M | Manual Entry present: $ref: '#/components/schemas/CardPresentRefund' number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' customer: type: object properties: addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' postalCode: $ref: '#/components/schemas/CustomerPostalCode' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 10.05 total: 121.83 card: entryMode: M expirationDate: 1230 number: '4321000000001119' present: 'N' type: VS clerk: numericId: 1576 customer: addressLine1: 65 Easy St firstName: John lastName: Smith postalCode: '65144' transaction: invoice: '192029' originalInvoice: '182177' notes: Transaction notes are added here reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' CardResponseVoid: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' number: $ref: '#/components/schemas/CardMaskedNumber' type: $ref: '#/components/schemas/CardTypeResp' token: $ref: '#/components/schemas/CardTokenResponse' TransactionManualTranId: type: string maxLength: 15 example: '123456789012345' description: > This is typically used in a Referral. If a ManualTranID is returned by the issuer with the Auth code, it should be sent to the processor in the ManualTranid field. transactions_manualauthorization_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - amount - clerk - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' customer: $ref: '#/components/schemas/Customer' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 transaction: hotel: estimatedDays: 5 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie transactions_manualauthorization_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - amount - clerk - transaction - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: $ref: '#/components/schemas/DeviceCommerceEngineCloud' customer: $ref: '#/components/schemas/Customer' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: hotel: estimatedDays: 5 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie transactions_manualauthorization_utgdevice: title: UTG Controlled Device type: object required: - dateTime - amount - clerk - transaction - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptPostalCode: $ref: '#/components/schemas/DevicePromptPostalCode' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' promptStreetNumber: $ref: '#/components/schemas/DevicePromptStreetNumber' customer: $ref: '#/components/schemas/Customer' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 device: terminalId: '1742' transaction: hotel: estimatedDays: 5 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie transactions_manualauthorization_token_gtv: title: GTV Token type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: '8048471746471119' clerk: numericId: 1576 transaction: hotel: estimatedDays: 5 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualauthorization_token_legacy: title: Legacy TrueToken type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: 11191pn83hbkkety serialNumber: '123456' clerk: numericId: 1576 transaction: hotel: estimatedDays: 5 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualauthorization_p2pe_idtech: title: P2PE - ID TECH - EMV/MSR/Manual type: object required: - dateTime - amount - clerk - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' apiOptions: - ALLOWPARTIALAUTH amount: cashback: 20 tax: 15 tip: 20 total: 160 card: present: 'Y' clerk: numericId: 1576 p2pe: data: >- 02df00801f2e1e00939b252a323232312a2a2a2a2a2a2a2a303030395e4d43322f4455414c20545241434b5e2a2a2a2a2a2a2a2a2a2a3f2a3b323232312a2a2a2a2a2a2a2a303030393d2a2a2a2a2a2a2a2a2a2a3f2aa0744ac45073ef2e516cd6b1111c990effb75fbe6521e40be763593c385c6c7cdcd41ffbabb59cd6c999bfe636dff9ef8408e38906db0fdc7497df96a3e8f564b9a4e1bd802f326eb9848b447512384700000000000000000000000000000000000000000000000000000000000000000000000000000000383237543839303939306299495001000000000521d503 format: '02' transaction: invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here hotel: estimatedDays: 5 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualauthorization_p2pe_tdesdukpt_emv: title: P2PE - TDES DUKPT - EMV type: object required: - dateTime - amount - clerk - transaction - device - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' emv: $ref: '#/components/schemas/EMV' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401015A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C317998407A00000000310109F100706010A03A0A000573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B39F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: format: '05' ksn: FFFF49517300010000CA transaction: invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualauthorization_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here hotel: estimatedDays: 5 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualauthorization_p2pe_onguardsde_emv: title: P2PE - On-Guard SDE - EMV type: object required: - dateTime - amount - clerk - transaction - device - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' emv: $ref: '#/components/schemas/EMVOnguardSDE' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401018407A00000000310109F100706010A03A0A0009F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: data: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 format: '03' transaction: invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualauthorization_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here hotel: estimatedDays: 5 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualauthorization_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - amount - clerk - transaction - card - customer properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckIn' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckIn' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' card: type: object required: - number - expirationDate - securityCode properties: entryMode: type: string minLength: 1 maxLength: 1 enum: - M example: M description: > **Conditional: The Card Entry Mode should be sent in an initial request; in subsequent requests, it should be left blank or not sent.** The method used to capture a payment card in an authorization/sale request. Value|Description -----|----------- M | Manual Entry present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: type: object required: - postalCode properties: addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' postalCode: $ref: '#/components/schemas/CustomerPostalCode' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: M expirationDate: 1230 number: '4321000000001119' present: 'N' securityCode: indicator: '1' value: '333' type: VS clerk: numericId: 1576 customer: addressLine1: 65 Easy St firstName: John lastName: Smith postalCode: '65144' transaction: hotel: estimatedDays: 5 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualsale_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - amount - clerk - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie transactions_manualsale_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - amount - clerk - transaction - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: $ref: '#/components/schemas/DeviceCommerceEngineCloud' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie transactions_manualsale_utgdevice: title: UTG Controlled Device type: object required: - dateTime - amount - clerk - transaction - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptPostalCode: $ref: '#/components/schemas/DevicePromptPostalCode' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' promptStreetNumber: $ref: '#/components/schemas/DevicePromptStreetNumber' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 apiOptions: - ALLOWPARTIALAUTH card: present: 'Y' clerk: numericId: 1576 device: terminalId: '1742' transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie transactions_manualsale_token_gtv: title: GTV Token type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: '8048471746471119' clerk: numericId: 1576 transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualsale_token_legacy: title: Legacy TrueToken type: object required: - dateTime - amount - clerk - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: expirationDate: 1225 present: 'N' token: value: 11191pn83hbkkety serialNumber: '123456' clerk: numericId: 1576 transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Cookie - Fries - Hamburger - Soda reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualsale_p2pe_idtech: title: P2PE - ID TECH - EMV/MSR/Manual type: object required: - dateTime - amount - clerk - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' customer: $ref: '#/components/schemas/Customer' card: type: object properties: present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' apiOptions: - ALLOWPARTIALAUTH amount: cashback: 20 tax: 15 tip: 20 total: 160 card: present: 'Y' clerk: numericId: 1576 p2pe: data: >- 02df00801f2e1e00939b252a323232312a2a2a2a2a2a2a2a303030395e4d43322f4455414c20545241434b5e2a2a2a2a2a2a2a2a2a2a3f2a3b323232312a2a2a2a2a2a2a2a303030393d2a2a2a2a2a2a2a2a2a2a3f2aa0744ac45073ef2e516cd6b1111c990effb75fbe6521e40be763593c385c6c7cdcd41ffbabb59cd6c999bfe636dff9ef8408e38906db0fdc7497df96a3e8f564b9a4e1bd802f326eb9848b447512384700000000000000000000000000000000000000000000000000000000000000000000000000000000383237543839303939306299495001000000000521d503 format: '02' transaction: invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualsale_p2pe_tdesdukpt_emv: title: P2PE - TDES DUKPT - EMV type: object required: - dateTime - amount - clerk - transaction - device - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' emv: $ref: '#/components/schemas/EMV' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401015A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C317998407A00000000310109F100706010A03A0A000573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B39F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: format: '05' ksn: FFFF49517300010000CA transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualsale_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualsale_p2pe_onguardsde_emv: title: P2PE - On-Guard SDE - EMV type: object required: - dateTime - amount - clerk - transaction - device - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' emv: $ref: '#/components/schemas/EMVOnguardSDE' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: E present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401018407A00000000310109F100706010A03A0A0009F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: data: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 format: '03' transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualsale_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - amount - clerk - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' pin: $ref: '#/components/schemas/TransactionPin' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardType' customer: $ref: '#/components/schemas/Customer' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: '1' present: 'Y' clerk: numericId: 1576 device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' transactions_manualsale_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - amount - clerk - transaction - card - customer properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountObjectNoSurcharge' clerk: $ref: '#/components/schemas/Clerk' transaction: type: object required: - invoice - purchaseCard - authorizationCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' manualTranId: $ref: '#/components/schemas/TransactionManualTranId' notes: $ref: '#/components/schemas/TransactionNotes' businessDate: $ref: '#/components/schemas/TransactionBusinessDate' amex: $ref: '#/components/schemas/TransactionAmex' auto: $ref: '#/components/schemas/AutoCheckOut' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCard' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' card: type: object required: - number - expirationDate - securityCode properties: entryMode: type: string minLength: 1 maxLength: 1 enum: - M example: M description: > **Conditional: The Card Entry Mode should be sent in an initial request; in subsequent requests, it should be left blank or not sent.** The method used to capture a payment card in an authorization/sale request. Value|Description -----|----------- M | Manual Entry present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: $ref: '#/components/schemas/CardSecurityCode' customer: type: object required: - postalCode properties: addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' postalCode: $ref: '#/components/schemas/CustomerPostalCode' receiptColumns: $ref: '#/components/schemas/ReceiptColumns' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' reportingData: $ref: '#/components/schemas/ReportingData' statementSuffix: $ref: '#/components/schemas/StatementSuffix' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 apiOptions: - ALLOWPARTIALAUTH card: entryMode: M expirationDate: 1230 number: '4321000000001119' present: 'N' securityCode: indicator: '1' value: '333' type: VS clerk: numericId: 1576 customer: addressLine1: 65 Easy St firstName: John lastName: Smith postalCode: '65144' transaction: hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 invoice: '192029' authorizationCode: '189746' notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' tokens_add_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime properties: apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2024-05-27T09:18:23.283-07:00' tokens_add_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device properties: apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' dateTime: $ref: '#/components/schemas/DateTime' device: $ref: '#/components/schemas/DeviceCommerceEngineCloud' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2024-05-27T09:18:23.283-07:00' device: cloud: true manufacturer: PAX serialNumber: '1170301234' tokens_add_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device properties: apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptPostalCode: $ref: '#/components/schemas/DevicePromptPostalCode' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' promptStreetNumber: $ref: '#/components/schemas/DevicePromptStreetNumber' example: dateTime: '2021-04-15T09:18:23.283-07:00' device: terminalId: '1742' tokens_add_p2pe_idtech: title: P2PE - ID TECH - EMV/MSR/Manual type: object required: - dateTime - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' example: dateTime: '2021-04-15T09:18:23.283-07:00' p2pe: data: >- 027101801F2D1E00939B%*432100******1119^VS/DUAL TRACK^2212******?*;432100******1119=2212******?*CECE3FCE7781142BEC8D0E267AE89F5D3C7E235BF1A70E637951E8D93003E5A2586C336CA4A3B31F6639B04005BB12A716D8BC4D3AB125C27AB11A9DDC02816569D42A20B036EE5E2C71CB70565FB43B000000000000000000000000000000000000000000000000000000000000000000000000000000003434345434363138343962994950010038200415953903 format: '01' apiOptions: - RETURNEXPDATE tokens_add_p2pe_tdesdukpt_emv: title: P2PE - TDES DUKPT - EMV type: object required: - dateTime - device - emv - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' emv: $ref: '#/components/schemas/EMV' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' example: dateTime: '2021-04-15T09:18:23.283-07:00' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'Y' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401015A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C317998407A00000000310109F100706010A03A0A000573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B39F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: format: '05' ksn: FFFF49517300010000CA apiOptions: - RETURNEXPDATE tokens_add_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' example: dateTime: '2021-04-15T09:18:23.283-07:00' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 apiOptions: - RETURNEXPDATE tokens_add_p2pe_onguardsde_emv: title: P2PE - On-Guard SDE - EMV type: object required: - dateTime - device - emv - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' emv: $ref: '#/components/schemas/EMVOnguardSDE' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' example: dateTime: '2023-12-13T09:18:23.283-07:00' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401018407A00000000310109F100706010A03A0A0009F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: data: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 format: '03' apiOptions: - RETURNEXPDATE tokens_add_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' example: dateTime: '2023-12-13T09:18:23.283-07:00' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' apiOptions: - RETURNEXPDATE CardEntryModeManual: type: string minLength: 1 maxLength: 1 enum: - M example: M description: | The method used to capture a payment card. Value|Description -----|----------- M | Manual Entry P2PEDataAESMCE: type: string maxLength: 2048 example: 86B43D77B12EA757544520C7678A05DD8B7E4770FE05F3320E9D856A7401ADEF description: > Manual card entry information encrypted with AES 128. The decrypted information must be in the following format: `pan=|exp=|cvv=` |Value | Description |----------------|------------ |pan | Credit card number |exp | Expiration date in MMYY format |cvv | Card security code (optional) The unencrypted data must be padded with \x00 to be a muliple of 16 before encrypting. Example: `pan=4761730000000011|exp=1226\x00\x00\x00` P2PEFormatAES: type: string minLength: 2 maxLength: 2 enum: - '07' example: '07' description: | Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 07 | AES-128 or AES-256 P2PEKIDAES: type: string example: AESKEY1 description: | The key identifier for the key that was used to encrypt the P2PE data. **Note: The encryption key will be exchanged manually per customer.** P2PEType07AESMCE: type: object required: - data - format - kid properties: data: $ref: '#/components/schemas/P2PEDataAESMCE' format: $ref: '#/components/schemas/P2PEFormatAES' kid: $ref: '#/components/schemas/P2PEKIDAES' tokens_add_p2pe_aes_mce: title: P2PE - AES - Manual type: object required: - dateTime - p2pe - card properties: card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryModeManual' dateTime: $ref: '#/components/schemas/DateTime' p2pe: $ref: '#/components/schemas/P2PEType07AESMCE' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: $ref: '#/components/schemas/Customer' example: card: entryMode: M dateTime: '2024-01-31T09:18:23.283-07:00' p2pe: data: 86B43D77B12EA757544520C7678A05DD8B7E4770FE05F3320E9D856A7401ADEF format: '07' kid: AESKEY1 apiOptions: - RETURNEXPDATE tokens_add_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: type: object properties: indicator: $ref: '#/components/schemas/CardSecurityCodeIndicator' value: $ref: '#/components/schemas/CardSecurityCodeValue' apiOptions: $ref: '#/components/schemas/ApiOptions' customer: type: object properties: addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' postalCode: $ref: '#/components/schemas/CustomerPostalCode' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: number: '4321000000001119' expirationDate: 1230 securityCode: indicator: '1' value: '333' apiOptions: - RETURNEXPDATE customer: addressLine1: 65 Easy St firstName: John lastName: Smith postalCode: '65144' ACHAccountNumber: type: string maxLength: 17 example: '1234567890' description: > Bank Account Number. Do not include any dashes, spaces, or additional zeros. ACHRoutingNumber: type: string maxLength: 9 minLength: 9 example: '121000248' description: | The routing number identifying the bank. ACHAccountType: type: string example: PC minLength: 2 maxLength: 2 description: | Bank account type Value | Description ------|--------------- PC | Personal Checking PS | Personal Savings CC | Corporate Checking CS | Corporate Savings ACHAccountHolderName: type: string maxLength: 22 example: John Smith description: | ACH account holder's name ACHAccountVerified: type: boolean example: true description: | Send as `true` if the ACH account was verified through a 3rd party. ACHVerificationType: type: string example: P enum: - P - M - B description: | The type of verification used to validate the account. Value | Description ------|--------------- P | Prenotification M | Micro Deposits B | Bank Login tokens_add_ach: title: ACH type: object required: - dateTime - ach properties: dateTime: $ref: '#/components/schemas/DateTime' ach: type: object required: - accountNumber - routingNumber - accountType - accountHolderName - accountVerified - verificationType properties: accountNumber: $ref: '#/components/schemas/ACHAccountNumber' routingNumber: $ref: '#/components/schemas/ACHRoutingNumber' accountType: $ref: '#/components/schemas/ACHAccountType' accountHolderName: $ref: '#/components/schemas/ACHAccountHolderName' accountVerified: $ref: '#/components/schemas/ACHAccountVerified' verificationType: $ref: '#/components/schemas/ACHVerificationType' example: dateTime: '2023-02-10T09:18:23.283-07:00' ach: accountNumber: '1234567890' routingNumber: '121000248' accountType: PC accountHolderName: John Smith accountVerified: true verificationType: M tokens_add_response_card: title: Card Data type: object properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' number: $ref: '#/components/schemas/CardMaskedNumber' type: $ref: '#/components/schemas/CardTypeResp' token: $ref: '#/components/schemas/CardTokenResponse' customer: $ref: '#/components/schemas/Customer' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' universalToken: $ref: '#/components/schemas/UniversalToken' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' card: entryMode: '2' number: XXXXXXXXXXX2221 token: value: '8038471748812221' type: AX device: terminalId: '1742' merchant: mid: 15877 name: Merchant XYZ server: name: U2API01CE TokenValueACH: type: string maxLength: 16 example: '9829283019231234' description: | The token representing the customer's bank account credentials. TokenTypeACH: type: string example: ACH readOnly: true enum: - ACH description: | Specifies the type of token. Value = `ACH` TokenACH: type: object required: - value properties: value: $ref: '#/components/schemas/TokenValueACH' type: $ref: '#/components/schemas/TokenTypeACH' tokens_add_response_ach: title: ACH type: object properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' merchant: $ref: '#/components/schemas/MerchantResponse' token: $ref: '#/components/schemas/TokenACH' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' merchant: mid: 15877 name: Merchant XYZ token: value: '9829283019231234' type: ACH server: name: TM01CE CardFourWords: type: string maxLength: 28 example: cat blue washington enter description: > Four words that reference cardholder data (CHD). The four words can be entered into Shift4’ 4Word® web app separated by spaces to temporarily reveal CHD. In addition, the four words can be entered during an Online Entry or Offline Entry transaction in [Lighthouse Transaction Manager](https://ltm.shift4test.com/) to securely charge the corresponding card number. CardMaskedNumberGC: type: string maxLength: 32 example: XXXXXXXXXXXX8774 description: | The card number field will always be masked when returned in a response. CardResponseFourWords: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' fourWords: $ref: '#/components/schemas/CardFourWords' number: $ref: '#/components/schemas/CardMaskedNumberGC' MerchantAddressLine1: type: string maxLength: 38 example: 456 Fake St description: | First line in the merchant’s business address as configured with Shift4. MerchantAddressLine2: type: string maxLength: 38 example: Suite 100 description: > Second line in the merchant’s business address as configured with Shift4. MerchantCity: type: string maxLength: 13 example: Las Vegas description: | City of the merchant’s business address as configured with Shift4. MerchantDayEndingTime: type: string maxLength: 6 example: '010000' description: > The time the merchant’s business day ends as configured with Shift4. **Note: This is only applicable for merchants based in the USA. If the merchant is not based in the USA, this field will not be returned.** MerchantDefaultCurrency: type: string format: ISO 4217 3 Character Alphabetic Code example: USD description: > Merchant's default currency. See the [Currency Codes](/guides/appendices/currency-codes) section for details. MerchantSupportedCurrencies: type: string format: ISO 4217 3 Character Alphabetic Code example: USD,EUR,GBP description: > Comma separated list of currnecies the merchant supports. See the [Currency Codes](/guides/appendices/currency-codes) section for details. MerchantIndustry: type: string minLength: 1 maxLength: 1 enum: - A - F - H - M - R - P example: F description: | Classifies the merchant type for a merchant’s account with Shift4. Value|Description -----|----------- A | Auto Rental F | Food & Beferage (F&B) H | Hotel M | Mail order/Telephone Order (MOTO) or E-Commerce R | Retail P | Passenger Transport MerchantRegion: type: string maxLength: 3 example: NV description: > Region (State) of the merchant’s business address as configured with Shift4. MerchantPhone: type: string maxLength: 15 example: 702-123-4567 description: | The merchant’s business telephone number as configured with Shift4. MerchantPostalCode: type: string maxLength: 9 example: '78402' description: > ZIP/Postal Code of the merchant’s business address as configured with Shift4. MerchantSerialNumber: type: string maxLength: 11 example: '00000044444' description: | The serial number of the merchant's account with Shift4. MerchantCardTypesAccountNumber: type: string maxLength: 20 example: '192019202' description: > The merchant’s account number as configured with Shift4. This field is returned in response to a [Merchant Information](/apis/payments-platform-rest/openapi/merchants/merchantsmerchant) request because the clerk is required to provide it when attempting to obtain a voice authorization code. This information must be displayed to the clerk. MerchantCardTypesPhoneNumber: type: string maxLength: 20 example: 1-800-444-5566 description: > The phone number a clerk must call to obtain a voice authorization code. This field is returned in response to a [Merchant Information](/apis/payments-platform-rest/openapi/merchants/merchantsmerchant) request. This information must be displayed to the clerk. VoiceCenter: type: object properties: accountNumber: $ref: '#/components/schemas/MerchantCardTypesAccountNumber' phoneNumber: $ref: '#/components/schemas/MerchantCardTypesPhoneNumber' MerchantCardTypes: type: object properties: type: $ref: '#/components/schemas/CardTypeResp' voiceCenter: $ref: '#/components/schemas/VoiceCenter' MerchantCardTypesArray: type: array items: $ref: '#/components/schemas/MerchantCardTypes' example: - type: VS voiceCenter: accountNumber: '2919201' phoneNumber: 1-800-444-5566 - type: MC voiceCenter: accountNumber: '2919201' phoneNumber: 1-800-444-5566 - type: AX voiceCenter: accountNumber: '65168416' phoneNumber: 1-800-123-1126 - type: NS voiceCenter: accountNumber: '68406848684' phoneNumber: 1-888-320-1640 - type: YC voiceCenter: accountNumber: '2919201' phoneNumber: 1-800-444-5566 description: | Array of Merchant Card Types MerchantDCCEnabled: type: string example: 'Y' enum: - 'Y' - 'N' description: | Determines whether the merchant has dynamic currency conversion enabled. Value|Description -----|----------- Y | DCC is enabled N | DCC is not enabled MerchantDCCSecondaryLookupDisclaimer: type: string example: 'Y' enum: - 'Y' - 'N' description: > Determines whether the merchant must perform a secondary rate lookup before capture and if a secondary disclaimer is required. Value|Description -----|----------- Y | Yes - Secondary rate-lookup on capture, accept/decline screen, and larger disclaimer on printed receipt required. N | No - Secondary rate-lookup, accept/decline screen, and larger disclaimer NOT required MerchantCardTypeProcessor: type: string readOnly: true example: TSYSVLLA description: | The processor configured for the card type. MerchantDCCCardTypesArray: type: array items: type: object properties: type: $ref: '#/components/schemas/CardTypeResp' processor: $ref: '#/components/schemas/MerchantCardTypeProcessor' example: - type: VS processor: TSYSVLLA - type: MC processor: TSYSVLLA - type: AX processor: TSYSVLLA - type: NS processor: TSYSVLLA description: | Array of DCC supported card types MerchantDCCObject: type: object properties: enabled: $ref: '#/components/schemas/MerchantDCCEnabled' secondaryLookupDisclaimer: $ref: '#/components/schemas/MerchantDCCSecondaryLookupDisclaimer' cardTypes: $ref: '#/components/schemas/MerchantDCCCardTypesArray' example: enabled: 'Y' secondaryLookupDisclaimer: 'N' cardTypes: - type: VS processor: TSYSVLLA - type: MC processor: TSYSVLLA - type: AX processor: TSYSVLLA - type: NS processor: TSYSVLLA MerchantGTVEnabled: type: string example: 'Y' enum: - 'Y' - 'N' description: > Indicates whether merchant is configured to support Tokenization using Shift4’s Global Token Vault (GTV) solution. Value|Description -----|----------- Y | GTV is enabled N | GTV is not enabled MerchantGTVObject: type: object properties: enabled: $ref: '#/components/schemas/MerchantGTVEnabled' MerchantSurchargeEnabled: type: string example: 'Y' enum: - 'Y' - 'N' description: | Indicates whether merchant is configured to support Surcharging. Value|Description -----|----------- Y | Surcharging is enabled N | Surcharging is not enabled MerchantSurchargeObject: type: object properties: enabled: $ref: '#/components/schemas/MerchantSurchargeEnabled' MerchantAutoCloseEnabled: type: string example: 'Y' enum: - 'Y' - 'N' description: > Indicates whether merchant has Auto Close enabled for transaction batches. Value|Description -----|----------- Y | Auto Close is enabled N | Auto Close is not enabled MerchantAutoCloseObject: type: object properties: enabled: $ref: '#/components/schemas/MerchantAutoCloseEnabled' MerchantCardTypeRangesLower: type: string example: '40000000' description: | Lower limit for the card range MerchantCardTypeRangesUpper: type: string example: '49999999' description: | Upper limit for the card range MerchantCardTypeRangesLengths: type: string example: 13,16,17,18,19 description: | Comma separated list of possible lengths for the card range. MerchantCardTypeRangesLuhnCheck: type: boolean example: true description: | Specifies whether or not the card range will pass the luhn check. MerchantCardTypesRangesObject: type: object properties: lower: $ref: '#/components/schemas/MerchantCardTypeRangesLower' upper: $ref: '#/components/schemas/MerchantCardTypeRangesUpper' lengths: $ref: '#/components/schemas/MerchantCardTypeRangesLengths' lunhCheck: $ref: '#/components/schemas/MerchantCardTypeRangesLuhnCheck' MerchantCardTypesRangesArray: type: array items: $ref: '#/components/schemas/MerchantCardTypesRangesObject' description: | Array of card ranges MerchantCardTypesReturnProcessors: type: object properties: type: $ref: '#/components/schemas/CardTypeResp' processor: $ref: '#/components/schemas/MerchantCardTypeProcessor' ranges: $ref: '#/components/schemas/MerchantCardTypesRangesArray' voiceCenter: $ref: '#/components/schemas/VoiceCenter' MerchantCardTypesReturnProcessorsArray: type: array items: $ref: '#/components/schemas/MerchantCardTypesReturnProcessors' example: - type: VS processor: TSYSVLLA ranges: - lower: '40000000' upper: '49999999' lengths: 13,16,17,18,19 luhnCheck: true voiceCenter: accountNumber: '2919201' phoneNumber: 1-800-444-5566 - type: MC processor: TSYSVLLA ranges: - lower: '51000000' upper: '55999999' lengths: 16,17,18,19 luhnCheck: true - lower: '22210000' upper: '27209999' lengths: 16,17,18,19 luhnCheck: true voiceCenter: accountNumber: '2919201' phoneNumber: 1-800-444-5566 - type: AX processor: TSYSVLLA ranges: - lower: '34000000' upper: '34999999' lengths: '15' luhnCheck: true - lower: '37000000' upper: '37999999' lengths: '15' luhnCheck: true voiceCenter: accountNumber: '65168416' phoneNumber: 1-800-123-1126 - type: NS processor: TSYSVLLA ranges: - lower: '60110000' upper: '60110999' lengths: 16,17,18,19 luhnCheck: true - lower: '60112000' upper: '60114999' lengths: 16,17,18,19 luhnCheck: true - lower: '60117400' upper: '60117499' lengths: 16,17,18,19 luhnCheck: true - lower: '60117700' upper: '60117999' lengths: 16,17,18,19 luhnCheck: true - lower: '60118600' upper: '60119999' lengths: 16,17,18,19 luhnCheck: true - lower: '62400000' upper: '62699999' lengths: 16,17,18,19 luhnCheck: true - lower: '62820000' upper: '62889999' lengths: 16,17,18,19 luhnCheck: true - lower: '65000000' upper: '65999999' lengths: 16,17,18,19 luhnCheck: true - lower: '62212600' upper: '62292599' lengths: 16,17,18,19 luhnCheck: true - lower: '62292600' upper: '62379699' lengths: 16,17,18,19 luhnCheck: true - lower: '64400000' upper: '64999999' lengths: 16,17,18,19 luhnCheck: true - lower: '62109400' upper: '62109499' lengths: 13,16,17,18,19 luhnCheck: true - lower: '81000000' upper: '81719999' lengths: 16,17,18,19 luhnCheck: true - lower: '36000000' upper: '36999999' lengths: 14,15,16,17,18,19 luhnCheck: true - lower: '38000000' upper: '38999999' lengths: 14,15,16,17,18,19 luhnCheck: true - lower: '39000000' upper: '39999999' lengths: 14,15,16,17,18,19 luhnCheck: true - lower: '30000000' upper: '30999999' lengths: 14,15,16,17,18,19 luhnCheck: true - lower: '20140000' upper: '20149999' lengths: '15' luhnCheck: true - lower: '21490000' upper: '21499999' lengths: '15' luhnCheck: true voiceCenter: accountNumber: '68406848684' phoneNumber: 1-888-320-1640 - type: YC processor: IYC ranges: - lower: '00000001' upper: '09999999' lengths: '16' luhnCheck: true voiceCenter: accountNumber: '2919201' phoneNumber: 1-800-444-5566 description: | Array of Merchant Card Types AmountTotalGC: type: number maxLength: 14 example: 20 description: > The amount which should be added to the card's balance. Amount cannot be zero. AmountGC: type: object description: > Object containing information regarding the amount being added onto the card or removed from the card. required: - total properties: total: $ref: '#/components/schemas/AmountTotalGC' checkTotal: $ref: '#/components/schemas/AmountCheckTotal' giftcards_activate_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - amount - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' transaction: invoice: '192029' DeviceComEngCloud: type: object required: - cloud - manufacturer - serialNumber properties: cloud: $ref: '#/components/schemas/DeviceCloud' manufacturer: $ref: '#/components/schemas/DeviceManufacturer' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' giftcards_activate_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - amount - card - device - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: $ref: '#/components/schemas/DeviceComEngCloud' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: invoice: '192029' giftcards_activate_utgdevice: title: UTG Controlled Device type: object required: - dateTime - amount - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' device: terminalId: '1742' transaction: invoice: '192029' CardExpirationDateGC: type: integer minLength: 3 maxLength: 4 format: MMYY example: 1230 description: > **Conditional: Send in the request for manually entered or token transactions if the card has an expiration date. This field should not be specified when using an encrypted device.** Card expiration date in MMYY format. giftcards_activate_token_gtv: title: GTV Token type: object required: - dateTime - amount - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: expirationDate: 1225 present: 'Y' token: value: '8900004710343233' transaction: invoice: '192029' giftcards_activate_token_legacy: title: Legacy TrueToken type: object required: - dateTime - amount - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: expirationDate: 1225 present: 'Y' token: value: 87743q5p3ffhv67y serialNumber: '123456' transaction: invoice: '192029' giftcards_activate_p2pe_idtech: title: P2PE - ID TECH - MSR/Manual type: object required: - dateTime - amount - card - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' p2pe: data: >- 02B600C0170018009292;000442******0006=3012?*61A0453AB7145F1FA7685D2F27A745E129525EDAEA5BB7DBBAF49A5F876E3EE5000000000000000000000000000000000000000034343454343631383439629949500100382003E6FF4D03 format: '01' transaction: invoice: '192029' giftcards_activate_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - amount - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'Y' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' giftcards_activate_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - amount - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' CardNumberGC: type: string maxLength: 32 example: 2664654648774 description: > The payment card number. This field will always be masked when returned in a response. CardSecurityCodeValueGC: type: string maxLength: 4 writeOnly: true example: '333' description: > **Conditional: May be required for gift card transactions.** The three- or four-digit Card Security Code associated with gift card. This value may be required for requests depending on a card's settings. It should not be stored by the interface. CardSecurityCodeGC: type: object properties: value: $ref: '#/components/schemas/CardSecurityCodeValueGC' giftcards_activate_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - amount - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present - number properties: present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumberGC' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' securityCode: $ref: '#/components/schemas/CardSecurityCodeGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' number: '2664654648774' expirationDate: 1230 transaction: invoice: '192029' AmountTotalGCResponse: type: number maxLength: 14 example: 20 description: > For [Activate](/apis/payments-platform-rest/openapi/gift-cards/activate), [Allocate](/apis/payments-platform-rest/openapi/gift-cards/allocate) or [Reload](/apis/payments-platform-rest/openapi/gift-cards/reload) requests, this is the amount which was added to the card's balance. For [Cashout](/apis/payments-platform-rest/openapi/gift-cards/cashout) requests, this is the amount of cash that should be provided to the customer. AmountGCResponse: type: object description: > Object containing information regarding the amount being added onto the card or removed from the card. required: - total properties: total: $ref: '#/components/schemas/AmountTotalGCResponse' CardTypeGCResp: type: string enum: - GC - YC example: YC description: > An abbreviation used to specify the type of card that was used when processing a transaction. Value| Description -----|------------ GC | Gift Card YC | IT’S YOUR CARD CardTokenValueGC: description: > This field is used to specify a card token. Whenever CHD is sent in a request, a card token will be returned in this field. Your interface should be designed to store this card token for future use. The latest card token received should be used in any subsequent request that references the same card data. type: string maxLength: 16 example: 87743q5p3ffhv67y CardTokenGCResponse: type: object properties: value: $ref: '#/components/schemas/CardTokenValueGC' CardResponseGC: type: object properties: number: $ref: '#/components/schemas/CardMaskedNumberGC' type: $ref: '#/components/schemas/CardTypeGCResp' balance: $ref: '#/components/schemas/CardBalance' token: $ref: '#/components/schemas/CardTokenGCResponse' ProgramId: type: string maxLength: 16 example: '123529291' description: | The ID value for the program you are allocating a gift card under. CardDeactivationReason: type: string maxLength: 32 example: Lost or Stolen description: > In a Gift Card [Deactivate](/apis/payments-platform-rest/openapi/gift-cards/deactivate) or [Cashout](/apis/payments-platform-rest/openapi/gift-cards/cashout) request, specifies the reason for deactivation. In a Gift Card redemption or inquiry response, specifies the reason for denial sent by the processor. giftcards_deactivate_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'N' transaction: invoice: '192029' giftcards_deactivate_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' device: $ref: '#/components/schemas/DeviceComEngCloud' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'N' device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: invoice: '192029' giftcards_deactivate_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'N' device: terminalId: '1742' transaction: invoice: '192029' giftcards_deactivate_token_gtv: title: GTV Token type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present - token properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen expirationDate: 1225 present: 'N' token: value: '8900004710343233' transaction: invoice: '192029' giftcards_deactivate_token_legacy: title: Legacy TrueToken type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present - token properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen expirationDate: 1225 present: 'N' token: value: 87743q5p3ffhv67y serialNumber: '123456' transaction: invoice: '192029' giftcards_deactivate_p2pe_idtech: title: P2PE - ID TECH - MSR/Manual type: object required: - dateTime - card - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'N' p2pe: data: >- 02B600C0170018009292;000442******0006=3012?*61A0453AB7145F1FA7685D2F27A745E129525EDAEA5BB7DBBAF49A5F876E3EE5000000000000000000000000000000000000000034343454343631383439629949500100382003E6FF4D03 format: '01' transaction: invoice: '192029' giftcards_deactivate_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'Y' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'Y' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' giftcards_deactivate_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' example: dateTime: '2023-12-13T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'Y' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' giftcards_deactivate_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present - number properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumberGC' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' securityCode: $ref: '#/components/schemas/CardSecurityCodeGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen expirationDate: 1230 number: '2664654648774' present: 'N' transaction: invoice: '192029' CardResponseDeact: type: object properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' entryMode: $ref: '#/components/schemas/CardEntryMode' expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' number: $ref: '#/components/schemas/CardMaskedNumberGC' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardTypeGCResp' balance: $ref: '#/components/schemas/CardBalance' token: $ref: '#/components/schemas/CardTokenGCResponse' AmountTotalGCCashback: type: number maxLength: 14 example: 20 description: > The amount you want to get back from the gift card. If this field is not sent then the full balance of the card will be returned as cash. giftcards_cashout_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotalGCCashback' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'N' transaction: invoice: '192029' giftcards_cashout_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' device: $ref: '#/components/schemas/DeviceComEngCloud' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotalGCCashback' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'N' device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: invoice: '192029' giftcards_cashout_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotalGCCashback' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'N' device: terminalId: '1742' transaction: invoice: '192029' giftcards_cashout_token_gtv: title: GTV Token type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present - token properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' securityCode: $ref: '#/components/schemas/CardSecurityCodeGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotalGCCashback' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen expirationDate: 1225 present: 'N' token: value: '8900004710343233' transaction: invoice: '192029' giftcards_cashout_token_legacy: title: Legacy TrueToken type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present - token properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' securityCode: $ref: '#/components/schemas/CardSecurityCodeGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotalGCCashback' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen expirationDate: 1225 present: 'N' token: value: 87743q5p3ffhv67y serialNumber: '123456' transaction: invoice: '192029' giftcards_cashout_p2pe_idtech: title: P2PE - ID TECH - MSR/Manual type: object required: - dateTime - card - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotalGCCashback' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'N' p2pe: data: >- 02B600C0170018009292;000442******0006=3012?*61A0453AB7145F1FA7685D2F27A745E129525EDAEA5BB7DBBAF49A5F876E3EE5000000000000000000000000000000000000000034343454343631383439629949500100382003E6FF4D03 format: '01' transaction: invoice: '192029' giftcards_cashout_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotalGCCashback' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'Y' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'Y' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' giftcards_cashout_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotalGCCashback' example: dateTime: '2023-12-13T09:18:23.283-07:00' card: deactivationReason: Stolen present: 'Y' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' giftcards_cashout_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - deactivationReason - number - present properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumberGC' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' securityCode: $ref: '#/components/schemas/CardSecurityCodeGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotalGCCashback' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: deactivationReason: Stolen expirationDate: 1230 number: '2664654648774' present: 'N' transaction: invoice: '192029' CardResponseCashout: type: object properties: deactivationReason: $ref: '#/components/schemas/CardDeactivationReason' entryMode: $ref: '#/components/schemas/CardEntryMode' expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' number: $ref: '#/components/schemas/CardMaskedNumberGC' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardTypeGCResp' token: $ref: '#/components/schemas/CardTokenGCResponse' giftcards_reactivate_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' transaction: invoice: '192029' giftcards_reactivate_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: $ref: '#/components/schemas/DeviceComEngCloud' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: invoice: '192029' giftcards_reactivate_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' device: terminalId: '1742' transaction: invoice: '192029' giftcards_reactivate_token_gtv: title: GTV Token type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' expirationDate: 1225 token: value: '8900004710343233' transaction: invoice: '192029' giftcards_reactivate_token_legacy: title: Legacy TrueToken type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' expirationDate: 1225 token: value: 87743q5p3ffhv67y serialNumber: '123456' transaction: invoice: '192029' giftcards_reactivate_p2pe_idtech: title: P2PE - ID TECH - MSR/Manual type: object required: - dateTime - card - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' p2pe: data: >- 02B600C0170018009292;000442******0006=3012?*61A0453AB7145F1FA7685D2F27A745E129525EDAEA5BB7DBBAF49A5F876E3EE5000000000000000000000000000000000000000034343454343631383439629949500100382003E6FF4D03 format: '01' transaction: invoice: '192029' giftcards_reactivate_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'Y' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' giftcards_reactivate_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' example: dateTime: '2023-12-13T09:18:23.283-07:00' card: present: 'Y' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' giftcards_reactivate_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present - number properties: present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumberGC' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' securityCode: $ref: '#/components/schemas/CardSecurityCodeGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: expirationDate: 1230 number: '2664654648774' present: 'Y' transaction: invoice: '192029' giftcards_reload_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - amount - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' transaction: invoice: '192029' giftcards_reload_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - amount - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: $ref: '#/components/schemas/DeviceComEngCloud' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: invoice: '192029' giftcards_reload_utgdevice: title: UTG Controlled Device type: object required: - dateTime - amount - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' device: terminalId: '1742' transaction: invoice: '192029' giftcards_reload_token_gtv: title: GTV Token type: object required: - dateTime - amount - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' expirationDate: 1225 token: value: '8900004710343233' transaction: invoice: '192029' giftcards_reload_token_legacy: title: Legacy TrueToken type: object required: - dateTime - amount - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' expirationDate: 1225 token: value: 87743q5p3ffhv67y serialNumber: '123456' transaction: invoice: '192029' giftcards_reload_p2pe_idtech: title: P2PE - ID TECH - MSR/Manual type: object required: - dateTime - amount - card - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' p2pe: data: >- 02B600C0170018009292;000442******0006=3012?*61A0453AB7145F1FA7685D2F27A745E129525EDAEA5BB7DBBAF49A5F876E3EE5000000000000000000000000000000000000000034343454343631383439629949500100382003E6FF4D03 format: '01' transaction: invoice: '192029' giftcards_reload_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - amount - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'Y' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' giftcards_reload_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - amount - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' example: dateTime: '2023-12-13T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' giftcards_reload_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - amount - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' card: type: object required: - present - number properties: present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumberGC' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' securityCode: $ref: '#/components/schemas/CardSecurityCodeGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 card: present: 'Y' number: '2664654648774' expirationDate: 1230 transaction: invoice: '192029' ApiOptionsGCBalance: type: array items: type: string example: - RETURNHIST writeOnly: true description: > API Options modify the request being made. Value | Description | -----------|------------------------------------------------------------| RETURNHIST | Return the gift card usage history in the `history` array. | giftcards_balance_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' apiOptions: $ref: '#/components/schemas/ApiOptionsGCBalance' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' transaction: invoice: '192029' giftcards_balance_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: $ref: '#/components/schemas/DeviceComEngCloud' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' apiOptions: $ref: '#/components/schemas/ApiOptionsGCBalance' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' device: cloud: true manufacturer: PAX serialNumber: '1170301234' transaction: invoice: '192029' giftcards_balance_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' apiOptions: $ref: '#/components/schemas/ApiOptionsGCBalance' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' device: terminalId: '1742' transaction: invoice: '192029' giftcards_balance_token_gtv: title: GTV Token type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' apiOptions: $ref: '#/components/schemas/ApiOptionsGCBalance' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' expirationDate: 1225 token: value: '8900004710343233' transaction: invoice: '192029' giftcards_balance_token_legacy: title: Legacy TrueToken type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' apiOptions: $ref: '#/components/schemas/ApiOptionsGCBalance' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' expirationDate: 1225 token: value: 87743q5p3ffhv67y serialNumber: '123456' transaction: invoice: '192029' giftcards_balance_p2pe_idtech: title: P2PE - ID TECH - MSR/Manual type: object required: - dateTime - card - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' apiOptions: $ref: '#/components/schemas/ApiOptionsGCBalance' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' p2pe: data: >- 02B600C0170018009292;000442******0006=3012?*61A0453AB7145F1FA7685D2F27A745E129525EDAEA5BB7DBBAF49A5F876E3EE5000000000000000000000000000000000000000034343454343631383439629949500100382003E6FF4D03 format: '01' transaction: invoice: '192029' giftcards_balance_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' apiOptions: $ref: '#/components/schemas/ApiOptionsGCBalance' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: present: 'Y' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'Y' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 transaction: invoice: '192029' giftcards_balance_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - card - transaction - p2pe - device properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present properties: present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' apiOptions: $ref: '#/components/schemas/ApiOptionsGCBalance' example: dateTime: '2023-12-13T09:18:23.283-07:00' card: present: 'Y' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' transaction: invoice: '192029' giftcards_balance_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - present - number properties: present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumberGC' expirationDate: $ref: '#/components/schemas/CardExpirationDateGC' securityCode: $ref: '#/components/schemas/CardSecurityCodeGC' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' apiOptions: $ref: '#/components/schemas/ApiOptionsGCBalance' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: expirationDate: 1230 number: '2664654648774' present: 'Y' transaction: invoice: '192029' AmountTotalOnly: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. Note: For merchants that are configured to allow multiple currencies, the amount fields can specify up to three decimal places. However, the number of decimal places can not exceed the number allowed for the specified currency. See the [Currency Codes](/guides/appendices/currency-codes) section for details. required: - total properties: total: $ref: '#/components/schemas/AmountTotal' giftcards_cancel_token_gtv: title: GTV Token type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequired' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: token: value: '8900004710343233' transaction: invoice: '192029' giftcards_cancel_token_legacy: title: Legacy TrueToken type: object required: - dateTime - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequired' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: token: value: 87743q5p3ffhv67y serialNumber: '123456' transaction: invoice: '192029' cards_verify_comengdevice: type: object title: Commerce Engine For On Premise required: - dateTime properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2025-11-06T09:18:23.283-07:00' cards_verify_comengcloud: type: object title: Commerce Engine For Cloud required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - cloud - manufacturer - serialNumber properties: cloud: $ref: '#/components/schemas/DeviceCloud' manufacturer: $ref: '#/components/schemas/DeviceManufacturer' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressFinalResult: $ref: '#/components/schemas/UISuppressFinalResult' example: dateTime: '2025-11-06T09:18:23.283-07:00' device: cloud: true manufacturer: PAX serialNumber: '1170301234' cards_verify_utgdevice: type: object title: UTG Controlled Device required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptPostalCode: $ref: '#/components/schemas/DevicePromptPostalCode' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' promptStreetNumber: $ref: '#/components/schemas/DevicePromptStreetNumber' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2021-04-15T09:18:23.283-07:00' device: terminalId: '1742' cards_verify_token_gtv: title: GTV Token type: object required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequired' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: $ref: '#/components/schemas/CardSecurityCode' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: token: value: '8048471746471119' expirationDate: 1225 cards_verify_token_legacy: title: Legacy TrueToken type: object required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequiredLegacy' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: $ref: '#/components/schemas/CardSecurityCode' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: token: value: 11191pn83hbkkety serialNumber: '123456' expirationDate: 1225 cards_verify_p2pe_idtech: type: object title: P2PE - ID TECH - EMV/MSR/Manual required: - dateTime - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2021-04-15T09:18:23.283-07:00' p2pe: data: >- 027101801F2D1E00939B%*432100******1119^VS/DUAL TRACK^2212******?*;432100******1119=2212******?*CECE3FCE7781142BEC8D0E267AE89F5D3C7E235BF1A70E637951E8D93003E5A2586C336CA4A3B31F6639B04005BB12A716D8BC4D3AB125C27AB11A9DDC02816569D42A20B036EE5E2C71CB70565FB43B000000000000000000000000000000000000000000000000000000000000000000000000000000003434345434363138343962994950010038200415953903 format: '01' cards_verify_p2pe_tdesdukpt_emv: type: object title: P2PE - TDES DUKPT - EMV required: - dateTime - card - device - emv - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' emv: type: object required: - tlvData properties: tlvData: $ref: '#/components/schemas/EMVTlvData' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: entryMode: E device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' emv: tlvData: >- 4F07A0000000041010500A4D61737465724361726457203CCEB572BE7DD0A38E62E6BD70E3DAACE9B46BD3BF65E188E7D8D68D2178DE1A5A10B1794BAC083B08F0A1444F189A5493255F201A546573742F4361726420303920202020202020202020202020205F24032512315F25031511015F2D02656E5F3401018407A0000000041010950508200000009B02C8009F02060000000004449F03060000000000009F34031E03009F3704C5BF918D9F390105 p2pe: format: '05' ksn: '6299495001100E200041' cards_verify_p2pe_tdesdukpt_msr: type: object title: P2PE - TDES DUKPT - MSR/Manual required: - dateTime - card - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: entryMode: '2' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 cards_verify_p2pe_onguardsde_emv: type: object title: P2PE - On-Guard SDE - EMV required: - dateTime - card - device - emv - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' emv: type: object required: - tlvData properties: tlvData: $ref: '#/components/schemas/EMVTlvDataOnguardSDE' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: 2023-124-13T09:18:23.283-07:00 card: entryMode: E device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401018407A00000000310109F100706010A03A0A0009F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: data: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 format: '03' cards_verify_p2pe_onguardsde_msr: type: object title: P2PE - On-Guard SDE - MSR/Manual required: - dateTime - card - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2023-12-13T09:18:23.283-07:00' card: entryMode: '2' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' cards_verify_unencryptedcard: type: object title: Card Number Unencrypted required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: type: object properties: indicator: $ref: '#/components/schemas/CardSecurityCodeIndicator' value: $ref: '#/components/schemas/CardSecurityCodeValue' transaction: type: object properties: cardOnFile: $ref: '#/components/schemas/CardOnFile' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' customer: $ref: '#/components/schemas/Customer' currencyCode: $ref: '#/components/schemas/CurrencyCode' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: number: '4321000000001119' expirationDate: 1230 securityCode: indicator: '1' value: '333' customer: addressLine1: 65 Easy St firstName: John lastName: Smith postalCode: '65144' TransactionResponseCodeCardsVerify: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A - D - e - f description: > Code indicating the Shift4 host response. Value | Description | Details -------|------------------------------------------------------------------|-------- A | Approved | The card was successfully verified. D | Declined | The card failed verification. e | [Error](/guides/appendices/error-codes) | There is an error condition. f | [AVS or CSC failure](/guides/response-handling/understanding-avs-and-csc-verification)| An AVS or CSC failure has occurred (credit card only). **Note: This value will only be returned if the [POSHANDLEAVSFAIL Api Option](/guides/appendices/api-options#poshandleavsfail) was sent in the request.** ANIResponseCode: type: string enum: - E - A - B - C - D - F - G - H - I - J - 'N' - U example: E description: > Account Name Inquiry Response Code. Returned if the `USEANI` API Option and customer name information is sent in the request. | ANI Response Code | Description | | ----------------- | ---------------------------------------------------------------------- | | E | Full name: match | | A | First name: partial match, Last name: match | | B | First name: no match, Last name: match | | C | First name: match, Last name: partial match | | D | First name: match, Last name: no match | | F | First name: partial match, Last name: partial match | | G | First name: no match, Last name: partial match | | H | First name: partial match, Last name: no match | | I | Last name: match | | J | Last name: partial match | | N | First name: no match, Last name: no match
or
Last name: no match | | U | Name match not performed | AccountNameInquiryResponse: type: object properties: aniResponseCode: $ref: '#/components/schemas/ANIResponseCode' cards_identify_utgdevice: type: object title: UTG Controlled Device allOf: - type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptPostalCode: $ref: '#/components/schemas/DevicePromptPostalCode' promptCardSecurityCode: $ref: '#/components/schemas/DevicePromptCardSecurityCode' promptStreetNumber: $ref: '#/components/schemas/DevicePromptStreetNumber' example: dateTime: '2021-04-15T09:18:23.283-07:00' device: terminalId: '1742' cards_identify_token_gtv: title: GTV Token type: object allOf: - type: object required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequired' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: $ref: '#/components/schemas/CardSecurityCode' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: token: value: '8048471746471119' expirationDate: 1225 cards_identify_token_legacy: title: Legacy TrueToken type: object allOf: - type: object required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequiredLegacy' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: $ref: '#/components/schemas/CardSecurityCode' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: token: value: 11191pn83hbkkety serialNumber: '123456' expirationDate: 1225 cards_identify_p2pe_idtech: type: object title: P2PE - ID TECH - EMV/MSR/Manual required: - dateTime - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' example: dateTime: '2021-04-15T09:18:23.283-07:00' p2pe: data: >- 027101801F2D1E00939B%*432100******1119^VS/DUAL TRACK^2212******?*;432100******1119=2212******?*CECE3FCE7781142BEC8D0E267AE89F5D3C7E235BF1A70E637951E8D93003E5A2586C336CA4A3B31F6639B04005BB12A716D8BC4D3AB125C27AB11A9DDC02816569D42A20B036EE5E2C71CB70565FB43B000000000000000000000000000000000000000000000000000000000000000000000000000000003434345434363138343962994950010038200415953903 format: '01' cards_identify_p2pe_tdesdukpt_emv: title: P2PE - TDES DUKPT - EMV type: object required: - dateTime - card - device - emv - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' emv: type: object required: - tlvData properties: tlvData: $ref: '#/components/schemas/EMVTlvData' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: entryMode: E device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' emv: tlvData: >- 4F07A0000000041010500A4D61737465724361726457203CCEB572BE7DD0A38E62E6BD70E3DAACE9B46BD3BF65E188E7D8D68D2178DE1A5A10B1794BAC083B08F0A1444F189A5493255F201A546573742F4361726420303920202020202020202020202020205F24032512315F25031511015F2D02656E5F3401018407A0000000041010950508200000009B02C8009F02060000000004449F03060000000000009F34031E03009F3704C5BF918D9F390105 p2pe: format: '05' ksn: '6299495001100E200041' cards_identify_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object allOf: - type: object required: - dateTime - card - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: entryMode: '2' device: manufacturer: PAX model: A930 serialNumber: '1170301234' capability: contactlessEMV: 'N' contactlessMSR: 'Y' EMV: 'Y' magstripe: 'Y' manualEntry: 'Y' quickChip: 'Y' p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 cards_identify_p2pe_onguardsde_emv: title: P2PE - On-Guard SDE - EMV type: object allOf: - type: object required: - dateTime - card - device - emv - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' emv: type: object required: - tlvData properties: tlvData: $ref: '#/components/schemas/EMVTlvDataOnguardSDE' example: dateTime: '2023-12-13T09:18:23.283-07:00' card: entryMode: E device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401018407A00000000310109F100706010A03A0A0009F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 p2pe: data: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 format: '03' cards_identify_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object allOf: - type: object required: - dateTime - card - device - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' device: type: object required: - manufacturer - model - serialNumber - capability properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' example: dateTime: 2023-124-13T09:18:23.283-07:00 card: entryMode: '2' device: manufacturer: Ingenico model: Axium DX8000 serialNumber: 20ACCD801843 capability: contactlessEMV: 'Y' contactlessMSR: 'N' EMV: 'Y' manualEntry: 'Y' magstripe: 'Y' PIN: 'Y' quickChip: 'Y' signature: 'Y' p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' cards_identify_unencryptedcard: type: object title: Card Number Unencrypted allOf: - type: object required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - number - expirationDate - entryMode properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' entryMode: type: string minLength: 1 maxLength: 1 enum: - M example: M description: > **Conditional: The Card Entry Mode should be sent in an initial request; in subsequent requests, it should be left blank or not sent.** The method used to capture a payment card in an authorization/sale request. Value|Description -----|----------- M | Manual Entry securityCode: type: object properties: indicator: $ref: '#/components/schemas/CardSecurityCodeIndicator' value: $ref: '#/components/schemas/CardSecurityCodeValue' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: number: '4321000000001119' expirationDate: 1230 securityCode: indicator: '1' value: '333' CardBin: type: string readOnly: true maxLength: 8 example: '541333' description: | The first 6 or 8 digits of the card. CardDccCapable: type: string enum: - 'Y' - 'N' example: 'Y' description: > In BIN management, specifies whether or not the card is dynamic currency conversion (DCC) capable. CardDebitCapable: type: string enum: - 'Y' - 'N' example: 'Y' description: > In BIN management, specifies whether a card can be processed as debit (‘Y’) or not (‘N’). CardLevelResultIdentify: type: string example: 1P description: > In BIN management, specifies the detailed card type. For a complete list of potential values, see the [Card Level Results]/guides/appendices/card-level-results) section in this document's appendix. CardResponseIdentify: type: object properties: bin: $ref: '#/components/schemas/CardBin' dccCapable: $ref: '#/components/schemas/CardDccCapable' debitCapable: $ref: '#/components/schemas/CardDebitCapable' levelResult: $ref: '#/components/schemas/CardLevelResultIdentify' type: $ref: '#/components/schemas/CardTypeResp' DeviceDisplayText: type: string maxLength: 72 example: Please Sign description: | Optional field that specifies the text to display on the device. DeviceNextStepType: type: string enum: - idle - none - displayWait - displayText example: displayText description: > Determines the device behavior after processing the request. If no additional request is received after 120 seconds the device will return to idle as a failsafe. | Value | Description | | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | idle | Return back to the idle screen | | none | Stay on the same screen. A subsequent message must be immediately sent or else the device will appear frozen to the user. | | displayWait | Displays a please wait screen | | displayText | Displays custom text. The request must include at least one of the following fields: `device.nextStep.header.value`, `device.nextStep.subHeader.value` or `device.nextStep.text.value`. | DeviceFormHeader: type: object properties: value: type: string maxLength: 100 example: Header text goes here description: | Header text. Add `\r\n` to force a new line. DeviceFormSubHeader: type: object properties: value: type: string maxLength: 100 example: Sub Header text goes here description: | Sub Header text. Add `\r\n` to force a new line. DeviceFormText: type: object properties: value: type: string maxLength: 4096 example: Body text goes here description: | Body text. Add `\r\n` to force a new line. DeviceNextStep: type: object description: > An optional object used to control the device behavior after processing the request. If included in the request, the `type` sub-field is required properties: type: $ref: '#/components/schemas/DeviceNextStepType' header: $ref: '#/components/schemas/DeviceFormHeader' subHeader: $ref: '#/components/schemas/DeviceFormSubHeader' text: $ref: '#/components/schemas/DeviceFormText' UIRequest: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' devices_promptsignature_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: displayText: $ref: '#/components/schemas/DeviceDisplayText' nextStep: $ref: '#/components/schemas/DeviceNextStep' terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' ui: $ref: '#/components/schemas/UIRequest' example: dateTime: '2024-05-21T09:18:23.283-07:00' devices_promptsignature_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - cloud - manufacturer - serialNumber properties: cloud: $ref: '#/components/schemas/DeviceCloud' manufacturer: $ref: '#/components/schemas/DeviceManufacturer' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' displayText: $ref: '#/components/schemas/DeviceDisplayText' nextStep: $ref: '#/components/schemas/DeviceNextStep' ui: $ref: '#/components/schemas/UIRequest' example: dateTime: '2024-05-21T09:18:23.283-07:00' device: cloud: true manufacturer: PAX serialNumber: '1170301234' DeviceOnlyTID: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' devices_promptsignature_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: $ref: '#/components/schemas/DeviceOnlyTID' example: dateTime: '2021-04-15T09:18:23.283-07:00' device: terminalId: '1742' DevicePromptConfirmationQuestion: type: string maxLength: 64 writeOnly: true example: Rewards Program description: | This field displays an inquiry prompting a consumer's confirmation. DevicePromptConfirmationResult: type: string maxLength: 1 readOnly: true enum: - 'Y' - 'N' example: 'N' description: > In the response to a Prompt Confirmation request, this field specifies whether the consumer has opted to confirm ('Y') or deny ('N') the requested value. DevicePromptConfirmationValue: type: string maxLength: 4096 writeOnly: true example: Would you like to join our rewards program? description: > This field displays text, such as an email address or legal text, for a consumer’s confirmation. DevicePromptConfirmation: type: object properties: question: $ref: '#/components/schemas/DevicePromptConfirmationQuestion' result: $ref: '#/components/schemas/DevicePromptConfirmationResult' value: $ref: '#/components/schemas/DevicePromptConfirmationValue' DevicePromptTermsAndConditionsAckCheckBox: type: boolean writeOnly: true example: true description: > Send `true` to enable the acknowledgement check box or `false` to disable it. Defaults to `true` if not sent. DevicePromptTermsAndConditionsAckText: type: string maxLength: 100 writeOnly: true example: I agree to the End User Agreement description: > Contains the text to display in the acknowledgement check box. If not sent, the acknowledgement check box will display `I agree to the terms and conditions`. DevicePromptTermsAndConditionsHeader: type: string maxLength: 100 writeOnly: true example: End User License Agreement description: > Contains the text to display in the header. If not sent, the header will display `Terms and Conditions`. DevicePromptTermsAndConditionsValue: type: string maxLength: 4096 writeOnly: true example: Terms and Conditions description: > Contains the Terms and Conditions text for the UTG or Commerce Engine controlled PIN pad to display to a consumer. Add `\r\n` to force a new line. DevicePromptTermsAndConditionsComEng: type: object required: - value properties: ackCheckBox: $ref: '#/components/schemas/DevicePromptTermsAndConditionsAckCheckBox' ackText: $ref: '#/components/schemas/DevicePromptTermsAndConditionsAckText' header: $ref: '#/components/schemas/DevicePromptTermsAndConditionsHeader' value: $ref: '#/components/schemas/DevicePromptTermsAndConditionsValue' devices_termsandconditions_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - promptTermsAndConditions properties: promptTermsAndConditions: $ref: '#/components/schemas/DevicePromptTermsAndConditionsComEng' nextStep: $ref: '#/components/schemas/DeviceNextStep' ui: $ref: '#/components/schemas/UIRequest' devices_termsandconditions_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - cloud - manufacturer - serialNumber - promptTermsAndConditions properties: cloud: $ref: '#/components/schemas/DeviceCloud' manufacturer: $ref: '#/components/schemas/DeviceManufacturer' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' promptTermsAndConditions: $ref: '#/components/schemas/DevicePromptTermsAndConditionsComEng' nextStep: $ref: '#/components/schemas/DeviceNextStep' ui: $ref: '#/components/schemas/UIRequest' DevicePromptTermsAndConditionsResult: type: string maxLength: 1 readOnly: true enum: - A - D example: A description: > Returns the result of the Terms and Conditions screen on the PIN pad (based on the consumer’s input). Value| Description -----|------------ A | Accepted D | Declined DevicePromptTermsAndConditions: type: object required: - value properties: result: $ref: '#/components/schemas/DevicePromptTermsAndConditionsResult' value: $ref: '#/components/schemas/DevicePromptTermsAndConditionsValue' devices_termsandconditions_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId - promptTermsAndConditions properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' promptTermsAndConditions: $ref: '#/components/schemas/DevicePromptTermsAndConditions' DeviceLineItemsArray: type: array minItems: 1 maxItems: 10 items: type: string example: - Hamburger - Fries - Soda - Cookie description: | An array of line items to display on the UTG-controlled device. DeviceTerminalIdDevicesInfo: type: string example: GBAIOQAN11 description: | Terminal ID configured for the device. DeviceModelDevicesInfo: type: string maxLength: 50 example: A800 description: | Specifies the model of the device. HardwareCPU: type: string example: cortex-a53 (8 cores @ 1.8 GHz) description: | The CPU model information. HardwareRamMb: type: string example: '1854' description: | The total amount of RAM in megabytes. HardwareStorageMbTotal: type: string example: '12297' description: | The amount of total storage space in megabytes. HardwareStorageMbFree: type: string example: '9869' description: | The amout of free storage space in megabytes. HardwareStorageMbUsed: type: string example: '2428' description: | The amout of used storage space in megabytes. HardwareBatteryLevel: type: string example: '83' description: > The current battery level on the device. Returns `null` if the device does not have a battery FirmwareFirmwareVersion: type: string example: PayDroid_10.0.0_Eucalyptus_V20.1.28_20250915/4.11.00_20250120 description: | The firmware version. FirmwareAndroidVersion: type: string example: '10' description: | The Android OS version. FirmwareEMVKernelVersion: type: string example: v659 2025.02.26 description: | The EMV kernel version. FirmwareCTLSKernelVersion: type: string example: >- v558 2025.04.10;v359_02 2025.02.20;v557_01 2024.01.15;v252_01 2023.02.09;v155 2024.12.19;v353 2025.01.22;v153_02 2024.12.05;v253 2025.01.10;v153 2025.09.09 description: | The card brand contactless kernel versions. SecurityP2PEVersion: type: string example: 2.0.6.211.3.0 description: | The P2PE application version SecurityPCIHardwareVersion: type: string example: A800-0AW-RE6-10AA description: | The PCI hardware version SecurityPCIFirmwareVersion: type: string example: secver_26.01.0128;firmver_26.01.0128 description: | The PCI firmware version ApplicationsArray: type: array items: type: object properties: name: type: string example: Commerce Engine description: | Application name packageName: type: string example: com.priv.shift4.commerceengine description: | Application package name versionName: type: string example: 2.14.0 description: | Application version name versionCode: type: number example: 2140000 description: | Application version code example: - name: Commerce Engine packageName: com.priv.shift4.commerceengine versionName: 2.14.0 versionCode: 2140000 - name: Shift4 SOLO packageName: com.shift4.bonepony versionName: 2.149.0 versionCode: 2149000 ConnectivityActiveInterface: type: string example: wifi description: | The network interface that is active on the device ConnectivityIP: type: string example: 192.168.4.200 description: | The device IP address ConnectivityGateway: type: string example: 192.168.4.1 description: | Default gateway ConnectivitySubnetMask: type: string example: 255.255.255.0 description: | Subnet mask ConnectivityDNS1: type: string example: 8.8.8.8 description: | Primary DNS server address ConnectivityDNS2: type: string example: 8.8.4.4 description: | Secondary DNS server address ConnectivityInterfaces: type: object properties: ethernet: type: object properties: mac: type: string example: F4:02:23:43:69:FD description: | Ethernet MAC address isUp: type: string enum: - 'Y' - 'N' example: 'N' description: > Returns 'Y' if the interface is up and `N` if the interface is down. wifi: type: object properties: mac: type: string example: F4:02:23:7F:57:C6 description: | Wi-Fi MAC address ssid: type: string example: MerchantWiFi description: | Wi-Fi SSID isUp: type: string enum: - 'Y' - 'N' example: 'Y' description: > Returns 'Y' if the interface is up and `N` if the interface is down. signalStrength: type: string example: '-46 dBm' description: | The Wi-Fi signal strength cellular: type: object properties: imei: type: string example: '354970460015528' description: | Cellular International Mobile Equipment Identity (IMEI) value iccid: type: string example: '8901240204204081862' description: | Cellular Integrated Circuit Card Identifier (ICCID) carrier: type: string example: T-Mobile description: | Cellular mobile network carrier isUp: type: string enum: - 'Y' - 'N' example: 'Y' description: > Returns 'Y' if the interface is up and `N` if the interface is down. signalStrength: type: string example: '-50 dBm' description: | The Cellular signal strength example: wifi: mac: F4:02:23:7F:57:C6 ssid: MerchantWiFi isUp: 'Y' signalStrength: '-46 dBm' cellular: imei: '354970460015528' iccid: '8901240204204081862' carrier: T-Mobile isUp: 'Y' signalStrength: '-50 dBm' UILanguageResponse: type: string example: en description: > ISO 639-1 2-letter language code specifying the UI display language (e.g. "en", "fr", "de"). UISupportedLanguages: type: array items: type: string example: - en - fr - es - de - it - nl - pt - lt - 'no' - sv - da - ro - cs - fi - pl description: > Array of ISO 639-1 2-letter language codes supported by the device (e.g. "en", "fr", "de"). devices_info_comeng: title: Commerce Engine type: object properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdDevicesInfo' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModelDevicesInfo' hardware: type: object properties: cpu: $ref: '#/components/schemas/HardwareCPU' ramMb: $ref: '#/components/schemas/HardwareRamMb' storageMbTotal: $ref: '#/components/schemas/HardwareStorageMbTotal' storageMbFree: $ref: '#/components/schemas/HardwareStorageMbFree' storageMbUsed: $ref: '#/components/schemas/HardwareStorageMbUsed' batteryLevel: $ref: '#/components/schemas/HardwareBatteryLevel' firmware: type: object properties: firmwareVersion: $ref: '#/components/schemas/FirmwareFirmwareVersion' androidVersion: $ref: '#/components/schemas/FirmwareAndroidVersion' emvKernelVersion: $ref: '#/components/schemas/FirmwareEMVKernelVersion' ctlsKernelVersion: $ref: '#/components/schemas/FirmwareCTLSKernelVersion' security: type: object properties: p2peVersion: $ref: '#/components/schemas/SecurityP2PEVersion' pciHardwareVersion: $ref: '#/components/schemas/SecurityPCIHardwareVersion' pciFirmwareVersion: $ref: '#/components/schemas/SecurityPCIFirmwareVersion' applications: $ref: '#/components/schemas/ApplicationsArray' connectivity: type: object properties: activeInterface: $ref: '#/components/schemas/ConnectivityActiveInterface' ip: $ref: '#/components/schemas/ConnectivityIP' gateway: $ref: '#/components/schemas/ConnectivityGateway' subnetMask: $ref: '#/components/schemas/ConnectivitySubnetMask' dns1: $ref: '#/components/schemas/ConnectivityDNS1' dns2: $ref: '#/components/schemas/ConnectivityDNS2' interfaces: $ref: '#/components/schemas/ConnectivityInterfaces' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageResponse' supportedLanguages: $ref: '#/components/schemas/UISupportedLanguages' server: $ref: '#/components/schemas/Server' DeviceInfoArray: type: array items: type: string description: | An array of details regarding a UTG-controlled device. example: - NUMBER_MSR_SWIPES=1634 - NUMBER_BAD_TRACK1_READS=85 - NUMBER_BAD_TRACK2_READS=395 - NUMBER_BAD_TRACK3_READS=337 - NUMBER_SIGNATURE_TOTALS=0000 - NUMBER_REBOOTS=0760 - TERMINAL_NAME=iPP350 - UNIT_SERIAL_NUMBER=2013016PT012622 - OS_VERSION=5220 - APPLICATION_VERSION=2156 - SECURITY_LIBRARY_VERSION=0415 - TDA_VERSION=1603 - EFTL_VERSION=0000 - EFTP_VERSION=0000 - RAM_SIZE=8628 - FLASH_SIZE=111064 - MANUFACTURE_DATE=2013-01-16 - CPEM_TYPE=1 - PEN_STATUS=UNSUPPORTED_DEVICE - APPLICATION_NAME=Retail Base - MANUFACTURE_ID=INGNAR - DIGITIZER_VERSION=0000 - MANUFACTURER_SERIAL_NUMBER=71429877 - DUKPT0=F876543210016F8000F7 - DUKPT4=FFFF49003614954000B9 devices_info_utgingenico: title: UTG Ingenico type: object properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: info: $ref: '#/components/schemas/DeviceInfoArray' terminalId: $ref: '#/components/schemas/DeviceTerminalId' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' device: info: - NUMBER_MSR_SWIPES=1634 - NUMBER_BAD_TRACK1_READS=85 - NUMBER_BAD_TRACK2_READS=395 - NUMBER_BAD_TRACK3_READS=337 - NUMBER_SIGNATURE_TOTALS=0000 - NUMBER_REBOOTS=0760 - TERMINAL_NAME=iPP350 - UNIT_SERIAL_NUMBER=2013016PT012622 - OS_VERSION=5220 - APPLICATION_VERSION=2156 - SECURITY_LIBRARY_VERSION=0415 - TDA_VERSION=1603 - EFTL_VERSION=0000 - EFTP_VERSION=0000 - RAM_SIZE=8628 - FLASH_SIZE=111064 - MANUFACTURE_DATE=2013-01-16 - CPEM_TYPE=1 - PEN_STATUS=UNSUPPORTED_DEVICE - APPLICATION_NAME=Retail Base - MANUFACTURE_ID=INGNAR - DIGITIZER_VERSION=0000 - MANUFACTURER_SERIAL_NUMBER=71429877 - DUKPT0=F876543210016F8000F7 - DUKPT4=FFFF49003614954000B9 terminalId: '1742' server: name: U2API01CE devices_info_utgverifone: title: UTG Verifone type: object properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: info: $ref: '#/components/schemas/DeviceInfoArray' terminalId: $ref: '#/components/schemas/DeviceTerminalId' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' device: info: - APPLICATION_VERSION=4.9.2-20170530 - XPI_VERSION=0052.00v-20170530 - XPI_KERNEL_VERSION=000270000 - OS_VERSION=MX200001/RFS30250600/ - PACKAGES_INSTALLED=alsa-lib:1.0.0; busybox:1.2.6.2 - GUI_MANAGER_VERSION=3.25 - UNIT_ID=288-728-276/12000000 - UNIT_MODEL=MX915 - RFIDFW_VERSION=VOS-CTLS-4.02.04A - DEVICE_TIME=20210416180022 - SECURE_PACKETS=aes - DUKPT0=FFFF5B0999000220024F - ADE0=FFFF4950720008800875 terminalId: '1742' server: name: U2API01CE devices_reset_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' example: dateTime: '2024-05-21T09:18:23.283-07:00' devices_reset_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' UISuppressAll: type: boolean example: 'true' description: > When `true`, the terminal suppresses all UI. Example use case: capturing employee/badge swipe data without displaying Commerce Engine UI. VolumeSuppressBeeper: type: boolean example: true description: > When `true`, the terminal suppresses all audible beeper output during the card-read window only — Contactless tap confirmation, MSR swipe, error/decline tones. Volume: type: object properties: suppressBeeper: $ref: '#/components/schemas/VolumeSuppressBeeper' Timeout: type: number example: 0 description: > Optional field that will set the timeout value in seconds. Sending `0` will set an indefinite timeout that can only be cancelled by sending a /devices/reset request. Commerce Engine will use its default value if not sent. devices_promptcardread_comengdevice: title: Commerce Engine For On Premise required: - dateTime properties: apiOptions: $ref: '#/components/schemas/ApiOptions' dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' nextStep: $ref: '#/components/schemas/DeviceNextStep' displayText: $ref: '#/components/schemas/DeviceDisplayText' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressAll: $ref: '#/components/schemas/UISuppressAll' volume: $ref: '#/components/schemas/Volume' timeout: $ref: '#/components/schemas/Timeout' example: dateTime: '2024-05-21T09:18:23.283-07:00' devices_promptcardread_comengcloud: title: Commerce Engine For Cloud required: - dateTime - device properties: apiOptions: $ref: '#/components/schemas/ApiOptions' dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - cloud - manufacturer - serialNumber properties: cloud: $ref: '#/components/schemas/DeviceCloud' manufacturer: $ref: '#/components/schemas/DeviceManufacturer' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' nextStep: $ref: '#/components/schemas/DeviceNextStep' displayText: $ref: '#/components/schemas/DeviceDisplayText' ui: type: object properties: language: $ref: '#/components/schemas/UILanguageRequest' mode: $ref: '#/components/schemas/UIMode' suppressAll: $ref: '#/components/schemas/UISuppressAll' volume: $ref: '#/components/schemas/Volume' example: dateTime: '2024-05-21T09:18:23.283-07:00' device: cloud: true manufacturer: PAX serialNumber: '1170301234' devices_promptcardread_utgdevice: title: UTG Controlled Device required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' CardEntryModeResponseTrackOnly: type: string minLength: 1 maxLength: 1 enum: - '1' - '2' example: '2' description: > The method used to capture a payment card in an authorization/sale request. Value|Description -----|----------- 1 | Track 1 Only or Dual Track (Track 1 & 2) 2 | Track 2 Only P2PEFormat: type: string minLength: 2 maxLength: 2 enum: - '01' - '02' - '03' - '04' - '05' example: '01' description: | Classifies the type of payment device being used for P2PE. Value|Description -----|----------- 01 | IDTech Enhanced Encryption format 02 | IDTech Enhanced Encryption format USB HID 03 | Ingenico format 04 | VeriFone format 05 | Shift4 TDES DUKPT format 07 | AES 128 or 256 P2PE: type: object required: - data - format properties: data: $ref: '#/components/schemas/P2PEData' format: $ref: '#/components/schemas/P2PEFormat' ksn: $ref: '#/components/schemas/P2PEKSN' DevicePromptInputIndex: type: string maxLength: 3 example: '005' description: > This field specifies a value to be collected from a consumer using a UTG-controlled PIN pad. Value| Description | Return Format -----|--------------------------------------|------------------------- 001 | Card Security Code | Numeric 002 | Street Number | Numeric 003 | ZIP Code | Numeric 004 | Social Security Number (SSN) | Numeric, no formatting 005 | Last 4 of SSN | Numeric 006 | Date of Birth | MM/DD/YYYY 007 | Annual Income | Numeric, no formatting 008 | Home Phone Number | Numeric, no formatting 009 | Business Phone Number | Numeric, no formatting 010 | Email Address (Requires Touchscreen) | Alphanumeric 011 | Driver's ID (Requires Touchscreen) | Alphanumeric 012 | Tip | Numeric DevicePromptInputResult: type: string maxLength: 4096 readOnly: true example: '981280913' description: > This field contains the value collected from a consumer using a UTG-controlled PIN pad. DevicePromptInput: type: object required: - index properties: index: $ref: '#/components/schemas/DevicePromptInputIndex' result: $ref: '#/components/schemas/DevicePromptInputResult' devices_promptinput_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - promptInput properties: promptInput: $ref: '#/components/schemas/DevicePromptInput' nextStep: $ref: '#/components/schemas/DeviceNextStep' terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' ui: $ref: '#/components/schemas/UIRequest' devices_promptinput_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - cloud - manufacturer - serialNumber - promptInput properties: cloud: $ref: '#/components/schemas/DeviceCloud' manufacturer: $ref: '#/components/schemas/DeviceManufacturer' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' promptInput: $ref: '#/components/schemas/DevicePromptInput' nextStep: $ref: '#/components/schemas/DeviceNextStep' ui: $ref: '#/components/schemas/UIRequest' devices_promptinput_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId - promptInput properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' promptInput: $ref: '#/components/schemas/DevicePromptInput' DeviceFormButtonArray: type: array minItems: 1 maxItems: 4 items: type: object required: - id - text properties: id: type: string description: > ID value used to identify which button is pressed. The ID of the button the user selected is returned in the `result.form.buttonSelected.id` response field. text: type: string maxLength: 114 description: > Text to display on the button. The text of the button the user selected is returned in the `result.form.buttonSelected.text` response field. example: - id: '1' text: Accept - id: '2' text: Decline description: | Array of 1 - 4 buttons to be displayed on the device. DeviceFormTimeout: type: number minimum: 1 maximum: 600 example: 120 description: > The number of seconds until the custom form will timeout. Defaults to 120 seconds if `form.timeout` is not sent in the request. DeviceProcessFormTypeMultiButtonScrollingText: title: Multi Button Scrolling Text required: - type - buttons properties: type: type: string enum: - multiButtonScrollingText description: > Displays a form with header text, subheader text, scrolling body text and up to 4 buttons. When using this custom form type at least one of the following fields must also be included in the request: - `form.header` - `form.subHeader` - `form.text` header: $ref: '#/components/schemas/DeviceFormHeader' subHeader: $ref: '#/components/schemas/DeviceFormSubHeader' text: $ref: '#/components/schemas/DeviceFormText' buttons: $ref: '#/components/schemas/DeviceFormButtonArray' timeout: $ref: '#/components/schemas/DeviceFormTimeout' DeviceProcessFormTypeMessage: title: Message type: object required: - type properties: type: type: string enum: - message description: > Displays a message based form with header text, subheader text, and body text. When using this custom form type at least one of the following fields must also be included in the request: - `form.header` - `form.subHeader` - `form.text` header: $ref: '#/components/schemas/DeviceFormHeader' subHeader: $ref: '#/components/schemas/DeviceFormSubHeader' text: $ref: '#/components/schemas/DeviceFormText' timeout: $ref: '#/components/schemas/DeviceFormTimeout' DeviceFormQRCode: type: object properties: value: type: string minLength: 1 maxLength: 1024 example: www.shift4.com description: > Contains the QR Code URL string. This value will be converted to a QR code and displayed on the device. DeviceFormFooter: type: object properties: value: type: string maxLength: 100 example: Footer text goes here description: | Footer text. Add `\r\n` to force a new line. DeviceProcessFormTypeQRDisplay: title: QR Display type: object required: - type - qrCode properties: type: type: string enum: - qrDisplay description: > Displays a QR code based form with header text, a QR code image and footer text. qrCode: $ref: '#/components/schemas/DeviceFormQRCode' header: $ref: '#/components/schemas/DeviceFormHeader' footer: $ref: '#/components/schemas/DeviceFormFooter' timeout: $ref: '#/components/schemas/DeviceFormTimeout' devices_processform_comengdevice: title: Commerce Engine For On Premise required: - dateTime - form properties: dateTime: $ref: '#/components/schemas/DateTime' form: oneOf: - $ref: >- #/components/schemas/DeviceProcessFormTypeMultiButtonScrollingText - $ref: '#/components/schemas/DeviceProcessFormTypeMessage' - $ref: '#/components/schemas/DeviceProcessFormTypeQRDisplay' device: type: object properties: nextStep: $ref: '#/components/schemas/DeviceNextStep' ui: $ref: '#/components/schemas/UIRequest' devices_processform_comengcloud: title: Commerce Engine For Cloud required: - dateTime - device - form properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - cloud - manufacturer - serialNumber properties: cloud: $ref: '#/components/schemas/DeviceCloud' manufacturer: $ref: '#/components/schemas/DeviceManufacturer' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' nextStep: $ref: '#/components/schemas/DeviceNextStep' form: oneOf: - $ref: >- #/components/schemas/DeviceProcessFormTypeMultiButtonScrollingText - $ref: '#/components/schemas/DeviceProcessFormTypeMessage' - $ref: '#/components/schemas/DeviceProcessFormTypeQRDisplay' ui: $ref: '#/components/schemas/UIRequest' DeviceFormName: type: string maxLength: 12 example: PF2 description: > Specifies a 12-character, alphanumeric string containing the form name to display on a UTG-controlled PIN pad. The file extension should not be included in the value. DeviceFormItems: type: object writeOnly: true properties: key: type: string writeOnly: true maxLength: 5 example: '1' description: > A five-character, alphanumeric string containing the ID of the field which you want to display a custom value on. value: type: string writeOnly: true maxLength: 200 example: John Smith description: > The value that should be displayed in the field specified by the key. DeviceFormItemsArray: type: array items: $ref: '#/components/schemas/DeviceFormItems' example: - key: 1 value: John Smith - key: 2 value: 123 Open St description: | An array of key/value pairs used to populate fields on the custom form DeviceFormUTG: type: object required: - name properties: name: $ref: '#/components/schemas/DeviceFormName' items: $ref: '#/components/schemas/DeviceFormItemsArray' devices_processform_utgdevice: title: UTG Controlled Device required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId - form properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' form: $ref: '#/components/schemas/DeviceFormUTG' DeviceFormResult: type: string maxLength: 5 readOnly: true example: '87' description: > A five-character, alphanumeric string containing the ID of the button pressed by the consumer on a UTG-controlled PIN pad. DeviceFormResponse: type: object properties: name: $ref: '#/components/schemas/DeviceFormName' result: $ref: '#/components/schemas/DeviceFormResult' devices_processform_response_utg: title: UTG Controlled Device properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' form: $ref: '#/components/schemas/DeviceFormResponse' server: $ref: '#/components/schemas/Server' devices_processform_response_comeng_message: title: Commerce Engine Form Type message properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' server: $ref: '#/components/schemas/Server' devices_processform_response_comeng_multiButtonScrollingText: title: Commerce Engine Form Type multiButtonScrollingText properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' server: $ref: '#/components/schemas/Server' form: type: object properties: buttonSelected: type: object properties: id: type: string example: '1' description: > ID value identifying which button was selected. Matches the value recieved in the `form.buttons.id` request field. text: type: string maxLength: 114 example: Accepted description: > Button text value of the button that was selected. Matches the value recieved in the `form.buttons.text` request field. PrintFormat: type: string enum: - structured example: structured description: | Specifies the receipt printing format being used. PrintFormatVersion: type: string enum: - '1.0' example: '1.0' description: | Specifies the receipt printing format version being used. PrintDataAlignment: type: string enum: - center - left - right example: center description: | Specifies where the print element should be aligned PrintDataBMP: title: BMP Image type: object description: > Used to print images, such as a company logo in BPM format. Can also be used to print the full receipt if the entire receipt data is formatted into a BMP image. required: - type - alignment - value properties: type: type: string enum: - bmp alignment: $ref: '#/components/schemas/PrintDataAlignment' value: type: string description: | Base64 encoded BMP image data PrintDataArray: type: array items: $ref: '#/components/schemas/PrintDataBMP' description: | Array containing the value to print. example: - type: bmp alignment: center value: >- Qk1+BgAAAAAAAD4AAAAoAAAAZAAAAGQAAAABAAEAAAAAAEAGAAAjLgAAIy4AAAAAAAAAAAAAAAAAAP///wD////////////////wAAAA////////D///////8AAAAP/////3AAAP//////AAAAD/////8AAAAN/////wAAAA/////4AAAAAf////8AAAAP////4AAAAAB/////AAAAD////wAAAAAAD////wAAAA////wAAAAAAAf///8AAAAP///4AAAAAAAB////AAAAD///4AAAAAAAAH///wAAAA///8AAAAAAAAA///8AAAAP//8AAAAAAAAAD///AAAAD//+AAAAAAAAAAf//wAAAA///AAAAAAAAAAD//8AAAAP//gAAAAAAAAAAf//AAAAD//wAAAAAAAAAAD//wAAAA//4AAAAAAAAAAAf/8AAAAP/8AAAAAAAAAAAD//AAAAD/+AAAAAAAAAAAAf/wAAAA//AAAAAAAAAAAAD/8AAAAP/gAAAAAAAAAAAAf/AAAAD/4AAAAAAD/AAAAH/wAAAA/8AAAAAAA/wAAAA/8AAAAP+AAAAAAAP8AAAAH/AAAAD/gAAAAAAD/AAAAB/wAAAA/wAAAAAAA/wAAAAP8AAAAP4AAAAAAAP8AAAAD/AAAAD+AAAAAAAD/AAAAAfwAAAA/AAAAAAAA/wAAAAD8AAAAPwAAAAAAAP8AAAAA/AAAAD8AAAAAAAD/AAAAAPwAAAA+AAAAAAAA/wAAAAB8AAAAPgAAAAAAAP8AAAAAfAAAADwAAAAAAAD/AAAAADwAAAA8AAAAAAAA/wAAAAA8AAAAPAAAAAAAAP8AAAAAPAAAADgAAAAAAAD/AAAAABwAAAA4AAAD/////wAAAAAcAAAAOAAAA/////8AAAAAHAAAADgAAAf/////AAAAABwAAAAgAAAH/////wAAAAAMAAAAMAAAB/////8AAAAADAAAADAAAAf/////AAAAAAwAAAAwAAAD/////wAAAAAMAAAAMAAAAf9///8AAAAADAAAADAAAAD/AAD/AAAAAAwAAAAwAAAA/4AA/wAAAAAMAAAAIAAAAH/AAP8AAAAADAAAAAAAAAA/wAD/AAAAAAQAAAAAAAAAH+AA/wAAAAAEAAAAAAAAAB/wAP8AAAAABAAAACAAAAAP+AD/AAAAAAQAAAAgAAAAB/wA/wAAAAAMAAAAMAAAAAP8AP8AAAAADAAAADAAAAAB/gD/AAAAAAwAAAAwAAAAAf8A/wAAAAAMAAAAMAAAAAD/gP8AAAAADAAAADAAAAAAf4D/AAAAAAwAAAAwAAAAAD/A/wAAAAAMAAAAIAAAAAA/4P8AAAAADAAAADgAAAAAH/D/AAAAABwAAAA4AAAAAA/4/wAAAAAcAAAAOAAAAAAH+P8AAAAAHAAAADgAAAAAA/z/AAAAABwAAAA8AAAAAAP+/wAAAAA8AAAAPAAAAAAB//8AAAAAPAAAADwAAAAAAP//AAAAADwAAAA+AAAAAAB//wAAAAB8AAAAPgAAAAAAf/8AAAAAfAAAAD4AAAAAAD//AAAAAPwAAAA/AAAAAAAf/wAAAAD8AAAAPwAAAAAAD/8AAAAA/AAAAD+AAAAAAAf/AAAAAfwAAAA/gAAAAAAH/wAAAAH8AAAAP8AAAAAAA/8AAAAD/AAAAD/gAAAAAAH/AAAAB/wAAAA/4AAAAAAA/wAAAAf8AAAAP/AAAAAAAP8AAAAP/AAAAD/4AAAAAAB/AAAAH/wAAAA/+AAAAAAAFAAAAB/8AAAAP/wAAAAAAAAAAAA//AAAAD/+AAAAAAAAAAAAf/wAAAA//wAAAAAAAAAAAP/8AAAAP/+AAAAAAAAAAAH//AAAAD//wAAAAAAAAAAD//wAAAA//+AAAAAAAAAAB//8AAAAP//wAAAAAAAAAA///AAAAD//+AAAAAAAAAAf//wAAAA///wAAAAAAAAAP//8AAAAP///AAAAAAAAAP///AAAAD///4AAAAAAAAH///wAAAA////gAAAAAAAH///8AAAAP///8AAAAAAAD////AAAAD////wAAAAAAD////wAAAA/////AAAAAAH////8AAAAP////+AAAAAH/////AAAAD/////8AAAAP/////wAAAA//////8AAA7/////8AAAAP///////gf///////AAAAD///////+f///////wAAAA Print: type: object description: > Object contain elements for printing. See the [Supporting Built-In Receipt Printing Capability on Devices](/guides/core-concepts/printing-receipts#supporting-built-in-receipt-printing-capability-on-devices) required: - format - version - data properties: format: $ref: '#/components/schemas/PrintFormat' version: $ref: '#/components/schemas/PrintFormatVersion' data: $ref: '#/components/schemas/PrintDataArray' devices_print_comengdevice_structured: title: Commerce Engine For On Premise - Structured type: object required: - dateTime - print properties: dateTime: $ref: '#/components/schemas/DateTime' print: $ref: '#/components/schemas/Print' devices_print_comengcloud_structured: title: Commerce Engine For Cloud - Structured type: object required: - dateTime - device - print properties: dateTime: $ref: '#/components/schemas/DateTime' device: $ref: '#/components/schemas/DeviceComEngCloud' print: $ref: '#/components/schemas/Print' ReceiptDevicesPrint: type: object required: - key - printValue properties: key: type: string maxLength: 100 example: print description: | Must be sent as `print`. printValue: type: string example: Text to print goes here description: | The text that you want to print on the receipt. ReceiptArrayDevicesPrint: type: array items: $ref: '#/components/schemas/ReceiptDevicesPrint' example: - key: print printValue: Text to print goes here description: > Array containing the receipt text data to print. See the [Supporting Built-In Receipt Printing Capability on Devices](/guides/core-concepts/printing-receipts#supporting-built-in-receipt-printing-capability-on-devices) devices_print_comengdevice_legacy: title: Commerce Engine On Premise - Legacy type: object required: - dateTime - receipt properties: dateTime: $ref: '#/components/schemas/DateTime' receipt: $ref: '#/components/schemas/ReceiptArrayDevicesPrint' devices_print_comengcloud_legacy: title: Commerce Engine Cloud - Legacy type: object required: - dateTime - device - receipt properties: dateTime: $ref: '#/components/schemas/DateTime' device: $ref: '#/components/schemas/DeviceComEngCloud' receipt: $ref: '#/components/schemas/ReceiptArrayDevicesPrint' devices_print_utgdevice: title: UTG Controlled Device type: object required: - dateTime - device - receipt properties: dateTime: $ref: '#/components/schemas/DateTime' device: $ref: '#/components/schemas/DeviceOnlyTID' receipt: $ref: '#/components/schemas/ReceiptArrayDevicesPrint' devices_getstatus_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime properties: dateTime: $ref: '#/components/schemas/DateTime' example: dateTime: '2024-05-21T09:18:23.283-07:00' devices_getstatus_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: $ref: '#/components/schemas/DeviceComEngCloud' example: dateTime: '2024-05-21T09:18:23.283-07:00' device: cloud: true manufacturer: PAX serialNumber: '1170301234' CloudRegistered: type: string enum: - 'Y' - 'N' example: 'Y' description: | Specifies whether or not the device is registerd with the cloud service. | Value | Description | |-------|----------------------------------------------------------| | Y | Device is successfully registered with the cloud service | | N | Device is not registered with the cloud service | CloudConnected: type: string enum: - 'Y' - 'N' example: 'Y' description: > Specifies whether or not the device is successfully connected to the cloud service. | Value | Description | |-------|----------------------------------------------------------| | Y | Device is successfully connected to the cloud service | | N | Device is unable to connect to the cloud service | OfflineMode: type: string enum: - 'Y' - 'N' - U example: 'N' description: > Specifies whether or not the device is in offline mode. | Value | Description | |-------|--------------------| | Y | Device is offline | | N | Device is online | | U | Offline status is unknown. For example, when sending the Get Device Status command via Commerce Engine For Cloud and the device is not connected.| AmountPromptTip: type: object required: - total properties: total: type: number maxLength: 14 example: 100 description: > The total transaction amount. Used as the seed for calculating the tip amount when using preset percentages. tipBasis: $ref: '#/components/schemas/AmountTipBasis' devices_prompttip_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime - amount - tip properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountPromptTip' tip: $ref: '#/components/schemas/TipObject' ui: $ref: '#/components/schemas/UIRequest' devices_prompttip_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - amount - tip properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountPromptTip' device: $ref: '#/components/schemas/DeviceComEngCloud' tip: $ref: '#/components/schemas/TipObject' ui: $ref: '#/components/schemas/UIRequest' AmountTipResponse: type: number maxLength: 14 example: 20 description: | The tip amount of the transaction. TipSelectedOption: type: string enum: - preset1 - preset2 - preset3 - other - notip example: preset2 description: | The tip option selected by the cardholder. | Value | Description | |---------|------------------------------------------------| | preset1 | The cardholder selected the preset 1 button | | preset2 | The cardholder selected the preset 2 button | | preset3 | The cardholder selected the preset 3 button | | other | The cardholder selected the other button | | notip | The cardholder selected the cash/no tip button | ServerNameComEng: type: string maxLength: 50 example: Commerce Engine K description: | The name of the server that processed the request. ServerComEng: type: object readOnly: true properties: name: $ref: '#/components/schemas/ServerNameComEng' BatchInclusiveResponse: type: string minLength: 1 maxLength: 1 example: 'N' enum: - 'Y' - 'N' description: > Indicates whether or not the batch includes transactions for every day leading up to the business date. Value|Description -----|----------- Y | The batch includes transactions for every day leading up to the specified business date N | The batch includes transactions for only the specified business date BatchNetAmountResponse: type: number maxLength: 14 example: 5601.78 description: | The net amount in the batch (saleAmount MINUS refundAmount) BatchNetCountResponse: type: integer example: 187 description: | The net transaction count in the batch (saleCount PLUS refundCount) BatchRefundAmount: type: number maxLength: 14 readOnly: true example: 100 description: | The total amount of all refunds in the batch BatchRefundCount: type: integer readOnly: true example: 1 description: | The count of all refunds in the batch BatchSaleAmount: type: number maxLength: 14 readOnly: true example: 5701.78 description: | The total amount of all sales in the batch BatchSaleCount: type: integer readOnly: true example: 186 description: | The count of all sales in the batch BatchResponseNoProcessors: type: object properties: inclusive: $ref: '#/components/schemas/BatchInclusiveResponse' netAmount: $ref: '#/components/schemas/BatchNetAmountResponse' netCount: $ref: '#/components/schemas/BatchNetCountResponse' refundAmount: $ref: '#/components/schemas/BatchRefundAmount' refundCount: $ref: '#/components/schemas/BatchRefundCount' saleAmount: $ref: '#/components/schemas/BatchSaleAmount' saleCount: $ref: '#/components/schemas/BatchSaleCount' SubmitBatchBusinessDate: type: string format: ISO 8601 minLength: 10 example: '2021-04-15T00:00:00.000-07:00' description: | The business date you want to close a batch for. BatchInclusive: type: string minLength: 1 maxLength: 1 example: 'N' enum: - 'Y' - 'N' description: > Indicates whether or not you want the batch to include transactions for every day leading up to the `transaction.businessDate`. Value|Description -----|----------- Y | The batch will contain transactions for every day leading up to the specified `businessDate` N | The batch will contain transactions for only the specified `businessDate` BatchNetAmount: type: number maxLength: 14 example: 5601.78 description: > The net amount that is expected to be in the batch (sales MINUS refunds). If this field is sent and the amount does not match, an error will be returned, and the batch will not be closed. BatchNetCount: type: integer example: 187 description: > The net transaction count in the batch (sales PLUS refunds). If this field is sent and the count does not match, an error will be returned, and the batch will not be closed. Batch: type: object required: - inclusive properties: inclusive: $ref: '#/components/schemas/BatchInclusive' netAmount: $ref: '#/components/schemas/BatchNetAmount' netCount: $ref: '#/components/schemas/BatchNetCount' BatchProcessorsArchivesId: type: integer maxLength: 10 example: '41' description: | The ID that was assigned to the closed batch. BatchProcessorsProcessor: type: string readOnly: true example: TSYS description: | The processor which handled this batch of transactions. BatchProcessorsCurrencyCode: type: string readOnly: true example: '840' description: | The type of currency used for this batch of transactions. BatchProcessors: type: object properties: archivesID: $ref: '#/components/schemas/BatchProcessorsArchivesId' processor: $ref: '#/components/schemas/BatchProcessorsProcessor' currencyCode: $ref: '#/components/schemas/BatchProcessorsCurrencyCode' refundAmount: $ref: '#/components/schemas/BatchRefundAmount' refundCount: $ref: '#/components/schemas/BatchRefundCount' saleAmount: $ref: '#/components/schemas/BatchSaleAmount' saleCount: $ref: '#/components/schemas/BatchSaleCount' BatchProcessorsArray: type: array items: $ref: '#/components/schemas/BatchProcessors' BatchResponse: type: object properties: inclusive: $ref: '#/components/schemas/BatchInclusiveResponse' netAmount: $ref: '#/components/schemas/BatchNetAmountResponse' netCount: $ref: '#/components/schemas/BatchNetCountResponse' refundAmount: $ref: '#/components/schemas/BatchRefundAmount' refundCount: $ref: '#/components/schemas/BatchRefundCount' saleAmount: $ref: '#/components/schemas/BatchSaleAmount' saleCount: $ref: '#/components/schemas/BatchSaleCount' processors: $ref: '#/components/schemas/BatchProcessorsArray' TransactionSaleFlagQR: type: string maxLength: 1 example: S enum: - A - S description: > Specifies a transaction is a sale (‘S’) or authorization (‘A’). Value sent in the [Get QR Code](/apis/payments-platform-rest/openapi/qr-payments/getqrcode) request will be returned in the [Get QR Details](/apis/payments-platform-rest/openapi/qr-payments/getqrdetails) response. QRCodeResponseValue: type: string example: https://pay.skytab.com/A3KD42J maxLength: 1024 description: > Contains the QR Code URL string. This string can be converted to a QR code for printing on receipts or displaying on devices. QRCodeResponse: type: object properties: value: $ref: '#/components/schemas/QRCodeResponseValue' QRCodeRequestValue: type: string example: https://pay.skytab.com/A3KD42J maxLength: 1024 description: > Contains the QR Code URL string. This must match the value received in the [Get QR Code](/apis/payments-platform-rest/openapi/qr-payments/getqrcode) response. QRCodeRequest: type: object required: - value properties: value: $ref: '#/components/schemas/QRCodeRequestValue' QRPayConfigSplitEnabled: type: string minLength: 1 maxLength: 1 enum: - 'Y' - 'N' description: > Specifies whether split check processing is enabled or disabled for QR Code Payments Value|Description -----|----------- Y | Split check proessing is enabled. N | Split check proessing is disabled. QRPayConfigTipEnabled: type: string minLength: 1 maxLength: 1 enum: - 'Y' - 'N' description: | Specifies whether tip prompting is enabled or disabled for the merchant Value|Description -----|----------- Y | Tip prompting is enabled. N | Tip prompting is disabled. QRPayConfigTipPresetsArray: type: array items: type: string example: - '15' - '18' - '20' readOnly: true description: | Tip preset percentages configured by the merchant. QRPayConfig: type: object readOnly: true properties: splitEnabled: $ref: '#/components/schemas/QRPayConfigSplitEnabled' tipEnabled: $ref: '#/components/schemas/QRPayConfigTipEnabled' tipPresets: $ref: '#/components/schemas/QRPayConfigTipPresetsArray' TransactionResponseCodeQRPaymentStatus: type: string minLength: 1 maxLength: 1 readOnly: true example: V enum: - A - C - T description: > Code indicating that the status of the QR code payment Value |Description -------|----------- A | The QR Payment was processed and approved. C | The QR Payment was cancelled. The QR code had not been used for payment or the payment was not successful. T | The QR Payment was cancelled. The QR code had already been used for payment and was approved. The approval was reversed. TransactionResponseCodeQRCancel: type: string minLength: 1 maxLength: 1 readOnly: true example: C enum: - C - T description: > Code indicating that the QR code was cancelled and if it was reversed Value |Description -------|----------- C | The QR Payment was cancelled. The QR code had not been used for payment or the payment was not successful. T | The QR Payment was cancelled. The QR code had already been used for payment and was approved. The approval was reversed. TransactionAuthSourceMode: type: string minLength: 1 maxLength: 1 readOnly: true example: O enum: - E - O description: | Indicates whether the UTG is online or offline. Value | Description -------|---------------------------- E | Online O | Offline TransactionToShip: type: string maxLength: 1 example: 'Y' enum: - 'Y' - 'N' description: | Merchants acknowledgement to ship/process the order. TransactionOrderId: type: string example: '92282831' description: | Merchant’s Order Number CardTypeRisk: type: string enum: - AP - CC - PP - GC example: CC description: | Payment Type submitted by merchant: Value| Description -----|------------ AP | Apple Pay CC | Credit Card PP | PayPal GC | Gift Card AmountRisk: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. All other fields are for informational purposes and must also be included in the `total` field. For example, a purchase of $100 with $8 tax would be “108.00” in the `total` field and "8.00" in the `tax` field. Note: For merchants that are configured to allow multiple currencies, the amount fields can specify up to three decimal places. However, the number of decimal places can not exceed the number allowed for the specified currency. See the [Currency Codes](/guides/appendices/currency-codes) section for details. required: - total properties: total: $ref: '#/components/schemas/AmountTotal' tax: $ref: '#/components/schemas/AmountTax' RiskSessionId: type: string maxLength: 32 example: 123420552ab34024b461455de4bcb482 description: | Unique Session ID. Must be unique over a 30-day span. SourceIP: type: string example: 63.57.84.101 description: > Public source IP Address where the request originates, not the IP Address of the web server. BillingEmailAddress: type: string example: firstname.lastname@email.com description: | This is the email address submitted by the customer. BillingFullName: type: string example: John Smith description: | Name submitted with the order BillingAddressLine1: type: string example: 65 Easy St description: | Billing street address - Line 1 BillingAddressLine2: type: string example: c/o John Doe description: | Billing street address - Line 2 BillingCity: type: string example: Las Vegas description: | Billing address - City BillingRegion: type: string maxLength: 3 example: NV description: | Billing address - State/Province BillingPostalCode: type: string minLength: 5 maxLength: 9 example: '65144' description: | Billing address - Postal Code BillingCountry: type: string example: US description: | Billing address - Country BillingPhoneNumber: type: string example: '+13110001234' description: | Bill-to Phone Number ShippingAddressLine1: type: string example: 65 Easy St maxLength: 30 description: | Shipping street address - Line 1 ShippingAddressLine2: type: string example: c/o John Doe maxLength: 30 description: | Shipping street address - Line 2 ShippingCity: type: string example: Las Vegas maxLength: 30 description: | Shipping address - City ShippingCountry: type: string example: US maxLength: 2 description: | Shipping address - 2 character ISO Country Code. ShippingEmailAddress: type: string example: firstname.lastname@email.com description: | Shipping address - Email address of recipient ShippingFullName: type: string example: John 'Smith' description: | Shipping address - Name of recipient ShippingPostalCode: type: string minLength: 5 maxLength: 9 example: '65144' description: | Shipping address - Postal Code ShippingPhoneNumber: type: string example: '+13110001234' description: | Ship-to Phone Number ShippingRegion: type: string example: NV maxLength: 3 description: > Shipping address - A level 2 country subdivision code according to ISO-3166-2. ShippingType: type: string maxLength: 1 example: 'Y' enum: - SD - ND - 2D - ST description: | Shipping type. Value| Description -----|------------ SD | Same Day ND | Next Day 2D | Second Day ST | Standard ShoppingCartType: type: string example: Deodarant description: > Shopping cart data array attribute high level or generalized description of the item added to the shopping cart; this value should be free from any markup or Unicode values. This value should be passed as plain text. ShoppingCartDescription: type: string example: New Spice Fiji description: > Shopping cart data array attribute for a specific description of the item being purchased. ShoppingCartSKU: type: string example: '579446588' description: > Shopping cart data array attribute typically the SKU for an item; this value should be free from any markup or Unicode values. This value should be passed as plain text. ShoppingCartQuantity: type: integer example: 4 description: > Shopping cart data array attribute signifying the quantity of the item being purchased. ShoppingCartPrice: type: number example: 1000 description: > Shopping cart data array attribute for the price of the single item. Must be a natural number including 0. ShoppingCartArray: type: array items: type: object properties: type: $ref: '#/components/schemas/ShoppingCartType' description: $ref: '#/components/schemas/ShoppingCartDescription' sku: $ref: '#/components/schemas/ShoppingCartSKU' quantity: $ref: '#/components/schemas/ShoppingCartQuantity' price: $ref: '#/components/schemas/ShoppingCartPrice' example: - type: Deodarant sku: '579446588' description: New Spice Fiji quantity: '5' price: 4 - type: Toothbrush sku: '135488945' description: Electric Model quantity: '1' price: 104.99 description: | Array of objects detailing the individual items being purchased risk_assess_unencryptedcard: type: object title: Card Number Unencrypted allOf: - type: object required: - dateTime - card - transaction - amount - currencyCode - risk - sourceIp properties: dateTime: $ref: '#/components/schemas/DateTime' transaction: type: object required: - invoice properties: toShip: $ref: '#/components/schemas/TransactionToShip' orderId: $ref: '#/components/schemas/TransactionOrderId' invoice: $ref: '#/components/schemas/TransactionInvoice' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' card: type: object required: - number - type properties: type: $ref: '#/components/schemas/CardTypeRisk' number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' amount: $ref: '#/components/schemas/AmountRisk' currencyCode: $ref: '#/components/schemas/CurrencyCode' risk: type: object required: - sessionId properties: sessionId: $ref: '#/components/schemas/RiskSessionId' sourceIp: $ref: '#/components/schemas/SourceIP' customer: type: object properties: emailAddress: $ref: '#/components/schemas/BillingEmailAddress' fullName: $ref: '#/components/schemas/BillingFullName' addressLine1: $ref: '#/components/schemas/BillingAddressLine1' addressLine2: $ref: '#/components/schemas/BillingAddressLine2' city: $ref: '#/components/schemas/BillingCity' region: $ref: '#/components/schemas/BillingRegion' postalCode: $ref: '#/components/schemas/BillingPostalCode' country: $ref: '#/components/schemas/BillingCountry' phoneNumber: $ref: '#/components/schemas/BillingPhoneNumber' shipping: type: object properties: addressLine1: $ref: '#/components/schemas/ShippingAddressLine1' addressLine2: $ref: '#/components/schemas/ShippingAddressLine2' city: $ref: '#/components/schemas/ShippingCity' country: $ref: '#/components/schemas/ShippingCountry' emailAddress: $ref: '#/components/schemas/ShippingEmailAddress' fullName: $ref: '#/components/schemas/ShippingFullName' postalCode: $ref: '#/components/schemas/ShippingPostalCode' phoneNumber: $ref: '#/components/schemas/ShippingPhoneNumber' region: $ref: '#/components/schemas/ShippingRegion' type: $ref: '#/components/schemas/ShippingType' shoppingCart: $ref: '#/components/schemas/ShoppingCartArray' example: dateTime: '2022-02-07T12:36:42.948061-05:00' transaction: toShip: 'Y' orderId: orderId invoice: '0207123502' vendorReference: simulator1.0:0207123502 card: type: CC number: '342877777777705' expirationDate: 1123, entryMode: M present: 'N' amount: total: 76001.99 currencyCode: USD risk: sessionId: 123420552ab34024b461455de4bcb482 sourceIp: 10.249.11.239 customer: emailAddress: firstname.lastname@email.com shoppingCart': - type: Deodarant description: New Spice Fiji sku: '579446588' quantity: '5' price: 4 - type: Toothbrush description: Electric Model sku: '135488945' quantity: '1' price: 104.99 CardTypeRiskToken: type: string enum: - TK example: TK description: | Payment Type submitted by merchant: Value| Description -----|------------ TK | Token risk_assess_token_gtv: title: GTV Token type: object allOf: - type: object required: - dateTime - card - transaction - amount - currencyCode - risk - sourceIp properties: dateTime: $ref: '#/components/schemas/DateTime' transaction: type: object required: - invoice properties: toShip: $ref: '#/components/schemas/TransactionToShip' orderId: $ref: '#/components/schemas/TransactionOrderId' invoice: $ref: '#/components/schemas/TransactionInvoice' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' purchaseCard: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' card: type: object required: - token - type properties: type: $ref: '#/components/schemas/CardTypeRiskToken' token: $ref: '#/components/schemas/CardTokenRequired' expirationDate: $ref: '#/components/schemas/CardExpirationDate' entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' amount: $ref: '#/components/schemas/AmountRisk' currencyCode: $ref: '#/components/schemas/CurrencyCode' risk: type: object required: - sessionId properties: sessionId: $ref: '#/components/schemas/RiskSessionId' sourceIp: $ref: '#/components/schemas/SourceIP' customer: type: object properties: emailAddress: $ref: '#/components/schemas/BillingEmailAddress' fullName: $ref: '#/components/schemas/BillingFullName' addressLine1: $ref: '#/components/schemas/BillingAddressLine1' addressLine2: $ref: '#/components/schemas/BillingAddressLine2' city: $ref: '#/components/schemas/BillingCity' region: $ref: '#/components/schemas/BillingRegion' postalCode: $ref: '#/components/schemas/BillingPostalCode' country: $ref: '#/components/schemas/BillingCountry' phoneNumber: $ref: '#/components/schemas/BillingPhoneNumber' shipping: type: object properties: addressLine1: $ref: '#/components/schemas/ShippingAddressLine1' addressLine2: $ref: '#/components/schemas/ShippingAddressLine2' city: $ref: '#/components/schemas/ShippingCity' country: $ref: '#/components/schemas/ShippingCountry' emailAddress: $ref: '#/components/schemas/ShippingEmailAddress' fullName: $ref: '#/components/schemas/ShippingFullName' postalCode: $ref: '#/components/schemas/ShippingPostalCode' phoneNumber: $ref: '#/components/schemas/ShippingPhoneNumber' region: $ref: '#/components/schemas/ShippingRegion' type: $ref: '#/components/schemas/ShippingType' shoppingCart: $ref: '#/components/schemas/ShoppingCartArray' example: dateTime: '2022-02-07T12:36:42.948061-05:00' transaction: toShip: 'Y' orderId: orderId invoice: '0207123502' vendorReference: simulator1.0:0207123502 card: type: TK token: value: '8048471746471119' entryMode: M present: 'N' amount: total: 76001.99 currencyCode: USD risk: sessionId: 123420552ab34024b461455de4bcb482 sourceIp: 10.249.11.239 customer: emailAddress: firstname.lastname@email.com shoppingCart': - type: Deodarant description: New Spice Fiji sku: '579446588' quantity: '5' price: 4 - type: Toothbrush description: Electric Model sku: '135488945' quantity: '1' price: 104.99 RiskAssessment: type: string enum: - A - D - R - E example: A description: > This is the answer to the risk assessment. If the response is Escalate then transaction needs 3DS authentication. Value| Description -----|------------ A | Approve. Continue with the payment transaction. D | Deny. Try another payment method R | Review. Continue with the payment transaction. E | Escalate. The transaction needs 3DS authentication. TransactionS4RiskId: type: string example: EC52377F-5A8E-4534-BE7A-CF779A35BE45 description: > Unique transaction identification number generated by Shift4 to identify a specific risk transaction and a field that can be searched in LTM. HostResponseReasonCodeRisk: type: string maxLength: 4 example: '271' description: > Returns a response code from the host. Value |Reason Description ------|------------------ 201 | Missing version of provider, this is built into SDK but must be supplied by merchant if not using the SDK 202 | The mode type for post is missing. 203 | The six digit Merchant ID was not sent 204 | The unique session ID was not sent 205 | Transaction ID number 211 | The currency was missing in the RISK submission 212 | The total amount was missing 221 | The email address was missing 222 | For MODE = P RISK inquiries the caller ID is missing 223 | The website identifier that was created in the Agent Web Console (DEFAULT is the default website ID) is missing 231 | The payment type is missing. 232 | The credit card information is missing 233 | Missing Magnetic Ink Character Recognition string 234 | The PayPal Payer ID is missing 235 | The payment token is missing. 241 | The IP address is missing 251 | The merchant acknowledgement is missing 261 | The RISK query submitted to provider contained no data 271 | The shopping cart data array attribute is missing. 272 | The shopping cart data array attribute is missing. 273 | The shopping cart data array attribute is missing. 274 | The shopping cart data array attribute is missing. 275 | The shopping cart data array attribute is missing. 301 | The version of provider supplied by merchant does not fit the four integer parameter 302 | The mode type is invalid. 303 | The six digit Merchant ID is malformed or wrong 304 | The unique session ID is invalid. Refer to the Data Collector 305 | Transaction ID number is malformed 311 | The currency was wrong in the RISK submission 312 | The total amount is wrong. TOTL is the whole number amount charged to customer 321 | The email address does not meet required format or is greater than 64 characters in length 322 | For MODE = P RISK inquiries the caller ID is malformed 323 | The website identifier that was created in the Agent Web Console (DEFAULT is the default w website ID) does not match what was created in the AWC. 324 | The specified format is wrong. Format options are key value pairs, XML, JSON, YAML 331 | The payment type is wrong. 332 | The credit card information is malformed or wrong, test cards do not work in the production environment 333 | Malformed or improper Magnetic Ink Character Recognition string. 334 | The PayPal Payer ID is malformed or corrupt. 335 | Malformed or improper Google Checkout Account ID string. 336 | Malformed or improper Bill Me Later account number. 337 | The encryption method specified is wrong. 338 | The GreenDot payment token is not a valid payment token 339 | When payment type equals CARD, PTYP = CARD and payment encryption type equals KHASH, `PENC = KHASH the value must be 20 characters in length. 340 | Invalid or excessive characters in the PTOK field 341 | The IP address does not match specifications 342 | The Gift Card payment token is invalid due to invalid characters, null, or exceeding character length 351 | The merchant acknowledgement must be Y or N 362 | There is a discrepancy in the shopping cart key count and the number of items actually being sent in the cart 371 | The shopping cart data array attribute is missing. 372 | The shopping cart data array attribute is corrupt or missing. 373 | The shopping cart data array attribute is corrupt or missing. 374 | The shopping cart data array attribute is corrupt or missing. 375 | The shopping cart data array attribute is corrupt or missing. 399 | A UDF has been mistyped or does not exist in the Agent Web Console 401 | RISK keys submitted by merchant were not part of SDK 404 | When PTYP equals NONE and a PTOK is submitted 413 | The RISK Post to provider exceeded the 4K limit. 501 | Error regarding certificate - Using test certificate in prod 502 | Invalid Merchant ID has been entered 601 | Unspecified system error - Contact Merchant Services 602 | Provider will not process particular transaction 701 | No header found with merchantId = [XXXXX], session_id = [htot2kk5khpamo45f777q455], trans=[122347] This error occurs when a RISK request goes to the database and there is no data available in the reply. The Update post had an invalid transaction ID#. Check all required fields for update post and confirm they are being passed correctly. HostResponseReasonDescriptionRisk: type: string maxLength: 73 example: The credit card information is missing description: | Returns a description from the host. CustomerCity: type: string example: Las Vegas maxLength: 30 description: | Customer address city. CustomerCountry: type: string example: US maxLength: 2 description: > 2 character ISO Country Code. See the [ISO](https://www.iso.org/obp/ui/#search/code/) website for details. CustomerPhoneNumber: type: string example: '3110001234' maxLength: 32 description: | Customer phone number CustomerPhoneCountry: type: string example: '1' minLength: 1 maxLength: 3 description: | Country calling code of the phone number. Required when sending `customer.phoneNumber`. CustomerRegion: type: string maxLength: 3 example: NV description: | A level 2 country subdivision code according to ISO-3166-2. CustomerExternalId: type: string example: OD-123 description: | Your external identifier for the Customer CustomerEnrollDate: type: string format: ISO 8601 example: '2019-03-14T11:16:42.896-07:00' description: > Date of the user's first transaction in your system, regardless of payment method used. The date and time must be passed in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm) OTAChangeGuest: type: string example: 'Y' enum: - 'Y' - 'N' description: > Whether the guest (the person being served) is able to be changed. Fraudsters tend to pay for services that can change the guest. OTAServiceEndDate: type: string format: YYYY-MM-DD example: '2024-04-20' description: > OTA service end date in YYYY-MM-DD format. A consumer booking a service such as a hotel for too many days elevates risk. OTAServiceStartDate: type: string format: YYYY-MM-DD example: '2024-04-18' description: > OTA service start date in YYYY-MM-DD format. A service start date that is very close to the transaction date elevates risk. OTAStartCity: type: string example: Las Vegas description: | OTA start city. OTAStartCountry: type: string format: ISO 3166 Alpha-2 example: US description: > OTA start country in ISO 3166 Alpha-2 format.; for example, country where bus ticket was purchased. OTAStartZipCode: type: string example: '89134' description: | OTA start zip code. OTAType: type: array items: type: string enum: - hotel - trainticket - ferry - bus - multimodal - airline - cruise - carrental example: - hotel - airline - trainticket description: | OTA transaction type array. OTARequestPayPal: type: object description: > **Conditional: Utilize this object for Online Travel Agency transactions** required: - changeGuest - serviceEndDate - serviceStartDate - startCity - startCountry - startZipCode - type properties: changeGuest: $ref: '#/components/schemas/OTAChangeGuest' serviceEndDate: $ref: '#/components/schemas/OTAServiceEndDate' serviceStartDate: $ref: '#/components/schemas/OTAServiceStartDate' startCity: $ref: '#/components/schemas/OTAStartCity' startCountry: $ref: '#/components/schemas/OTAStartCountry' startZipCode: $ref: '#/components/schemas/OTAStartZipCode' type: $ref: '#/components/schemas/OTAType' PayPalClientMetaDataId: type: string example: 6f52ab38539f7e1037e8aa8e7b95407b description: > Identifier for completing risk check. Returned if `transaction.ota` is sent in the request. PayPalClientToken: type: string example: >- eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpGVXpJMU5pSXNJbXRwWkNJNklqSXdNVGd3TkRJMk1UWXRjMkZ1WkdKdmVDSXNJbWx6Y3lJNkltaDBkSEJ6T2k4dllYQnBMbk5oYm1SaWIzZ3VZbkpoYVc1MGNtVmxaMkYwWlhkaGVTNWpiMjBpZlEuZXlKbGVIQWlPakUzTVRNMk1qWXdNelVzSW1wMGFTSTZJbVl6WVRFek9EQm1MVFJpTURRdE5ERXpOQzA1WWpFMExUY3haalV5T0RKbVlXRTVOeUlzSW5OMVlpSTZJblkyY3pKemJXSTNObUptT1Rad2REUWlMQ0pwYzNNaU9pSm9kSFJ3Y3pvdkwyRndhUzV6WVc1a1ltOTRMbUp5WVdsdWRISmxaV2RoZEdWM1lYa3VZMjl0SWl3aWJXVnlZMmhoYm5RaU9uc2ljSFZpYkdsalgybGtJam9pZGpaek1uTnRZamMyWW1ZNU5uQjBOQ0lzSW5abGNtbG1lVjlqWVhKa1gySjVYMlJsWm1GMWJIUWlPbVpoYkhObGZTd2ljbWxuYUhSeklqcGJJbTFoYm1GblpWOTJZWFZzZENKZExDSnpZMjl3WlNJNld5SkNjbUZwYm5SeVpXVTZWbUYxYkhRaVhTd2liM0IwYVc5dWN5STZleUp0WlhKamFHRnVkRjloWTJOdmRXNTBYMmxrSWpvaVlYQnROSEZoSW4xOS5fNW9hUm9WSkxYWGZTWnM0ZUNxUVdTYkF5X3A3UFZuOUdfbjYteDE4Q0tPUUFuYmxRN2tHVExJOW5OOHM0OW52NW92Y1YwYXJnVHNNUkw5bjF6TXU3USIsImNvbmZpZ1VybCI6Imh0dHBzOi8vYXBpLnNhbmRib3guYnJhaW50cmVlZ2F0ZXdheS5jb206NDQzL21lcmNoYW50cy92NnMyc21iNzZiZjk2cHQ0L2NsaWVudF9hcGkvdjEvY29uZmlndXJhdGlvbiIsIm1lcmNoYW50QWNjb3VudElkIjoiYXBtNHFhIiwiZ3JhcGhRTCI6eyJ1cmwiOiJodHRwczovL3BheW1lbnRzLnNhbmRib3guYnJhaW50cmVlLWFwaS5jb20vZ3JhcGhxbCIsImRhdGUiOiIyMDE4LTA1LTA4IiwiZmVhdHVyZXMiOlsidG9rZW5pemVfY3JlZGl0X2NhcmRzIl19LCJjbGllbnRBcGlVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvdjZzMnNtYjc2YmY5NnB0NC9jbGllbnRfYXBpIiwiZW52aXJvbm1lbnQiOiJzYW5kYm94IiwibWVyY2hhbnRJZCI6InY2czJzbWI3NmJmOTZwdDQiLCJhc3NldHNVcmwiOiJodHRwczovL2Fzc2V0cy5icmFpbnRyZWVnYXRld2F5LmNvbSIsImF1dGhVcmwiOiJodHRwczovL2F1dGgudmVubW8uc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbSIsInZlbm1vIjoib2ZmIiwiY2hhbGxlbmdlcyI6W10sInRocmVlRFNlY3VyZUVuYWJsZWQiOnRydWUsImFuYWx5dGljcyI6eyJ1cmwiOiJodHRwczovL29yaWdpbi1hbmFseXRpY3Mtc2FuZC5zYW5kYm94LmJyYWludHJlZS1hcGkuY29tL3Y2czJzbWI3NmJmOTZwdDQifSwicGF5cGFsRW5hYmxlZCI6dHJ1ZSwicGF5cGFsIjp7ImJpbGxpbmdBZ3JlZW1lbnRzRW5hYmxlZCI6dHJ1ZSwiZW52aXJvbm1lbnROb05ldHdvcmsiOmZhbHNlLCJ1bnZldHRlZE1lcmNoYW50IjpmYWxzZSwiYWxsb3dIdHRwIjp0cnVlLCJkaXNwbGF5TmFtZSI6ImFwbTRxYSIsImNsaWVudElkIjoiQWVvaGtSQk93UUtCZXJfZ0x2ZnJqTWR4aDhra2tiSm1YZG84WEtORzBwSUFpYlFwWjNTWDdqTXRQTnhwSFlJTmNEVlFVeHlnaHJrVkJydTQiLCJiYXNlVXJsIjoiaHR0cHM6Ly9hc3NldHMuYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJhc3NldHNVcmwiOiJodHRwczovL2NoZWNrb3V0LnBheXBhbC5jb20iLCJkaXJlY3RCYXNlVXJsIjpudWxsLCJlbnZpcm9ubWVudCI6Im9mZmxpbmUiLCJicmFpbnRyZWVDbGllbnRJZCI6Im1hc3RlcmNsaWVudDMiLCJtZXJjaGFudEFjY291bnRJZCI6ImFwbTRxYSIsImN1cnJlbmN5SXNvQ29kZSI6IlVTRCJ9fQ== description: | A Base64 encoded string used to initialize client SDKs. PayPalPayerId: type: string example: 6CB2GS6AQRS5S description: | The ID belonging to the PayPal account. PayPalPaymentMethodNonce: type: string example: 7fd66f90e-c8ec-0363-6b45-aeb930175e43 description: > A payment method nonce is a secure, one-time-use reference to payment information. It's the key element that allows your server to communicate sensitive payment information to Braintree without ever touching the raw data. PayPalPaymentMethodIdUsage: type: string example: S enum: - S - M description: > Dictates whether paymentMethodId returned will be single or multi-use payment token Value|Description -----|----------- S | Single Use M | Multiple Use PayPalDeviceData: type: string example: '{"correlation_id":"010e4 a744d78644f971fc5f9dc1c43aa"}' description: | The customer's device information. AirlineTaxAmount: type: number maxLength: 14 example: 15 description: | The tax amount AirlineFlightLegsPayPal: type: object required: - destAirportCode - fareBasis - flightNumber - legDepartureDateTime - originAirportCode - serviceClass - stopOverCode properties: carrierCode: $ref: '#/components/schemas/AirlineFlightLegsCarrierCode' conjunctionTicketIndicator: $ref: '#/components/schemas/AirlineConjunctionTicketIndicator' couponNumber: $ref: '#/components/schemas/AirlineFlightLegsCouponNumber' destAirportCode: $ref: '#/components/schemas/AirlineFlightLegsDestAirportCode' exchangeTicketNumber: $ref: '#/components/schemas/AirlineExchangeTicketNumber' fareBasis: $ref: '#/components/schemas/AirlineFlightLegsFareBasis' flightNumber: $ref: '#/components/schemas/AirlineFlightLegsFlightNumber' legArrivalDateTime: $ref: '#/components/schemas/AirlineFlightLegsLegArrivalDateTime' legDepartureDateTime: $ref: '#/components/schemas/AirlineFlightLegsLegDepartureDateTime' originAirportCode: $ref: '#/components/schemas/AirlineFlightLegsOriginAirportCode' restrictedTicketIndicator: $ref: '#/components/schemas/AirlineRestrictedTicketIndicator' serviceClass: $ref: '#/components/schemas/AirlineFlightLegsServiceClass' stopOverCode: $ref: '#/components/schemas/AirlineFlightLegsStopOverCode' taxAmount: $ref: '#/components/schemas/AirlineTaxAmount' AirlineFlightLegsArrayPayPal: type: array writeOnly: true items: $ref: '#/components/schemas/AirlineFlightLegsPayPal' example: - destAirportCode: YXX fareBasis: YE3MAU flightNumber: '2490' legDepartureDateTime: '2021-04-12T15:39:01.594-07:00' originAirportCode: AUH serviceClass: FC stopOverCode: X - destAirportCode: LAS fareBasis: YE3MAU flightNumber: '8495' legDepartureDateTime: '2021-04-12T19:39:01.594-07:00' originAirportCode: YXX serviceClass: FC stopOverCode: X description: > Array of flight trip leg info. Maximun 4 legs to a trip allowed. Note: At least one instance of flight trip leg info should be provided. AirlinePassengerBirthDate: type: string format: YYYY-MM-DD example: '2001-04-14' description: | The passenger's date of birth in YYYY-MM-DD format AirlinePassengerCode: type: string maxLength: 17 example: 12AD9S8 description: > The code supplied by the customer using a purchase card. Maximum 17 characters. AirlinePassengerCountryCode: type: string format: ISO 3166 Alpha-2 example: US description: | The passenger's nationality in ISO 3166 Alpha-2 format. AirlineTicketsPayPal: type: object required: - passengerName - ticketNumber properties: passengerName: $ref: '#/components/schemas/AirlineTicketsPassengerName' ticketNumber: $ref: '#/components/schemas/AirlineTicketsTicketNumber' ticketFare: $ref: '#/components/schemas/AirlineTicketsTicketFare' AirlineTicketsArrayPayPal: type: array writeOnly: true items: $ref: '#/components/schemas/AirlineTicketsPayPal' example: - ticketNumber: 412345678901234 passengerName: Jane Doe ticketFare: 350 - ticketNumber: 412345678901236 passengerName: John Smith ticketFare: 250 description: > Array of ticket number and passenger name. Note: At least one instance of ticket number and passenger name info should be provided. AirlineRequestPayPal: type: object description: | **Conditional: Utilize this object for Airline transactions** required: - carrierCode - flightLegs - issueDate - tickets properties: carrierCode: $ref: '#/components/schemas/AirlineCarrierCode' flightLegs: $ref: '#/components/schemas/AirlineFlightLegsArrayPayPal' issueDate: $ref: '#/components/schemas/AirlineIssueDate' passengerArrivalDate: $ref: '#/components/schemas/AirlinePassengerArrivalDate' passengerBirthDate: $ref: '#/components/schemas/AirlinePassengerBirthDate' passengerCode: $ref: '#/components/schemas/AirlinePassengerCode' passengerCountryCode: $ref: '#/components/schemas/AirlinePassengerCountryCode' restrictedTicketIndicator: $ref: '#/components/schemas/AirlineRestrictedTicketIndicator' taxAmount: $ref: '#/components/schemas/AirlineTaxAmount' tickets: $ref: '#/components/schemas/AirlineTicketsArrayPayPal' travelAgencyCode: $ref: '#/components/schemas/AirlineTravelAgencyCode' travelAgencyName: $ref: '#/components/schemas/AirlineTravelAgencyName' CustomerBrowserType: type: string example: >- Mozilla\\/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko\\/20100101 Firefox\\/98.0 description: | Internet browser or simply a browser. PayPalTransactionId: type: string example: dHJhbnNhY3Rpb25fazd6cDB5ZzA description: | Unique identifier. PayPalLegacyId: type: string example: k7zp0yg0 description: | Legacy unique identifier. PayPalOrderId: type: string example: 444106-8010720-0414151800-4371 description: | Additional information about the transaction. PayPalStatus: type: string example: AUTHORIZED description: | The current status of this transaction. PayPalAuthorizationId: type: string example: 6W6361048T1775802 description: > If the transaction was successfully authorized, the PayPal ID for the authorization. PayPalCaptureId: type: string example: 3EK61497JE2934158 description: > If funds for the transaction have settled, the PayPal ID for the capture of funds. PayPalPaymentMethodId: type: string example: dda7z0fq description: | Identifier for a single or multi-use payment token CustomerAddressLine1ThreeDSecure: type: string maxLength: 30 example: 65 Easy St description: > Cardholder’s street address exactly as it appears on their billing statement. This field is used in AVS. **Recommended for increasing the possibility of frictionless flow** CustomerAddressLine2: type: string example: Apt 124 maxLength: 30 description: | Customer address line 2. CustomerCityThreeDSecure: type: string example: Las Vegas maxLength: 30 description: | Customer address city. **Recommended for increasing the possibility of frictionless flow** CustomerRegionThreeDSecure: type: string maxLength: 3 example: NV description: | A level 2 country subdivision code according to ISO-3166-2. **Recommended for increasing the possibility of frictionless flow** CustomerPostalCodeThreeDSecure: type: string minLength: 1 maxLength: 9 example: '65144' description: > Cardholder’s ZIP/postal code from their billing statement. This field is used in AVS. Do not include special characters. **Note: This field only allows alphanumeric characters (a-z, A-Z, 0-9). Special characters including - are not allowed. If you are sending in zip+4 you must not include the dash so 89134-1234 would be sent as 891341234** **Recommended for increasing the possibility of frictionless flow** CustomerCountryThreeDSecure: type: string example: US maxLength: 2 description: > 2 character ISO Country Code. See the [ISO](https://www.iso.org/obp/ui/#search/code/) website for details. **Recommended for increasing the possibility of frictionless flow** ShippingAddressLine1ThreeDSecure: type: string example: 65 Easy St maxLength: 30 description: | Shipping street address - Line 1 **Recommended for increasing the possibility of frictionless flow** ShippingCityThreeDSecure: type: string example: Las Vegas maxLength: 30 description: | Shipping address - City **Recommended for increasing the possibility of frictionless flow** ShippingCountryThreeDSecure: type: string example: US maxLength: 2 description: | Shipping address - 2 character ISO Country Code. **Recommended for increasing the possibility of frictionless flow** ShippingPostalCodeThreeDSecure: type: string minLength: 5 maxLength: 9 example: '65144' description: | Shipping address - Postal Code **Recommended for increasing the possibility of frictionless flow** ShippingRegionThreeDSecure: type: string example: NV maxLength: 3 description: > Shipping address - A level 2 country subdivision code according to ISO-3166-2. **Recommended for increasing the possibility of frictionless flow** CustomerShipping3DSecure: type: object description: | **Conditional: must be sent if `threeDSecure.addressMatch` is 'false'** properties: addressLine1: $ref: '#/components/schemas/ShippingAddressLine1ThreeDSecure' addressLine2: $ref: '#/components/schemas/ShippingAddressLine2' city: $ref: '#/components/schemas/ShippingCityThreeDSecure' country: $ref: '#/components/schemas/ShippingCountryThreeDSecure' postalCode: $ref: '#/components/schemas/ShippingPostalCodeThreeDSecure' region: $ref: '#/components/schemas/ShippingRegionThreeDSecure' ThreeDSecureInitiateStandalone: type: string enum: - '01' - '03' writeOnly: true example: '03' description: | Indicates whether to initiate the 3D Secure authentication process Value| Description -----|------------ 01 | Force 3D Secure authentication 03 | Initiate 3D Secure according to the 3D Secure Adviser result ThreeDSecureBrowserAcceptHeader: type: string example: >- text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 minLength: 0 maxLength: 2048 description: | Exact content of the HTTP accept headers. ThreeDSecureBrowserJavaEnabled: type: boolean example: true description: > Indicates whether the cardholder's browser has the ability to execute Java. Value | Description ------|------------ true | Cardholder's browser does have the ability to execute Java. false | Cardholder's browser does not have the ability to execute Java. ThreeDSecureBrowserJavascriptEnabled: type: boolean example: true description: > Indicates whether the cardholder's browser has the ability to execute Javascript. Value | Description ------|------------ true | Cardholder's browser does have the ability to execute Javascript. false | Cardholder's browser does not have the ability to execute Javascript. ThreeDSecureBrowserLanguage: type: string example: en-GB minLength: 2 maxLength: 16 description: | Value representing the browser language as defined in IETF BCP47. ThreeDSecureBrowserColorDepth: type: string enum: - '1' - '4' - '8' - '15' - '16' - '24' - '32' - '48' example: '48' minLength: 1 maxLength: 2 description: > Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Accepted values are: Value| Description -----|------------ 1 | 1 bit 4 | 4 bits 8 | 8 bits 15 | 15 bits 16 | 16 bits 24 | 24 bits 32 | 32 bits 48 | 48 bits ThreeDSecureBrowserScreenWidth: type: integer example: 1920 minLength: 1 maxLength: 6 description: | Total height of the Cardholder's screen in pixels. ThreeDSecureBrowserScreenHeight: type: integer example: 1080 minLength: 1 maxLength: 6 description: | Total height of the Cardholder's screen in pixels. ThreeDSecureBrowserTZ: type: integer example: -480 minLength: 1 maxLength: 5 description: > Time difference between UTC time and the Cardholder browser local time, in minutes. ThreeDSecureBrowser: type: object required: - acceptHeader - javaEnabled - javascriptEnabled - language - colorDepth - screenWidth - screenHeight - tz properties: acceptHeader: $ref: '#/components/schemas/ThreeDSecureBrowserAcceptHeader' javaEnabled: $ref: '#/components/schemas/ThreeDSecureBrowserJavaEnabled' javascriptEnabled: $ref: '#/components/schemas/ThreeDSecureBrowserJavascriptEnabled' language: $ref: '#/components/schemas/ThreeDSecureBrowserLanguage' colorDepth: $ref: '#/components/schemas/ThreeDSecureBrowserColorDepth' screenWidth: $ref: '#/components/schemas/ThreeDSecureBrowserScreenWidth' screenHeight: $ref: '#/components/schemas/ThreeDSecureBrowserScreenHeight' tz: $ref: '#/components/schemas/ThreeDSecureBrowserTZ' ThreeDSecureHeaderContent: type: string example: userAgent header maxLength: 255 description: | Exact content of the HTTP user-agent header. ThreeDSecureChallengeWindowSize: type: string enum: - '01' - '02' - '03' - '04' - '05' example: '05' minLength: 2 maxLength: 2 description: > Dimensions of the challenge window that will be displayed to the cardholder. The issuer replies with content that is formatted to appropriately render in this window to provide the best possible user experience. Preconfigured window sizes are given in “width x height” in pixels. Value| Description -----|------------ 01 | 250 x 400 02 | 390 x 400 03 | 500 x 600 04 | 600 x 400 05 | Full screen ThreeDSecureTransType: type: string enum: - '01' - '03' - '10' - '11' - '28' example: '01' minLength: 2 maxLength: 2 description: | Identifies the type of transaction being authenticated. The values are derived from ISO 8583. Value| Description -----|------------ 01 | Goods / Service purchase 03 | Check Acceptance 10 | Account Funding 11 | Quasi-Cash Transaction 28 | Prepaid activation and Loan ThreeDSecureChannel: type: string enum: - '01' - '02' - '03' example: '02' minLength: 2 maxLength: 2 description: > Indicates the type of channel interface being used to initiate the transaction. Value| Description -----|------------ 01 | App-based (APP) 02 | Browser (BRW) 03 | 3DS Requestor Initiated (3RI) ThreeDSecureAddressMatch: type: boolean example: true description: > Indicates whether the Cardholder Shipping Address and Cardholder Billing Address are identical. Value | Description ------|------------ true | Shipping Address matches Billing Address false | Shipping Address does not match Billing Address ThreeDSecureReqChallengeInd: type: string enum: - '01' - '02' - '03' - '04' - '05' - '06' - '07' - '08' - '09' example: '02' minLength: 2 maxLength: 2 description: > Indicates whether a challenge is requested for this transaction. For example: For payment authentication, a merchant may have concerns about the transaction, and request a challenge. Value| Description -----|------------ 01 | No preference 02 | No challenge requested 03 | Challenge requested by merchant 04 | Challenge requested: Mandate 05 | No Challenge Requested, transactional risk analysis is already performed 06 | No Challenge Requested, Data share only 07 | No Challenge Requested, SCA is already performed 08 | No challenge requested (utilise whitelist exemption if no challenge required) 09 | Challenge requested (whitelist prompt requested if challenge required)" CompletionURL3DSRequest: type: string example: https://merchant.com/completion description: > Contains the merchant URL to which the browser should be redirected after the challenge session. 3dsecure_standalone_cardnumber: title: Card Number type: object required: - dateTime - amount - transaction - card - customer - currencyCode - threeDSecure - completionUrl properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' currencyCode: $ref: '#/components/schemas/CurrencyCode' customer: type: object required: - firstName - lastName - emailAddress - ipAddress properties: firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' phoneNumber: $ref: '#/components/schemas/CustomerPhoneNumber' phoneCountry: $ref: '#/components/schemas/CustomerPhoneCountry' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' addressLine1: $ref: '#/components/schemas/CustomerAddressLine1ThreeDSecure' addressLine2: $ref: '#/components/schemas/CustomerAddressLine2' city: $ref: '#/components/schemas/CustomerCityThreeDSecure' region: $ref: '#/components/schemas/CustomerRegionThreeDSecure' postalCode: $ref: '#/components/schemas/CustomerPostalCodeThreeDSecure' country: $ref: '#/components/schemas/CustomerCountryThreeDSecure' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' shipping: $ref: '#/components/schemas/CustomerShipping3DSecure' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' securityCode: type: object description: > **Conditional: Send when processing a 3D Secure transaction in the US. This object should be sent for initial card on file request but is not required for subsequent merchant initiated charges.** required: - indicator - value properties: indicator: $ref: '#/components/schemas/CardSecurityCodeIndicator' value: $ref: '#/components/schemas/CardSecurityCodeValue' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' threeDSecure: type: object required: - initiate - browser - headerContent - challengeWindowSize - transType - channel properties: initiate: $ref: '#/components/schemas/ThreeDSecureInitiateStandalone' browser: $ref: '#/components/schemas/ThreeDSecureBrowser' headerContent: $ref: '#/components/schemas/ThreeDSecureHeaderContent' challengeWindowSize: $ref: '#/components/schemas/ThreeDSecureChallengeWindowSize' transType: $ref: '#/components/schemas/ThreeDSecureTransType' channel: $ref: '#/components/schemas/ThreeDSecureChannel' addressMatch: $ref: '#/components/schemas/ThreeDSecureAddressMatch' reqChallengeInd: $ref: '#/components/schemas/ThreeDSecureReqChallengeInd' completionUrl: $ref: '#/components/schemas/CompletionURL3DSRequest' risk: $ref: '#/components/schemas/RiskTransactionRequest' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2022-05-04T09:18:23.283-07:00' amount: total: 160 currencyCode: EUR customer: firstName: John lastName: Smith addressLine1: 65 Easy St city: Las Vegas postalCode: '65144' emailAddress: firstname.lastname@email.com ipAddress: 63.57.84.101 card: number: '4012000098765439' expirationDate: 1225 present: 'N' transaction: invoice: '730518' notes: Transaction notes are added here threeDSecure: initiate: '03' browser: acceptHeader: >- text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 javaEnabled: true javascriptEnabled: true language: en-GB colorDepth: '48' screenWidth: 1920 screenHeight: 1080 tz: -480 headerContent: userAgent header challengeWindowSize: '05' transType: '01' channel: '02' completionUrl: https://merchant.com/completion apiOptions: - ALLOWPARTIALAUTH 3dsecure_standalone_token_gtv: title: GTV Token type: object required: - dateTime - amount - transaction - card - customer - currencyCode - threeDSecure - completionUrl properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' currencyCode: $ref: '#/components/schemas/CurrencyCode' customer: type: object required: - firstName - lastName - emailAddress - ipAddress properties: firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' phoneNumber: $ref: '#/components/schemas/CustomerPhoneNumber' phoneCountry: $ref: '#/components/schemas/CustomerPhoneCountry' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' addressLine1: $ref: '#/components/schemas/CustomerAddressLine1ThreeDSecure' addressLine2: $ref: '#/components/schemas/CustomerAddressLine2' city: $ref: '#/components/schemas/CustomerCityThreeDSecure' region: $ref: '#/components/schemas/CustomerRegionThreeDSecure' postalCode: $ref: '#/components/schemas/CustomerPostalCodeThreeDSecure' country: $ref: '#/components/schemas/CustomerCountryThreeDSecure' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' shipping: $ref: '#/components/schemas/CustomerShipping3DSecure' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardTokenRequired' expirationDate: $ref: '#/components/schemas/CardExpirationDate' present: $ref: '#/components/schemas/CardPresent' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' notes: $ref: '#/components/schemas/TransactionNotes' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' s4RiskId: $ref: '#/components/schemas/TransactionS4RiskIdRequest' threeDSecure: type: object required: - initiate - browser - headerContent - challengeWindowSize - transType - channel properties: initiate: $ref: '#/components/schemas/ThreeDSecureInitiateStandalone' browser: $ref: '#/components/schemas/ThreeDSecureBrowser' headerContent: $ref: '#/components/schemas/ThreeDSecureHeaderContent' challengeWindowSize: $ref: '#/components/schemas/ThreeDSecureChallengeWindowSize' transType: $ref: '#/components/schemas/ThreeDSecureTransType' channel: $ref: '#/components/schemas/ThreeDSecureChannel' addressMatch: $ref: '#/components/schemas/ThreeDSecureAddressMatch' reqChallengeInd: $ref: '#/components/schemas/ThreeDSecureReqChallengeInd' completionUrl: $ref: '#/components/schemas/CompletionURL3DSRequest' risk: $ref: '#/components/schemas/RiskTransactionRequest' apiOptions: $ref: '#/components/schemas/ApiOptions' example: dateTime: '2022-05-04T09:18:23.283-07:00' amount: total: 160 currencyCode: EUR customer: firstName: John lastName: Smith addressLine1: 65 Easy St city: Las Vegas postalCode: '65144' emailAddress: firstname.lastname@email.com ipAddress: 63.57.84.101 card: token: value: '8048471746471119' expirationDate: 1225 present: 'N' transaction: invoice: '730518' notes: Transaction notes are added here threeDSecure: initiate: '03' browser: acceptHeader: >- text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 javaEnabled: true javascriptEnabled: true language: en-GB colorDepth: '48' screenWidth: 1920 screenHeight: 1080 tz: -480 headerContent: userAgent header challengeWindowSize: '05' transType: '01' channel: '02' completionUrl: https://merchant.com/completion apiOptions: - ALLOWPARTIALAUTH TransactionResponseCode3DSStandalone: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A - C - D - e - f - P - R - S description: | Code indicating the Shift4 host response. Value | Description | Details -------|---------------|-------- A | Approved | The 3D Secure process was approved. D | Declined | The 3D Secure process was declined. ThreeDSecureTrxId: type: string example: a7bbd49a-ffe6-49b2-8a92-541f0a3b053d maxLength: 36 description: | The assigned 3D Secure transaction ID ThreeDSecureCardholderInfo: type: string example: >- We+were+unable+to+confirm+your+payment.Please+contact+us+on+0800+121+4251+quoting+the+reference+AL01 description: > Provides additional information to the customer in particular cases when 3D secure Authentication failed. CardResponse3DSChallenge: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' number: $ref: '#/components/schemas/CardMaskedNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardTypeResp' token: $ref: '#/components/schemas/CardTokenResponse' TransactionResponseCode3DSFingerprint: type: string minLength: 1 maxLength: 1 readOnly: true example: H enum: - H description: > Response code indicating that the 3D Secure transaction requires device fingerprinting. Value |Description -------|----------- H | Device fingerprinting required. Issuer fingerprint URL returned in the redirectURL field. See [Handling Device Fingerprint Response](/guides/advanced-concepts/3d-secure#handling-device-fingerprint-response) for details on how to handle the Device Fingerprint process. RedirectURL3DSResponse: type: string example: https://issuer.com/challenge description: > URL to redirect the browser to the 3D Secure transaction response indicates a Device Fingerprint or 3D Secure challenge is required. TransactionResponseCode3DSChallenge: type: string minLength: 1 maxLength: 1 readOnly: true example: G enum: - G description: > Response code indicating that the 3D Secure transaction requires a challenge. Value |Description -------|----------- G | 3D Secure challenge required. Issuer challenge URL returned in the redirectURL field. HostResponseReasonCode3DSecure: type: string example: '1' description: > Returns a response code from the host. | Value | Description | | ----- | ----------------------------------------------------------------------------------- | | \-69 | Transaction has been declined. Invalid 3ds\_version parameter. | | \-68 | Authentication process timed out. Please try again. | | \-66 | Invalid combination of 3ds values | | \-65 | Merhant is not allowed for this exemption | | \-64 | Exemption is not allowed for this transaction amount | | \-63 | Merchant is not enrolled to 3D-secure service. | | \-50 | An error occurred during the 3D secure process | | \-39 | You need to be registered with the 3D Adviser service to complete the request | | \-37 | Transaction has been denied. Malformed or missing parameter. | | \-36 | The selected processor does not support some of the parameters. | | \-35 | Merchant is not registered. | | \-33 | You need to be registered with the routing service to complete the routing request. | | \-32 | You are not registered with the selected Processor. | | \-30 | Transaction Failed due to error in 3D secure process. | | \-20 | Authentication error. Please contact support. | | \-17 | Selected service is unavailable | | \-16 | Selected service is unavailable | | \-15 | Selected service is unavailable | | \-13 | Merchant is not enrolled in the 3D Secure Adviser service. | | \-12 | Transaction has been declined due to security restrictions. | | \-11 | Rejected. Format Error | | \-10 | System error. Please contact support. | | \-9 | Parameter(s) malformed | | \-8 | Parameter(s) malformed | | \-7 | Please contact support. | | 1 | Transaction not allowed | | 2 | Transaction not allowed | | 3 | Transaction not allowed | | 4 | Transaction not allowed | | 7 | The transaction was declined by the gateway and will not be processed. | | 9 | The transaction has been denied. | | 11 | The queried transaction is currently being processed. Please try again. | | 13 | The transaction has been denied. | | 15 | The transaction has been denied. HostResponseReasonDescription3DSecure: type: string maxLength: 73 example: Pick Up Card description: | Returns a description from the host. ThreeDSecureCompInd: type: string enum: - 'Y' - 'N' - U example: 'Y' minLength: 1 maxLength: 1 description: > Indicates whether or not the device fingerprint was completed successfully. Value| Description -----|------------ Y | Yes N | No U | Unknown TransactionInvoiceAlphanumeric: type: string maxLength: 10 example: '0510093358' description: > 10 character invoice number assigned by the interface to identify a transaction. An invoice number serves as a unique key that identifies a transaction within a batch in Shift4's Gateway. CustomerFirstNameAPM: type: string maxLength: 30 example: John description: | Customer first name CustomerLastNameAPM: type: string maxLength: 30 example: Smith description: | Customer last name CustomerCompanyName: type: string maxLength: 30 example: Shift4 description: | Customer Company name oct_payout_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - amount - transaction - card - customer - sourceIp properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoiceAlphanumeric' notes: $ref: '#/components/schemas/TransactionNotes' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' card: type: object required: - number - expirationDate - entryMode - present properties: entryMode: $ref: '#/components/schemas/CardEntryModeManual' present: $ref: '#/components/schemas/CardPresent' number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' customer: oneOf: - title: First and Last Name type: object required: - firstName - lastName - emailAddress - ipAddress properties: firstName: $ref: '#/components/schemas/CustomerFirstNameAPM' lastName: $ref: '#/components/schemas/CustomerLastNameAPM' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' - title: Company Name type: object required: - companyName - emailAddress - ipAddress properties: companyName: $ref: '#/components/schemas/CustomerCompanyName' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' currencyCode: $ref: '#/components/schemas/CurrencyCode' sourceIp: $ref: '#/components/schemas/SourceIP' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 135.87 card: entryMode: M expirationDate: 1230 number: '4321000000001119' present: 'N' customer: firstName: John lastName: Smith emailAddress: johnsmith@email.com ipAddress: 63.57.84.101 transaction: invoice: '192029' notes: Transaction notes are added here sourceIp: 172.110.166.244 oct_payout_token_gtv: title: GTV Token type: object required: - dateTime - amount - transaction - card - customer - sourceIp properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoiceAlphanumeric' notes: $ref: '#/components/schemas/TransactionNotes' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' card: type: object required: - token properties: entryMode: $ref: '#/components/schemas/CardEntryModeManual' present: $ref: '#/components/schemas/CardPresent' token: $ref: '#/components/schemas/CardTokenRequired' expirationDate: $ref: '#/components/schemas/CardExpirationDate' customer: oneOf: - title: First and Last Name type: object required: - firstName - lastName - emailAddress - ipAddress properties: firstName: $ref: '#/components/schemas/CustomerFirstNameAPM' lastName: $ref: '#/components/schemas/CustomerLastNameAPM' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' - title: Company Name type: object required: - companyName - emailAddress - ipAddress properties: companyName: $ref: '#/components/schemas/CustomerCompanyName' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' currencyCode: $ref: '#/components/schemas/CurrencyCode' sourceIp: $ref: '#/components/schemas/SourceIP' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 135.87 card: token: value: '8048471746471119' customer: companyName: Shift4 emailAddress: johnsmith@email.com ipAddress: 63.57.84.101 transaction: invoice: '192029' notes: Transaction notes are added here sourceIp: 172.110.166.244 AmountFeeOCT: type: number maxLength: 14 example: 1.5 description: | The fee charged to process the OCT transaction. TransactionAuthSourceAPM: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A description: > In a response, a code returned by the processor to indicate which host issued the response. Value | Description -------|---------------------------- A | APM (Online) HostResponseOCT: type: object description: | Returns the response code detailing why the transaction was declined. properties: reasonCode: $ref: '#/components/schemas/HostResponseReasonCode' reasonDescription: $ref: '#/components/schemas/HostResponseReasonDescription' TransactionRetrievalReferenceOCT: type: string readOnly: true maxLength: 32 example: ICTN-178768-233-79170-FUX description: > Reference retrieval number assigned by the authorizing agency. This value is printed on some receipts. ErrorCodeNoCondition: type: integer maxLength: 5 readOnly: true example: 64100 description: > Code indicating the type of error that occurred. Refer to the [Error Codes](/guides/appendices/error-codes) section of this document for more details. ErrorNoPrimarySecondary: type: object properties: code: $ref: '#/components/schemas/ErrorCodeNoCondition' severity: $ref: '#/components/schemas/ErrorSeverity' shortText: $ref: '#/components/schemas/ErrorShortText' longText: $ref: '#/components/schemas/ErrorLongText' CustomerNewEmailAddress: type: string maxLength: 80 example: firstname.lastname@email.com description: | Customer's new email address. ACHVerificationTypePrenotification: type: string example: P enum: - P description: | The type of verification used to validate the account. Value | Description ------|--------------- P | Prenotification TransactionResponseCodeACHPending: type: string minLength: 1 maxLength: 1 readOnly: true example: P enum: - P description: | Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- P | Pending | The ACH transaction is pending NotificationId: type: string format: uuid minLength: 36 maxLength: 36 example: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d description: > Notification ID value generated by Shift4 and returned in the response. Used for matching webhook notifications back to their original request. AmountTotalACH: type: number maxLength: 11 example: 143.29 description: > The amount being processed for the ACH transaction. The amount must be greater than zero with a maximum amount of 99999999.99. AmountACH: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. required: - total properties: total: $ref: '#/components/schemas/AmountTotalACH' ACHPaymentTypeCode: type: string example: ST enum: - S - R - ST description: > Specifies the payment type. If not provided in the request the transaction will default to `ST`. Value | Description ------|--------------- S | Single Entry. Consumer authorizes the use of their ACH credentials for a single transaction. Each subsequent transaction requires the Consumer to authorize the use of their credentials. R | Recurring. Transaction is sent on a set time frame for a set amount. For example, a monthly gym membership. ST | Standing Authorization. Consumer authorizes the use of their ACH credentials for the initial and subsequent transactions. Each subsequent transaction does not require the consumer to authorize the use of their credentials. ach_sale_bankaccount: title: Bank & Routing Number type: object required: - dateTime - amount - transaction - ach - sourceIp properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountACH' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoiceAlphanumeric' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' ach: type: object required: - accountNumber - routingNumber - accountType - accountHolderName properties: accountNumber: $ref: '#/components/schemas/ACHAccountNumber' routingNumber: $ref: '#/components/schemas/ACHRoutingNumber' accountType: $ref: '#/components/schemas/ACHAccountType' accountHolderName: $ref: '#/components/schemas/ACHAccountHolderName' paymentTypeCode: $ref: '#/components/schemas/ACHPaymentTypeCode' sourceIp: $ref: '#/components/schemas/SourceIP' example: dateTime: '2023-02-08T09:18:23.283-07:00' amount: total: 135.87 transaction: invoice: '192029' ach: accountNumber: '1234567890' routingNumber: '121000248' accountHolderName: John Smith accountType: PC sourceIp: 172.110.166.244 ACHVerifyBalance: type: boolean example: true description: > Send as `true` if you want to verify the balance before processing the ACH transaction. The balance check will only be possible if the customer logged into their bank account when verifying their account. If the account was verified via Micro Deposits or Prenotification it is not possible to verify the balance. If the balance check is not possible this value will be ignored and the transaction will be processed. ach_sale_token_gtv: title: GTV Token type: object required: - dateTime - amount - transaction - sourceIp - token properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountACH' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoiceAlphanumeric' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' token: $ref: '#/components/schemas/TokenACH' ach: type: object properties: verifyBalance: $ref: '#/components/schemas/ACHVerifyBalance' paymentTypeCode: $ref: '#/components/schemas/ACHPaymentTypeCode' sourceIp: $ref: '#/components/schemas/SourceIP' example: dateTime: '2023-02-08T09:18:23.283-07:00' amount: total: 135.87 transaction: invoice: '192029' token: value: '9829283019231234' ach: verifyBalance: true sourceIp: 172.110.166.244 ACHBalanceVerificationResult: type: string example: VS readOnly: true description: > Specifies whether or not the balance was verified Value | Description ------|------------- VS | Balance was verified and requested amount is below account balance VF | Balance was verified and account balance is less then the requested amount NC | Unable to check balance NS | Account does not support balance verification TransactionResponseCodeACH: type: string minLength: 1 maxLength: 1 readOnly: true example: P enum: - P - D description: | Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- P | Pending | The ACH transaction is pending D | Decline | The ACH transaciton was declined. e | Error | The ACH transaction resulted in an error. ach_refund_bankaccount: title: Bank & Routing Number type: object required: - dateTime - amount - transaction - ach - sourceIp properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountACH' transaction: type: object required: - invoice - originalInvoice properties: invoice: $ref: '#/components/schemas/TransactionInvoiceAlphanumeric' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' ach: type: object required: - accountNumber - routingNumber - accountType - accountHolderName properties: accountNumber: $ref: '#/components/schemas/ACHAccountNumber' routingNumber: $ref: '#/components/schemas/ACHRoutingNumber' accountType: $ref: '#/components/schemas/ACHAccountType' accountHolderName: $ref: '#/components/schemas/ACHAccountHolderName' sourceIp: $ref: '#/components/schemas/SourceIP' example: dateTime: '2023-02-08T09:18:23.283-07:00' amount: total: 135.87 transaction: invoice: '192030' originalInvoice: '192029' ach: accountNumber: '1234567890' routingNumber: '121000248' accountType: PC accountHolderName: John Smith sourceIp: 172.110.166.244 ach_refund_token_gtv: title: GTV Token type: object required: - dateTime - amount - transaction - sourceIp - token properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountACH' transaction: type: object required: - invoice - originalInvoice properties: invoice: $ref: '#/components/schemas/TransactionInvoiceAlphanumeric' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' token: $ref: '#/components/schemas/TokenACH' sourceIp: $ref: '#/components/schemas/SourceIP' example: dateTime: '2023-02-08T09:18:23.283-07:00' amount: total: 135.87 transaction: invoice: '192030' originalInvoice: '192029' token: value: '9829283019231234' sourceIp: 172.110.166.244 ACHPlaidLinkTokenClientUserId: type: string example: ae1a59fe-8646-4637-bbb8-d270856c508c description: > A unique ID representing the end user. Typically this will be a user ID number from your application. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id. ACHPlaidLinkTokenLanguage: type: string example: en enum: - da - nl - en - et - fr - de - it - lv - lt - 'no' - po - ro - es - se description: > The language that Link should be displayed in. If no language is sent it will default to English. Value | Description ------|------------- da | Danish nl | Dutch en | English et | Estonian fr | French de | German it | Italian lv | Latvian lt | Lithuanian no | Norwegian po | Polish ro | Romanian es | Spanish se | Swedish ACHPlaidLinkTokenRedirectUrl: type: string example: merchant.com description: > Contains the URL to which the browser should be redirected. **Conditional: must be sent if the customer is using a 'mobile device' or 'website with redirection'. Also the same url needs to be provided during onboarding or later via LBM.** TransactionResponseCodeACHPlaidLinkToken: type: string minLength: 1 maxLength: 1 readOnly: true example: S enum: - S - F description: | Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- S | Success | The Plaid link token request was successful. F | Fail | The Plaid link token request was unsuccessful. ACHPlaidLinkToken: type: string readOnly: true example: link-sandbox-bea285c1-ad79-4191-8d1b-aaf537f7df59 description: | Plaid Link Token ACHPlaidLinkTokenExpiration: type: string readOnly: true example: '2023-02-13T21:00:25Z' description: | Plaid Link Token Expiration ACHPlaidPublicToken: type: string example: public-sandbox-0b7f845f-fa53-4e0a-b77b-9476e71be5ae description: | Plaid Public Token ACHPlaidPublicTokenMetadata: type: string example: >- {"status":null,"link_session_id":"81fcbacf-e2f8-422b-b041-5e629b32ae3c","institution":{"name":"Houndstooth Bank","institution_id":"ins_109512"},"accounts":[{"id":"dvMPrZ9kR1C8xdRvLR6QIaREG5vBo6SBjaRrr","name":"Plaid Checking","mask":"0000","type":"depository","subtype":"checking","verification_status":"pending_automatic_verification","class_type":null}],"account":{"id":"dvMPrZ9kR1C8xdRvLR6QIaREG5vBo6SBjaRrr","name":"Plaid Checking","mask":"0000","type":"depository","subtype":"checking","verification_status":"pending_automatic_verification","class_type":null},"account_id":"dvMPrZ9kR1C8xdRvLR6QIaREG5vBo6SBjaRrr","transfer_status":null,"wallet":null,"public_token":"public-sandbox-b5e58738-1a75-4a51-b4de-10f24c561038"} description: > JSON encoded object received from the Plaid SDK. The metadata object received from the Plaid SDK must be json encoded and sent in this object. TransactionResponseCodeACHPlaidPublicTokenExchange: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A - D - P description: > Code indicating the Shift4 host response. | Value | Description | Details |--------|--------------|-----------------------------------------------------------------------------------| | A | Success | The Plaid public token exchange request was successful. | | D | Fail | The Plaid public token exchange request was unsuccessful. | | P | Pending | The Plaid public token exchange request is using the automated microdeposit flow. | ACHAccountNumberLastFour: type: string minLength: 2 maxLength: 4 example: '1234' description: > The last 2-4 alphanumeric characters of an account's official account number. UpdaterRequestId: type: string format: uuid example: bad91cf7-0664-40d5-877f-cd4cbe36fc9a description: > Updater Request ID. Returned in the response to the [Account Update](/apis/payments-platform-rest/openapi/updater/updaterrequest) API request. Sent in the [Account Update Status](/apis/payments-platform-rest/openapi/updater/updaterstatus) request when checking on the status of a previous updater request. UpdaterToken: type: string maxLength: 16 description: > The token representing the card account number for which you are requesting an update. UpdaterCardsStatus: type: string maxLength: 1 enum: - A - B - C - D - E - F - H - O - T - U description: > The status of the card update request. | Value | Description | | ----- | ------------------------------------------------------------- | | A | New account number and/or new expiration date. | | B | New expiration date, same account number. | | C | Account is marked as closed. | | D | Contact cardholder for updated information. | | E | No updates were found but the account is valid. | | F | No match for the data provided. Participating BIN/ issuer. | | H | No match for the data provided. Non-participating BIN/issuer. | | O | Cardholder opted out from service. | | T | Token not found / Invalid | | U | Unknown error | UpdaterExpirationDate: type: string minLength: 4 maxLength: 4 description: | The card's expiration date in MMYY format. UpdaterNewExpirationDate: type: string minLength: 4 maxLength: 4 description: | The card's updated expiration date in MMYY format. UpdaterNewToken: type: string maxLength: 16 description: > The token representing the new card number if the card has been replaced. UpdaterStatus: type: string maxLength: 1 enum: - P - C example: C description: | The status of the card update request. | Value | Description | Details | | ----- | ------------|----------------------------------------------- | | P | Pending | Data is not ready yet, please try again later. | | C | Completed | Data is completed and sent in cards array. | dcc_ratelookup_token_gtv: title: GTV Token type: object required: - dateTime - currencyCode - amount - clerk - card properties: dateTime: $ref: '#/components/schemas/DateTime' currencyCode: $ref: '#/components/schemas/CurrencyCode' amount: $ref: '#/components/schemas/AmountTotalOnly' clerk: $ref: '#/components/schemas/Clerk' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' token: $ref: '#/components/schemas/CardTokenRequired' example: dateTime: '2024-07-09T09:18:23.283-07:00' currencyCode: USD amount: total: 160 clerk: numericId: 1576 card: token: value: '8048471746471119' dcc_ratelookup_token_legacy: title: Legacy Token type: object required: - dateTime - currencyCode - amount - clerk - card properties: dateTime: $ref: '#/components/schemas/DateTime' currencyCode: $ref: '#/components/schemas/CurrencyCode' amount: $ref: '#/components/schemas/AmountTotalOnly' clerk: $ref: '#/components/schemas/Clerk' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' token: $ref: '#/components/schemas/CardTokenRequiredLegacy' example: dateTime: '2024-07-09T09:18:23.283-07:00' currencyCode: USD amount: total: 160 clerk: numericId: 1576 card: token: value: 11191pn83hbkkety serialNumber: '123456' dcc_ratelookup_p2pe_idtech: title: P2PE - ID TECH - EMV/MSR/Manual type: object required: - dateTime - currencyCode - amount - clerk - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' currencyCode: $ref: '#/components/schemas/CurrencyCode' amount: $ref: '#/components/schemas/AmountTotalOnly' clerk: $ref: '#/components/schemas/Clerk' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' example: dateTime: '2024-07-09T09:18:23.283-07:00' currencyCode: USD amount: total: 160 clerk: numericId: 1576 p2pe: data: >- 02df00801f2e1e00939b252a323232312a2a2a2a2a2a2a2a303030395e4d43322f4455414c20545241434b5e2a2a2a2a2a2a2a2a2a2a3f2a3b323232312a2a2a2a2a2a2a2a303030393d2a2a2a2a2a2a2a2a2a2a3f2aa0744ac45073ef2e516cd6b1111c990effb75fbe6521e40be763593c385c6c7cdcd41ffbabb59cd6c999bfe636dff9ef8408e38906db0fdc7497df96a3e8f564b9a4e1bd802f326eb9848b447512384700000000000000000000000000000000000000000000000000000000000000000000000000000000383237543839303939306299495001000000000521d503 format: '02' EMVEncryptedTagsOnly: type: object writeOnly: true description: | Encrypted EMV tags required: - tlvData properties: tlvData: type: string writeOnly: true example: >- 5A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C31799573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B3 description: > This field contains the P2PE encrypted tags (5A and 57) in standard TLV format. The P2PE encrypted tags (5A and 57) will have the entire TLV string encrypted and the encrypted data will be in a TLV format using the same tag. For example, tag 5A would look like the following: - Encrypted: `5A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C3179` - Decrypted: `5A084761739001010010` dcc_ratelookup_p2pe_tdesdukpt_emv: title: P2PE - TDES DUKPT - EMV type: object required: - dateTime - currencyCode - amount - clerk - card - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' currencyCode: $ref: '#/components/schemas/CurrencyCode' amount: $ref: '#/components/schemas/AmountTotalOnly' clerk: $ref: '#/components/schemas/Clerk' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' emv: $ref: '#/components/schemas/EMVEncryptedTagsOnly' example: dateTime: '2024-07-09T09:18:23.283-07:00' currencyCode: USD amount: total: 160 clerk: numericId: 1576 p2pe: format: '05' ksn: FFFF49517300010000CA emv: tlvData: >- 5A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C31799573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B3 dcc_ratelookup_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - currencyCode - amount - clerk - card - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' currencyCode: $ref: '#/components/schemas/CurrencyCode' amount: $ref: '#/components/schemas/AmountTotalOnly' clerk: $ref: '#/components/schemas/Clerk' card: type: object required: - entryMode properties: entryMode: $ref: '#/components/schemas/CardEntryMode' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' example: dateTime: '2024-07-09T09:18:23.283-07:00' currencyCode: USD amount: total: 160 clerk: numericId: 1576 p2pe: data: >- 44188C9A20DD2092254F7FEB0AABD531D86EA10DA37E5540C25B53658BA4FBB903828F835A7287481F6FB5C17A879ECC9768D4C12F99532A format: '05' ksn: FFFF49517300010000C9 dcc_ratelookup_p2pe_onguardsde_emv: title: P2PE - On-Guard SDE - EMV type: object required: - dateTime - currencyCode - amount - clerk - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' currencyCode: $ref: '#/components/schemas/CurrencyCode' amount: $ref: '#/components/schemas/AmountTotalOnly' clerk: $ref: '#/components/schemas/Clerk' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' example: dateTime: '2024-07-09T09:18:23.283-07:00' currencyCode: USD amount: total: 160 clerk: numericId: 1576 p2pe: data: >- FFFF495A0000000200000002:E:0032:E0AB94F7704E77AB37F81A7E236A1ABC1465C6DFCE43A506240D6E7D6DDA7EA9 format: '03' dcc_ratelookup_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - currencyCode - amount - clerk - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' currencyCode: $ref: '#/components/schemas/CurrencyCode' amount: $ref: '#/components/schemas/AmountTotalOnly' clerk: $ref: '#/components/schemas/Clerk' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' example: dateTime: '2024-07-09T09:18:23.283-07:00' currencyCode: USD amount: total: 160 clerk: numericId: 1576 p2pe: data: >- FFFF495A0000000200000005:4:0128:F48C880DE0DAF549E642C5CC25E65ADF9947E7EB0636DB80C4A490B4C0930AEF64B7201505343CED533A2AE9AFABFE6453875F705519A8109362197CA3BD8DA0FE90DB3F954B9CDA0DB58BDA3330862ADD28CB31EFDA7C641575E33D395D8BFF72EBF0B1FF9630DB0EAB080FE8C9B2FAC28127CDC48CA9F7D532D5BDE4CCE270 format: '03' dcc_ratelookup_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - currencyCode - amount - clerk - card properties: dateTime: $ref: '#/components/schemas/DateTime' currencyCode: $ref: '#/components/schemas/CurrencyCode' amount: $ref: '#/components/schemas/AmountTotalOnly' clerk: $ref: '#/components/schemas/Clerk' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' securityCode: $ref: '#/components/schemas/CardSecurityCode' example: dateTime: '2024-07-09T09:18:23.283-07:00' currencyCode: USD amount: total: 160 clerk: numericId: 1576 card: entryMode: M expirationDate: 1230 number: '4321000000001119' DCCSupportIndicator: type: string enum: - '0' - '1' example: '1' description: > Specifies whether or not DCC can be used. Value | Description ------|-------------------------------------------------------------------------------------- 0 | DCC cannot be used (Relevant for a BIN that is not supported / No relevant conversion). 1 | The request was successful. DCC can be used. DCCResponse: type: object description: | Object containing Dynamic Currency Conversion (DCC) information. properties: rateTimeStamp: $ref: '#/components/schemas/DCCRateTimeStamp' currencyCode: $ref: '#/components/schemas/DCCCurrencyCode' foreignAmount: $ref: '#/components/schemas/DCCForeignAmount' conversionRate: $ref: '#/components/schemas/DCCConversionRate' marginPercentage: $ref: '#/components/schemas/DCCMarginPercentage' currencyMinorUnits: $ref: '#/components/schemas/DCCCurrencyMinorUnits' transactionId: $ref: '#/components/schemas/DCCTransactionID' diffOverEcb: $ref: '#/components/schemas/DCCDiffOverECB' marginOverEcb: $ref: '#/components/schemas/DCCMarginOverECB' displayUnit: $ref: '#/components/schemas/DCCDisplayUnit' provider: $ref: '#/components/schemas/DCCProvider' supportIndicator: $ref: '#/components/schemas/DCCSupportIndicator' RuleCheck: type: array items: type: string enum: - SURCHARGE example: - SURCHARGE writeOnly: true description: > Specifies which rule checks are being requested: | Value | Description | |-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| | SURCHARGE | Checks to see if a card is eligible for surcharging. If eligible the `surcharge` object will be returned containing the surcharge percentage that can be applied. | TransactionRuleVerify: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' ClerkOptional: type: object properties: numericId: $ref: '#/components/schemas/ClerkNumericId' rules_verify_token_gtv: title: GTV Token type: object required: - dateTime - amount - ruleCheck - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' ruleCheck: $ref: '#/components/schemas/RuleCheck' transaction: $ref: '#/components/schemas/TransactionRuleVerify' card: type: object required: - token properties: expirationDate: $ref: '#/components/schemas/CardExpirationDate' token: $ref: '#/components/schemas/CardTokenRequired' clerk: $ref: '#/components/schemas/ClerkOptional' rules_verify_p2pe_idtech: title: P2PE - ID TECH - EMV/MSR/Manual type: object required: - dateTime - amount - ruleCheck - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' ruleCheck: $ref: '#/components/schemas/RuleCheck' transaction: $ref: '#/components/schemas/TransactionRuleVerify' p2pe: $ref: '#/components/schemas/P2PEType0102IDTECH' clerk: $ref: '#/components/schemas/ClerkOptional' rules_verify_p2pe_tdesdukpt_emv: title: P2PE - TDES DUKPT - EMV type: object required: - dateTime - amount - ruleCheck - transaction - p2pe - emv properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' ruleCheck: $ref: '#/components/schemas/RuleCheck' transaction: $ref: '#/components/schemas/TransactionRuleVerify' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTEMV' emv: $ref: '#/components/schemas/EMVEncryptedTagsOnly' clerk: $ref: '#/components/schemas/ClerkOptional' rules_verify_p2pe_tdesdukpt_msr: title: P2PE - TDES DUKPT - MSR/Manual type: object required: - dateTime - amount - ruleCheck - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' ruleCheck: $ref: '#/components/schemas/RuleCheck' transaction: $ref: '#/components/schemas/TransactionRuleVerify' p2pe: $ref: '#/components/schemas/P2PEType05TDESDUKPTMSR' clerk: $ref: '#/components/schemas/ClerkOptional' rules_verify_p2pe_onguardsde_emv: title: P2PE - On-Guard SDE - EMV type: object required: - dateTime - amount - ruleCheck - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' ruleCheck: $ref: '#/components/schemas/RuleCheck' transaction: $ref: '#/components/schemas/TransactionRuleVerify' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEEMV' clerk: $ref: '#/components/schemas/ClerkOptional' rules_verify_p2pe_onguardsde_msr: title: P2PE - On-Guard SDE - MSR/Manual type: object required: - dateTime - amount - ruleCheck - transaction - p2pe properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' ruleCheck: $ref: '#/components/schemas/RuleCheck' transaction: $ref: '#/components/schemas/TransactionRuleVerify' p2pe: $ref: '#/components/schemas/P2PEType03OnguardSDEMSR' clerk: $ref: '#/components/schemas/ClerkOptional' rules_verify_unencryptedcard: title: Card Number Unencrypted type: object required: - dateTime - amount - ruleCheck - transaction - card properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' ruleCheck: $ref: '#/components/schemas/RuleCheck' transaction: $ref: '#/components/schemas/TransactionRuleVerify' card: type: object required: - number - expirationDate properties: number: $ref: '#/components/schemas/CardNumber' expirationDate: $ref: '#/components/schemas/CardExpirationDate' clerk: $ref: '#/components/schemas/ClerkOptional' PaymentLinkId: readOnly: true type: string example: link_8kdskX8DZ8FR6W3acYPXiyAN description: | Identifier of Payment Link PaymentLinkType: type: string enum: - line_items - card_verification default: line_items description: > The kind of flow the payment link performs. - `line_items` (default) — a standard payment flow. The customer pays for the products defined in `lineItems`. - `card_verification` — performs a $0 authorization to confirm the card is valid (a security check that a real card and cardholder are behind it) **without** charging it. The validated card is also saved to the customer. These links take **no** `lineItems`, but **require** a top-level `currency` and a defined `customer`. When omitted, the link defaults to `line_items`. PaymentLinkLineItemsProductName: type: string example: Example charge description: Name of a product PaymentLinkLineItemsProductDescription: type: string example: Some product description description: >- Description of a product, shown to the customer on the hosted checkout page directly under the product name PaymentLinkLineItemsProductAmountCurrencyCode: type: string example: USD description: currency represented as a three-letter ISO currency code PaymentLinkLineItemsProductAmountTotal: type: number example: 10 description: > Payment amount (in major units, with number of allowed decimal places depending on currency) PaymentLinkLineItemsProductAmountOptionsArray: type: array items: type: number example: - 10 - 20 - 30 description: > List of available pre-defined payment amounts. Allows the customer to select from a list of options for how much they want to pay. Useful whenever a merchant wants to suggest a few selectable amounts — for example pay-what-you-want pricing, tips, or donations. PaymentLinkLineItemsProductAmountCustom: type: object description: | Possible range of custom payment amount required: - min - max properties: min: type: number example: 10 description: | Minimum value of custom payment amount max: type: number example: 200 description: | Maximum value of custom payment amount PaymentLinkLineItemsArray: type: array description: | List of line items items: type: object required: - product properties: product: type: object description: | Definition of a product required: - name - amount - currencyCode properties: name: $ref: '#/components/schemas/PaymentLinkLineItemsProductName' description: $ref: '#/components/schemas/PaymentLinkLineItemsProductDescription' currencyCode: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountCurrencyCode amount: description: > Payment amount definition. Provide `total` for a fixed-amount link, or `options` and/or `custom` to let the customer choose the amount. `total` is mutually exclusive with `options` and `custom`; a customer-chosen amount link may use `options`, `custom`, or both together. oneOf: - title: Fixed Total type: object additionalProperties: false required: - total properties: total: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountTotal - title: Customer-chosen amount type: object additionalProperties: false minProperties: 1 properties: options: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountOptionsArray custom: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountCustom PaymentLinkCurrency: type: string example: USD description: > Currency for the authorization, represented as a three-letter ISO currency code. **Required only for `card_verification` links.** For `line_items` links the currency is taken from the line items and this field may be omitted. PaymentLinkReturnURL: type: string description: > Customer will be redirected to this URL after completing payment on `paymentLink.url` page. When not provided the return URL from account setting will be used. Some dynamic parameters will be appended to this URL. Example: `{returnUrl}?status=success&checkout_session_id=chse_xxxxx` PaymentLinkCollectBillingAddress: type: boolean description: > If the value is true, the customer will be asked to provide the billing address. Default: false PaymentLinkCollectShippingAddress: type: boolean description: > If the value is true, the customer will be asked to provide the shipping address. Default: false PaymentLinkRestrictions: type: object description: > This object describes time boundaries and preset number of charges made with the Payment link properties: dates: type: object properties: activatesAt: type: string format: ISO 8601 example: '2025-10-20T11:22:33.444Z' description: > Activation date of a payment link. By default, payment links are active at the moment of creation. Max: +1 month expiresAt: type: string format: ISO 8601 example: '2025-10-27T12:00:00.000Z' description: > Expiration date of a payment link. By default, payment links do not expire. payments: type: object properties: limit: type: integer example: 1 minimum: 1 maximum: 999 description: > Maximum number of successful payments allowed to be done using this payment link. Default: 1 Range: 1–999 count: readOnly: true type: integer example: 0 description: | Number of successful payments PaymentLinkNotificationsRequest: type: object description: | Payment Links notifications properties: share: type: object properties: email: type: boolean description: > If this flag is set to true, the payment link is automatically sent by email to the customer. The email address is taken from the `customer` object on the request — either supplied inline via `customer.emailAddress`, or read from an existing customer record referenced by `customer.id`. PaymentLinkStaticFields: type: object description: > List of custom information (for example: hotel reservation details) in key value pair format. A maximum of 10 entries can be provided. The key contains the title of custom information and is a maximum of 55 characters. The value contains the text of custom information and is a maximum of 255 characters. Examples: `"Date of event": "12 April"` `"Invoice number": "ABC2016"` additionalProperties: type: string example: Date of event: 12 April Invoice number: ABC2016 PaymentLinkCustomFieldsTitle: type: string maxLength: 32 example: Additional information description: | Title of custom fields section PaymentLinkCustomFieldsArray: type: array maxItems: 3 description: > Using custom fields, the merchant can request additional information from the customer. Each custom field will be displayed in the form as a new text field to fill out. items: type: object required: - key - label properties: key: type: string maxLength: 255 example: special_wishes description: | Identifier of custom field label: type: string maxLength: 20 example: Special wishes description: | Label of custom field optional: type: boolean description: > If this flag is set to `true`, then customer doesn't have to provide any value for this custom field PaymentLinkLocale: type: string enum: - auto - en - bg - cs - da - de - el - es - et - fi - fr - hr - hu - it - lt - lv - nl - 'no' - pl - pt - ro - ru - sk - sl - be description: | Language that will be used on payment page. Default: `auto` = use browser language PaymentLinkVendorReference: type: string maxLength: 50 example: ref_123456789 description: > Merchant Defined Descriptor related to the Payment Link. This field is reportable on the merchant portal and settlement extract. PaymentLinkRequest: type: object properties: id: $ref: '#/components/schemas/PaymentLinkId' type: $ref: '#/components/schemas/PaymentLinkType' lineItems: $ref: '#/components/schemas/PaymentLinkLineItemsArray' currency: $ref: '#/components/schemas/PaymentLinkCurrency' returnUrl: $ref: '#/components/schemas/PaymentLinkReturnURL' collectBillingAddress: $ref: '#/components/schemas/PaymentLinkCollectBillingAddress' collectShippingAddress: $ref: '#/components/schemas/PaymentLinkCollectShippingAddress' restrictions: $ref: '#/components/schemas/PaymentLinkRestrictions' notifications: $ref: '#/components/schemas/PaymentLinkNotificationsRequest' staticFields: $ref: '#/components/schemas/PaymentLinkStaticFields' customFieldsTitle: $ref: '#/components/schemas/PaymentLinkCustomFieldsTitle' customFields: $ref: '#/components/schemas/PaymentLinkCustomFieldsArray' locale: $ref: '#/components/schemas/PaymentLinkLocale' vendorReference: $ref: '#/components/schemas/PaymentLinkVendorReference' description: > Configuration of the payment link. Required fields depend on `type`: - `line_items` (default) — `lineItems` is required; `currency` is taken from the line items. - `card_verification` — `currency` is required and `lineItems` must be omitted. A `customer` must also be supplied at the top level of the request. oneOf: - title: Line items (payment) required: - lineItems properties: type: const: line_items - title: Card verification required: - type - currency properties: type: const: card_verification PaymentLinksCustomer: oneOf: - title: New Customer type: object required: - emailAddress properties: emailAddress: type: string example: john@example.com description: | Email address. Required when creating an inline customer. phoneCountry: type: string example: US description: > Two-letter ISO 3166-1 alpha-2 country code used to determine the phone number's country prefix (e.g., `US`, `GB`, `DE`). Required when `phoneNumber` does not already include the country calling code prefix (e.g., `+1`). When provided, the API prepends the corresponding prefix to `phoneNumber` and returns the full number in the response. phoneNumber: type: string example: +1 2345678901 description: > Customer phone number. Two formats are accepted: - **With country prefix** (e.g., `+1 2345678901`) — `phoneCountry` is not required. - **Without country prefix** (e.g., `2345678901`) — `phoneCountry` must be set to the appropriate alpha-2 code. addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' firstName: $ref: '#/components/schemas/CustomerFirstName' middleName: $ref: '#/components/schemas/CustomerMiddleName' lastName: $ref: '#/components/schemas/CustomerLastName' postalCode: $ref: '#/components/schemas/CustomerPostalCode' addressCity: type: string example: New York description: | City addressRegion: type: string example: NY description: | Region or state addressCountry: type: string example: US description: | Country - title: Existing Customer type: object required: - id properties: id: type: string example: cust_oM1i4j7EsIY7W5vqqF76diGw description: | Identifier of an existing customer to reuse PaymentLinksMetadata: type: object description: | Key-value object for storing additional custom data. This is never displayed to customer on the payment page. Examples: `"order_id": "12345"` `"campaign_code": "SUMMER2025"` additionalProperties: type: string example: order_id: '12345' campaign_code: SUMMER2025 PaymentLinksDateTime: type: string format: ISO 8601 readOnly: true example: '2024-05-21T09:18:23.283-07:00' description: | Date-time when the object was created PaymentLinkStatus: type: string enum: - active - expired - deactivated - completed - scheduled description: > Status of a Payment link. It can be one of the following: Value | Description ------------|--------------- active | Payment link is active and functional expired | Payment link expired and is no longer functional deactivated | Payment link has been deactivated by merchant completed | preset number of successful transactions made with this payment link has been reached, it is no longer functional scheduled | Payment link is yet to become active In the [/paymentlinks/update](/apis/payments-platform-rest/openapi/payment-links/paymentslinkupdate) request this field can be used to deactivate and reactivate an existing payment link. PaymentLinkLastOpened: type: string format: ISO 8601 example: '2025-10-20T11:22:33.444Z' description: > The date the link was last opened. Omitted if the link has not been opened yet. PaymentLinkLineItemsArrayResponse: type: array description: | List of line items items: type: object properties: product: type: object description: | Definition of a product properties: name: $ref: '#/components/schemas/PaymentLinkLineItemsProductName' description: $ref: '#/components/schemas/PaymentLinkLineItemsProductDescription' currencyCode: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountCurrencyCode amount: description: > Payment amount definition. A fixed-amount link returns `total`; a customer-chosen amount link returns `options`, `custom`, or both. `total` is never present alongside `options` or `custom`. oneOf: - title: Fixed Total type: object properties: total: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountTotal - title: Customer-chosen amount type: object properties: options: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountOptionsArray custom: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountCustom PaymentLinkURL: type: string example: https://pay.shift4.com/link_8kdskX8DZ8FR6W3acYPXiyAN description: | URL that can be used to process payment defined by this Payment Link PaymentLinkNotificationsResponse: type: object description: | Payment Links notifications properties: share: type: object properties: email: type: object description: | Email notification details properties: emailAddress: readOnly: true type: string example: john@example.com description: | Email address status: readOnly: true type: string enum: - sent - delivered - failed description: | Email delivery status. PaymentLinkResponse: type: object properties: id: $ref: '#/components/schemas/PaymentLinkId' type: $ref: '#/components/schemas/PaymentLinkType' status: $ref: '#/components/schemas/PaymentLinkStatus' lastOpened: $ref: '#/components/schemas/PaymentLinkLastOpened' lineItems: $ref: '#/components/schemas/PaymentLinkLineItemsArrayResponse' currency: $ref: '#/components/schemas/PaymentLinkCurrency' url: $ref: '#/components/schemas/PaymentLinkURL' returnUrl: $ref: '#/components/schemas/PaymentLinkReturnURL' collectBillingAddress: $ref: '#/components/schemas/PaymentLinkCollectBillingAddress' collectShippingAddress: $ref: '#/components/schemas/PaymentLinkCollectShippingAddress' restrictions: $ref: '#/components/schemas/PaymentLinkRestrictions' notifications: $ref: '#/components/schemas/PaymentLinkNotificationsResponse' staticFields: $ref: '#/components/schemas/PaymentLinkStaticFields' customFieldsTitle: $ref: '#/components/schemas/PaymentLinkCustomFieldsTitle' customFields: $ref: '#/components/schemas/PaymentLinkCustomFieldsArray' locale: $ref: '#/components/schemas/PaymentLinkLocale' vendorReference: $ref: '#/components/schemas/PaymentLinkVendorReference' PaymentLinksCustomerResponse: type: object properties: id: type: string readOnly: true example: cust_oM1i4j7EsIY7W5vqqF76diGw description: | Identifier of the customer emailAddress: type: string example: john@example.com description: | Email phoneCountry: type: string example: US description: > Two-letter ISO 3166-1 alpha-2 country code of the phone number's country (e.g., `US`, `GB`, `DE`). Present when the customer was created with `phoneCountry` set. phoneNumber: type: string example: +1 2345678901 description: > Phone number. When `phoneCountry` was provided on creation, the number is returned with the corresponding country calling code prepended. addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' firstName: $ref: '#/components/schemas/CustomerFirstName' middleName: $ref: '#/components/schemas/CustomerMiddleName' lastName: $ref: '#/components/schemas/CustomerLastName' postalCode: $ref: '#/components/schemas/CustomerPostalCode' addressCity: type: string example: New York description: | City addressRegion: type: string example: NY description: | Region or state addressCountry: type: string example: US description: | Country PaymentLinksHasMore: type: boolean description: > If the value is true then more objects can be listed by requesting next page PaymentLinkUpdateRequest: type: object properties: id: $ref: '#/components/schemas/PaymentLinkId' status: $ref: '#/components/schemas/PaymentLinkStatus' lineItems: type: array description: | List of line items items: type: object properties: product: type: object description: | Definition of a product properties: name: $ref: '#/components/schemas/PaymentLinkLineItemsProductName' description: $ref: >- #/components/schemas/PaymentLinkLineItemsProductDescription currencyCode: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountCurrencyCode amount: description: > Payment amount definition. Provide `total` for a fixed-amount link, or `options` and/or `custom` to let the customer choose the amount. `total` is mutually exclusive with `options` and `custom`; a customer-chosen amount link may use `options`, `custom`, or both together. oneOf: - title: Fixed Total type: object additionalProperties: false required: - total properties: total: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountTotal - title: Customer-chosen amount type: object additionalProperties: false minProperties: 1 properties: options: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountOptionsArray custom: $ref: >- #/components/schemas/PaymentLinkLineItemsProductAmountCustom returnUrl: $ref: '#/components/schemas/PaymentLinkReturnURL' collectBillingAddress: $ref: '#/components/schemas/PaymentLinkCollectBillingAddress' collectShippingAddress: $ref: '#/components/schemas/PaymentLinkCollectShippingAddress' restrictions: $ref: '#/components/schemas/PaymentLinkRestrictions' notifications: $ref: '#/components/schemas/PaymentLinkNotificationsRequest' staticFields: $ref: '#/components/schemas/PaymentLinkStaticFields' customFieldsTitle: $ref: '#/components/schemas/PaymentLinkCustomFieldsTitle' customFields: $ref: '#/components/schemas/PaymentLinkCustomFieldsArray' locale: $ref: '#/components/schemas/PaymentLinkLocale' CheckoutSessionId: readOnly: true type: string example: chse_wMCUGVZgpf45fWHzKbYWMKmZ description: | Identifier of a Checkout Session CheckoutSessionStaticFields: type: object description: | List of information displayed on the payment page additionalProperties: type: string example: Date of event: 12 April Invoice number: ABC2016 CheckoutSessionCustomFieldsTitle: type: string maxLength: 32 example: Additional information description: | Title of custom fields section CheckoutSessionCustomFieldsArray: type: array maxItems: 3 description: > List of custom fields that were collected from customer on the payment page items: type: object required: - key - label properties: key: type: string maxLength: 255 example: special_wishes description: | Identifier of custom field label: type: string maxLength: 20 example: Special wishes description: | Label of custom field optional: type: boolean description: > If this flag is set to true, then customer was not required to provide any value for this custom field value: type: string example: Happy Holidays description: | The value that was provided by the customer for this custom field CheckoutSessionLastTransaction: type: object description: > Contains the API response from the last transaction processed. See the [Sale Response Body](/apis/payments-platform-rest/openapi/transactions/transactionssale#transactions/transactionssale/response&c=200) for the full response structure. example: result: - dateTime: '2024-05-21T09:18:23.283-07:00' amount: total: '10.99' tax: '0.00' transaction: invoice: '0510093358' authorizationCode: '198399' saleFlag: S CheckoutSessionResponse: type: object properties: id: $ref: '#/components/schemas/CheckoutSessionId' staticFields: $ref: '#/components/schemas/CheckoutSessionStaticFields' customFieldsTitle: $ref: '#/components/schemas/CheckoutSessionCustomFieldsTitle' customFields: $ref: '#/components/schemas/CheckoutSessionCustomFieldsArray' lastTransaction: $ref: '#/components/schemas/CheckoutSessionLastTransaction' ACHDistributeBankAccount: title: Bank & Routing Number type: object required: - amount - transaction - ach properties: amount: $ref: '#/components/schemas/AmountACH' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoiceAlphanumeric' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' ach: type: object required: - accountNumber - routingNumber - accountType - accountHolderName properties: accountNumber: $ref: '#/components/schemas/ACHAccountNumber' routingNumber: $ref: '#/components/schemas/ACHRoutingNumber' accountType: $ref: '#/components/schemas/ACHAccountType' accountHolderName: $ref: '#/components/schemas/ACHAccountHolderName' accountVerified: $ref: '#/components/schemas/ACHAccountVerified' paymentTypeCode: $ref: '#/components/schemas/ACHPaymentTypeCode' example: amount: total: 135.87 transaction: invoice: '192029' ach: accountNumber: '1234567890' routingNumber: '121000248' accountHolderName: John Smith accountType: PC accountVerified: true ACHDistributeGTVToken: title: GTV Token type: object required: - amount - transaction - token properties: amount: $ref: '#/components/schemas/AmountACH' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoiceAlphanumeric' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' token: $ref: '#/components/schemas/TokenACH' ach: type: object properties: verifyBalance: $ref: '#/components/schemas/ACHVerifyBalance' paymentTypeCode: $ref: '#/components/schemas/ACHPaymentTypeCode' example: amount: total: 135.87 transaction: invoice: '192029' token: value: '9829283019231234' ach: verifyBalance: true EMVCAPKVersion: type: number example: 1 description: > The version of the EMV CA Public Keys (CAPKs). This field will increment any time changes are made to the EMV CAPKs. It can be used to determine if there are any changes since the previous time you requested the keys. EMVCAPKAid: type: string example: A000000003 description: | EMV application identifier. EMVCAPKIndex: type: string example: '92' description: | EMV CA Public Key Index EMVCAPKExpDate: type: string example: '12312030' description: | EMV CA Public Key Expiration Date in MMDDYYYY format. EMVCAPKAlgorithm: type: string example: '01' description: | EMV CA Public Key Algorithm EMVCAPKHashAlgorithm: type: string example: '01' description: | EMV CA Public Key Hash Algorithm EMVCAPKKey: type: string example: >- 996AF56F569187D09293C14810450ED8EE3357397B18A2458EFAA92DA3B6DF6514EC060195318FD43BE9B8F0CC669E3F844057CBDDF8BDA191BB64473BC8DC9A730DB8F6B4EDE3924186FFD9B8C7735789C23A36BA0B8AF65372EB57EA5D89E7D14E9C7B6B557460F10885DA16AC923F15AF3758F0F03EBD3C5C2C949CBA306DB44E6A2C076C5F67E281D7EF56785DC4D75945E491F01918800A9E2DC66F60080566CE0DAF8D17EAD46AD8E30A247C9F description: | EMV CA Public key EMVCAPKExponent: type: string example: '03' description: | EMV CA Public Key Exponent EMVCAPKChecksum: type: string example: 429C954A3859CEF91295F663C963E582ED6EB253 description: | EMV CA Public Key Checksum EMVCAPKObject: type: object properties: aid: $ref: '#/components/schemas/EMVCAPKAid' index: $ref: '#/components/schemas/EMVCAPKIndex' expDate: $ref: '#/components/schemas/EMVCAPKExpDate' algorithm: $ref: '#/components/schemas/EMVCAPKAlgorithm' hashAlgorithm: $ref: '#/components/schemas/EMVCAPKHashAlgorithm' key: $ref: '#/components/schemas/EMVCAPKKey' exponent: $ref: '#/components/schemas/EMVCAPKExponent' checksum: $ref: '#/components/schemas/EMVCAPKChecksum' EMVCAPKArray: type: array readOnly: true items: $ref: '#/components/schemas/EMVCAPKObject' example: - aid: A000000025 index: C9 expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- B362DB5733C15B8797B8ECEE55CB1A371F760E0BEDD3715BB270424FD4EA26062C38C3F4AAA3732A83D36EA8E9602F6683EECC6BAFF63DD2D49014BDE4D6D603CD744206B05B4BAD0C64C63AB3976B5C8CAAF8539549F5921C0B700D5B0F83C4E7E946068BAAAB5463544DB18C63801118F2182EFCC8A1E85E53C2A7AE839A5C6A3CABE73762B70D170AB64AFC6CA482944902611FB0061E09A67ACB77E493D998A0CCF93D81A4F6C0DC6B7DF22E62DB exponent: '03' checksum: 8E8DFF443D78CD91DE88821D70C98F0638E51E49 - aid: A000000025 index: CA expDate: '12312026' algorithm: '01' hashAlgorithm: '01' key: >- C23ECBD7119F479C2EE546C123A585D697A7D10B55C2D28BEF0D299C01DC65420A03FE5227ECDECB8025FBC86EEBC1935298C1753AB849936749719591758C315FA150400789BB14FADD6EAE2AD617DA38163199D1BAD5D3F8F6A7A20AEF420ADFE2404D30B219359C6A4952565CCCA6F11EC5BE564B49B0EA5BF5B3DC8C5C6401208D0029C3957A8C5922CBDE39D3A564C6DEBB6BD2AEF91FC27BB3D3892BEB9646DCE2E1EF8581EFFA712158AAEC541C0BBB4B3E279D7DA54E45A0ACC3570E712C9F7CDF985CFAFD382AE13A3B214A9E8E1E71AB1EA707895112ABC3A97D0FCB0AE2EE5C85492B6CFD54885CDD6337E895CC70FB3255E3 exponent: '03' checksum: 6BDA32B1AA171444C7E8F88075A74FBFE845765F - aid: A000000152 index: 5C expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- 833F275FCF5CA4CB6F1BF880E54DCFEB721A316692CAFEB28B698CAECAFA2B2D2AD8517B1EFB59DDEFC39F9C3B33DDEE40E7A63C03E90A4DD261BC0F28B42EA6E7A1F307178E2D63FA1649155C3A5F926B4C7D7C258BCA98EF90C7F4117C205E8E32C45D10E3D494059D2F2933891B979CE4A831B301B0550CDAE9B67064B31D8B481B85A5B046BE8FFA7BDB58DC0D7032525297F26FF619AF7F15BCEC0C92BCDCBC4FB207D115AA65CD04C1CF982191 exponent: '03' checksum: 60154098CBBA350F5F486CA31083D1FC474E31F8 - aid: A000000152 index: 5D expDate: '12312025' algorithm: '01' hashAlgorithm: '01' key: >- AD938EA9888E5155F8CD272749172B3A8C504C17460EFA0BED7CBC5FD32C4A80FD810312281B5A35562800CDC325358A9639C501A537B7AE43DF263E6D232B811ACDB6DDE979D55D6C911173483993A423A0A5B1E1A70237885A241B8EEBB5571E2D32B41F9CC5514DF83F0D69270E109AF1422F985A52CCE04F3DF269B795155A68AD2D6B660DDCD759F0A5DA7B64104D22C2771ECE7A5FFD40C774E441379D1132FAF04CDF55B9504C6DCE9F61776D81C7C45F19B9EFB3749AC7D486A5AD2E781FA9D082FB2677665B99FA5F1553135A1FD2A2A9FBF625CA84A7D736521431178F13100A2516F9A43CE095B032B886C7A6AB126E203BE7 exponent: '03' checksum: B51EC5F7DE9BB6D8BCE8FB5F69BA57A04221F39B - aid: A000000277 index: '02' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- E0FFBEE77CEE02ADEE8B4B004D26FB46FAF3CE033E3B874D73D099A966A0657497CEE214E95DF2BF5C9D359A3B10C05CFC9929BEF3070036FD19AE661B173E486CBC9B04E4B2E2D0D8209CAF5C200929FA252A21BD69A9A47488844A1DE5BF8729CE5E5E92117047BDDE9FBE72397FD9FC3BE459D8ED06FD6CADF0AFF39C93CC07B312EE2ACB3D4A15E919F57481CFEF exponent: '010001' checksum: BAF3652A9F5D0FF45EECECA55B4597B1F53BE283 - aid: A000000277 index: '03' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- E51505CCECDD0799BAFE097200DF40FFC2154836B8D67F1E99D4D415F73C04A9FAD73825D32AE5BA77FCD02597393CE4D8104B6010D5A8F28F2B47BB8298DAFD63C9C0BEF62AF937265614E31AE2AB45B60B968DB9DEE55602C169F6C16D4579BAA24765560300A3056F894BA8FFA566D9CCD79453D804B97DA14F21F9C3528ED8B8A368A9FACF05C46C13A9BA020618425EF1ACF6CB4DD5DCD050273502114B59EE90EBD833F70C2F324741E79A19A1 exponent: '010001' checksum: 0FB60A1BCA38095F3CC578D2DEC95F779840A343 - aid: A000000277 index: '07' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- B2CE89726B6B2D1690A0F8CA75CD0B6B1ACDFBE66D53BA00C500BE612FB421423684FF1868554A7722258012E588ED1CD206C67BB2F7598F3CE67F23A888B8ED7421C49A2EBA224DFBD866F62E59338E9F626D0DFD4C9ACC626E42EC0375EE424C93E5DB5773FC98E4AC9FCDEBD0521B15295C797DCABB4679C055AC374A81B245ABF1092A3D46E1CCE10A84F9FC2FC6ED91025121589C9AA68B56B7FBF0D86B4C8E3C9C08406DBB4609BBFC5308F325A8273CB6D36F3E0AF772507BF8A2A9F5A749B5AF98CCEAB2826C2D9C2AB9103B1BAB0DE92099C8072477EC564062AC38184C60DAD298EF352D92DFA041DDE3DB260CE5302B47A7E9 exponent: '010001' checksum: 44F2C13373A5068B63C9334E914DDE6AB70CE0F1 - aid: A000000277 index: '40' expDate: '12312025' algorithm: '01' hashAlgorithm: '01' key: >- F802C308544873AD2225A81943732A4B7CFFA4E3157D17CD5A7723F858F0B11E636D2930FA933778F27C7C49127E0CCA317021CFE8E0F773785EB3FF07587E98CE8ED4FE9E1CA1859F41A9CF2572D8A093C5465F5A29612A45B1700F4DA13814C3D4DF075EAADE8DB4BE4D7B3AE0256F7A0C12E34BD416CAC4F9250C38B7E13B exponent: '010001' checksum: 2015497BE4B86F104BBF337691825EED64E101CA - aid: A000000065 index: '11' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- A2583AA40746E3A63C22478F576D1EFC5FB046135A6FC739E82B55035F71B09BEB566EDB9968DD649B94B6DEDC033899884E908C27BE1CD291E5436F762553297763DAA3B890D778C0F01E3344CECDFB3BA70D7E055B8C760D0179A403D6B55F2B3B083912B183ADB7927441BED3395A199EEFE0DEBD1F5FC3264033DA856F4A8B93916885BD42F9C1F456AAB8CFA83AC574833EB5E87BB9D4C006A4B5346BD9E17E139AB6552D9C58BC041195336485 exponent: '03' checksum: D9FD62C9DD4E6DE7741E9A17FB1FF2C5DB948BCB - aid: A000000065 index: '13' expDate: '12312025' algorithm: '01' hashAlgorithm: '01' key: >- A3270868367E6E29349FC2743EE545AC53BD3029782488997650108524FD051E3B6EACA6A9A6C1441D28889A5F46413C8F62F3645AAEB30A1521EEF41FD4F3445BFA1AB29F9AC1A74D9A16B93293296CB09162B149BAC22F88AD8F322D684D6B49A12413FC1B6AC70EDEDB18EC1585519A89B50B3D03E14063C2CA58B7C2BA7FB22799A33BCDE6AFCBEB4A7D64911D08D18C47F9BD14A9FAD8805A15DE5A38945A97919B7AB88EFA11A88C0CD92C6EE7DC352AB0746ABF13585913C8A4E04464B77909C6BD94341A8976C4769EA6C0D30A60F4EE8FA19E767B170DF4FA80312DBA61DB645D5D1560873E2674E1F620083F30180BD96CA589 exponent: '03' checksum: 54CFAE617150DFA09D3F901C9123524523EBEDF3 - aid: A000000004 index: '06' expDate: '12312029' algorithm: '01' hashAlgorithm: '01' key: >- CB26FC830B43785B2BCE37C81ED334622F9622F4C89AAE641046B2353433883F307FB7C974162DA72F7A4EC75D9D657336865B8D3023D3D645667625C9A07A6B7A137CF0C64198AE38FC238006FB2603F41F4F3BB9DA1347270F2F5D8C606E420958C5F7D50A71DE30142F70DE468889B5E3A08695B938A50FC980393A9CBCE44AD2D64F630BB33AD3F5F5FD495D31F37818C1D94071342E07F1BEC2194F6035BA5DED3936500EB82DFDA6E8AFB655B1EF3D0D7EBF86B66DD9F29F6B1D324FE8B26CE38AB2013DD13F611E7A594D675C4432350EA244CC34F3873CBA06592987A1D7E852ADC22EF5A2EE28132031E48F74037E3B34AB747F exponent: '03' checksum: F910A1504D5FFB793D94F3B500765E1ABCAD72D9 - aid: A000000004 index: EF expDate: '12312029' algorithm: '01' hashAlgorithm: '01' key: >- A191CB87473F29349B5D60A88B3EAEE0973AA6F1A082F358D849FDDFF9C091F899EDA9792CAF09EF28F5D22404B88A2293EEBBC1949C43BEA4D60CFD879A1539544E09E0F09F60F065B2BF2A13ECC705F3D468B9D33AE77AD9D3F19CA40F23DCF5EB7C04DC8F69EBA565B1EBCB4686CD274785530FF6F6E9EE43AA43FDB02CE00DAEC15C7B8FD6A9B394BABA419D3F6DC85E16569BE8E76989688EFEA2DF22FF7D35C043338DEAA982A02B866DE5328519EBBCD6F03CDD686673847F84DB651AB86C28CF1462562C577B853564A290C8556D818531268D25CC98A4CC6A0BDFFFDA2DCCA3A94C998559E307FDDF915006D9A987B07DDAEB3B exponent: '03' checksum: 21766EBB0EE122AFB65D7845B73DB46BAB65427A - aid: A000000004 index: F1 expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- A0DCF4BDE19C3546B4B6F0414D174DDE294AABBB828C5A834D73AAE27C99B0B053A90278007239B6459FF0BBCD7B4B9C6C50AC02CE91368DA1BD21AAEADBC65347337D89B68F5C99A09D05BE02DD1F8C5BA20E2F13FB2A27C41D3F85CAD5CF6668E75851EC66EDBF98851FD4E42C44C1D59F5984703B27D5B9F21B8FA0D93279FBBF69E090642909C9EA27F898959541AA6757F5F624104F6E1D3A9532F2A6E51515AEAD1B43B3D7835088A2FAFA7BE7 exponent: '03' checksum: D8E68DA167AB5A85D8C3D55ECB9B0517A1A5B4BB - aid: A000000003 index: '92' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- 996AF56F569187D09293C14810450ED8EE3357397B18A2458EFAA92DA3B6DF6514EC060195318FD43BE9B8F0CC669E3F844057CBDDF8BDA191BB64473BC8DC9A730DB8F6B4EDE3924186FFD9B8C7735789C23A36BA0B8AF65372EB57EA5D89E7D14E9C7B6B557460F10885DA16AC923F15AF3758F0F03EBD3C5C2C949CBA306DB44E6A2C076C5F67E281D7EF56785DC4D75945E491F01918800A9E2DC66F60080566CE0DAF8D17EAD46AD8E30A247C9F exponent: '03' checksum: 429C954A3859CEF91295F663C963E582ED6EB253 - aid: A000000003 index: '94' expDate: '12312026' algorithm: '01' hashAlgorithm: '01' key: >- ACD2B12302EE644F3F835ABD1FC7A6F62CCE48FFEC622AA8EF062BEF6FB8BA8BC68BBF6AB5870EED579BC3973E121303D34841A796D6DCBC41DBF9E52C4609795C0CCF7EE86FA1D5CB041071ED2C51D2202F63F1156C58A92D38BC60BDF424E1776E2BC9648078A03B36FB554375FC53D57C73F5160EA59F3AFC5398EC7B67758D65C9BFF7828B6B82D4BE124A416AB7301914311EA462C19F771F31B3B57336000DFF732D3B83DE07052D730354D297BEC72871DCCF0E193F171ABA27EE464C6A97690943D59BDABB2A27EB71CEEBDAFA1176046478FD62FEC452D5CA393296530AA3F41927ADFE434A2DF2AE3054F8840657A26E0FC617 exponent: '03' checksum: C4A3C43CCF87327D136B804160E47D43B60E6E0F - aid: A000000333 index: '08' expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- B61645EDFD5498FB246444037A0FA18C0F101EBD8EFA54573CE6E6A7FBF63ED21D66340852B0211CF5EEF6A1CD989F66AF21A8EB19DBD8DBC3706D135363A0D683D046304F5A836BC1BC632821AFE7A2F75DA3C50AC74C545A754562204137169663CFCC0B06E67E2109EBA41BC67FF20CC8AC80D7B6EE1A95465B3B2657533EA56D92D539E5064360EA4850FED2D1BF exponent: '03' checksum: EE23B616C95C02652AD18860E48787C079E8E85A - aid: A000000333 index: '09' expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- EB374DFC5A96B71D2863875EDA2EAFB96B1B439D3ECE0B1826A2672EEEFA7990286776F8BD989A15141A75C384DFC14FEF9243AAB32707659BE9E4797A247C2F0B6D99372F384AF62FE23BC54BCDC57A9ACD1D5585C303F201EF4E8B806AFB809DB1A3DB1CD112AC884F164A67B99C7D6E5A8A6DF1D3CAE6D7ED3D5BE725B2DE4ADE23FA679BF4EB15A93D8A6E29C7FFA1A70DE2E54F593D908A3BF9EBBD760BBFDC8DB8B54497E6C5BE0E4A4DAC29E5 exponent: '03' checksum: A075306EAB0045BAF72CDD33B3B678779DE1F527 - aid: A000000333 index: 0A expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- B2AB1B6E9AC55A75ADFD5BBC34490E53C4C3381F34E60E7FAC21CC2B26DD34462B64A6FAE2495ED1DD383B8138BEA100FF9B7A111817E7B9869A9742B19E5C9DAC56F8B8827F11B05A08ECCF9E8D5E85B0F7CFA644EFF3E9B796688F38E006DEB21E101C01028903A06023AC5AAB8635F8E307A53AC742BDCE6A283F585F48EF exponent: '03' checksum: C88BE6B2417C4F941C9371EA35A377158767E4E3 - aid: A000000333 index: 0B expDate: '12312031' algorithm: '01' hashAlgorithm: '01' key: >- CF9FDF46B356378E9AF311B0F981B21A1F22F250FB11F55C958709E3C7241918293483289EAE688A094C02C344E2999F315A72841F489E24B1BA0056CFAB3B479D0E826452375DCDBB67E97EC2AA66F4601D774FEAEF775ACCC621BFEB65FB0053FC5F392AA5E1D4C41A4DE9FFDFDF1327C4BB874F1F63A599EE3902FE95E729FD78D4234DC7E6CF1ABABAA3F6DB29B7F05D1D901D2E76A606A8CBFFFFECBD918FA2D278BDB43B0434F5D45134BE1C2781D157D501FF43E5F1C470967CD57CE53B64D82974C8275937C5D8502A1252A8A5D6088A259B694F98648D9AF2CB0EFD9D943C69F896D49FA39702162ACB5AF29B90BADE005BC157 exponent: '03' checksum: BD331F9996A490B33C13441066A09AD3FEB5F66C - aid: A000000780 index: A4 expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- D22EF8F41F0685E371B53625692A7EB13B3E9462DD985E044A5915108D2DFCC0A4171C0C0DE4E6D9BD525CAC461A169DAC5101B975D105DEA2AA34B80D9131F47A278DA609B32B1379F98FB960328DE1E27E1EDAFD2DC8A3643AFEB605582C5F953E0DE029643DE058DA6813137EB9450C5C1AD36823BF4C548A5599F6C025274081F6BBF916D79CC00AB77C3AD8E35282FFC9A24CF5F31B0E5585618A75929FBAD4416EC853A76380C84DB3B208389EC2675C9CDEA4AC106EE6AEB242761EEFED6D744E3439588EB17B2CDD956658F59FBB2186B23B396B48E84A7702B91238059FB314CAFCF59B3F09787CCA396ABA35A144C0435DC99D exponent: '03' checksum: 8438208C174CC1C3FB7793585BF1DE288349B31C - aid: A000000768 index: E1 expDate: '12312027' algorithm: '01' hashAlgorithm: '01' key: >- AD767119B139295B9EF760B9A94811580E933A03E76C0A7022F1021278EB6FBBEF36599D5A95C2CB603364E1DA12DF88B76D19F225F14D2A689C580DC2B54457C8BEA50086A4BE897D3353AA003CAFAB5AE3993BE6D379D488689028EC852DFED90EA6FDD73ACF6583934E64601A0EE45AF652B52CC58A9EFFA5D846DD79EFC9A8638275EC264B3C40AA3C8F3DDF1F9D378598362DF48417BF039A04D70B4FFA14A2F6218299428C625EF949F08740ED36FE9265BB8E2CA94604EFC0AEB654F9FC455F22B1EC46871E46638CE190D3691313E41C7F9C8AD4AE3D1B574D4336AD6A2BA551F2DB3A8D44F375CB67D94AFBDFD34DEA92066149 exponent: '03' checksum: AE03037B9B042B0F9690500DEE287CD706FF73C8 - aid: A000000768 index: EE expDate: '12312027' algorithm: '01' hashAlgorithm: '01' key: >- A8D150CEE34B16D294B46B99BD6B3284303BD1FFD316C210E876666AD991DFE68DC1BD0835A5E03F753DB0DCE112A928C0C604F5DF256E265E05B59B4DAA15E74B0E5E27E56F8D97C1233D416162DDEC7EFE731D30BBA16683557E4D8FA15269F51D40468D1B2C31CCD314804FC97341F68A1BB78F4985B99F0901557B52196950CF6A12D6FD4356002197B17A8035606DAAC2BFCDB3CD86B9FCDBC64908BFB039C268772D73E44C3867AFC002C12CB5 exponent: '03' checksum: 6DFE06AB7FAD2D98EA18B7849D11DF704D08EFAE description: | Array containing the current EMV CA Public Keys. BoardingCompanyPlaid: type: object description: | Company specific boarding information. required: - name - legalEntityName - address properties: name: type: string description: > The company name of the end customer being created. This will be used to display the end customer in the Plaid Dashboard. It will not be shown to end users. legalEntityName: type: string description: > The end customer's legal name. This will be shared with financial institutions as part of the OAuth registration process. It will not be shown to end users. address: type: object required: - city - street - region - postalCode - countryCode properties: city: type: string street: type: string region: type: string postalCode: type: string countryCode: type: string description: | ISO-3166-1 alpha-2 country code standar website: description: > The end customer's website. Defaulted to `www.shift4.com` if not provided. SerialNumber: type: number maxLength: 10 example: 266 description: | The Shift4 serial number S4Mid: type: number maxLength: 10 example: 123456 description: | The Shift4 MID number ACHBoardingActive: type: string enum: - 'Y' - 'N' description: | Used to enable `Y` or disable `N` EMV on the account. ACHWebhookURL: type: string description: > A URL that outbound HTTP POST message is going to send to merchant from the Shift4 gateway that provides status of the ach request. boarding_create_ach_plaid_request: title: ACH Plaid type: object required: - dateTime - service - company - serial - s4mid - ach properties: dateTime: $ref: '#/components/schemas/DateTime' service: type: string enum: - plaid description: | The service being boarded. company: $ref: '#/components/schemas/BoardingCompanyPlaid' serial: $ref: '#/components/schemas/SerialNumber' s4mid: $ref: '#/components/schemas/S4Mid' ach: type: object required: - active - paymentDescriptor - webhookUrl properties: active: $ref: '#/components/schemas/ACHBoardingActive' paymentDescriptor: type: string maxLength: 10 example: INTERNET description: > Custom description that will be appended to the merchant name on the customer's statement. plaid: type: object description: | Plaid specific boarding information. properties: applicationName: type: string description: > The name of the end customer's application. This will be shown to end users when they go through the Plaid Link flow. Defaulted to `Shift4 App` if not sent. diligenceAttested: type: boolean description: > Denotes whether or not the partner has completed attestation of diligence for the end customer to be created. Defaulted to `true` if not sent. bankAddendumCompleted: type: boolean description: > Denotes whether the partner has forwarded the Plaid bank addendum to the end customer. Defaulted to `true` if not sent. products: type: array items: type: string description: > Possible Values: `assets`, `auth`, `balance`, `identity`, `investments`, `liabilities`, `transactions`. Defaulted to `auth`, `balance`, and `identity` if not sent. logo: type: string description: > Base64-encoded representation of the end customer's logo. Must be a PNG of size 1024x1024 under 4MB. The logo will be shared with financial institutions and shown to the end user during Link flows. A logo is required if create_link_customization is true. If create_link_customization is false and the logo is omitted, a stock logo will be used. createLinkCustomization: type: boolean description: > If true, the end customer's default Link customization will be set to match the partner's. You can always change the end customer's Link customization in the Plaid Dashboard. See the [Link Customization docs](https://plaid.com/docs/link/customization/) for more information. technicalContact: type: object description: > The technical contact for the end customer. Defaults to partner's technical contact if omitted. properties: firstName: type: string lastName: type: string email: type: string billingContact: type: object description: > The billing contact for the end customer. Defaults to partner's technical contact if omitted. properties: firstName: type: string lastName: type: string email: type: string customerSupportInfo: type: object description: > This information is public. Users of your app will see this information when managing connections between your app and their bank accounts in Plaid Portal. Defaults to partner's customer support info if omitted. properties: email: type: string phoneNumber: type: string contactUrl: type: string linkUpdateUrl: type: string assetsUnderManagement: type: object description: > Assets under management for the given end customer. Required for end customers with monthly service commitments. properties: amount: type: number isoCurrencyCode: type: string redirectUris: type: string description: > A list of URIs indicating the destination(s) where a user can be forwarded after completing the Link flow; used to support OAuth authentication flows when launching Link in the browser or via a webview. URIs should not contain any query parameters. When used in Production or Development, URIs must use https. To specify any subdomain, use * as a wildcard character, e.g. https://*.example.com/oauth.html. To modify redirect URIs for an end customer after creating them, go to the end customer's API page in the Dashboard. **Conditional: must be sent if plaid.redirectUrl element is going to be used on plaid account verification endpoint.** webhookUrl: $ref: '#/components/schemas/ACHWebhookURL' example: dateTime: '2023-02-17T09:07:23.283-07:00' service: plaid company: name: Merchant XYZ legalEntityName: Merchant XYZ address: city: Las Vegas street: 123 Main St region: NV postalCode: '89134' countryCode: US website: www.merchantxyz.com serial: 266 s4mid: 12346 ach: active: 'Y' paymentDescriptor: UTILITY plaid: applicationName: Shift4 App diligenceAttested: true bankAddendumCompleted: false products: - auth - balance webhookUrl: api.merchantxyz.com/webhook BoardingCompanyACHStandalone: type: object description: | Company specific boarding information. required: - name - legalEntityName - address properties: name: type: string description: > The company name of the end customer being created. This will be used to display the end customer in the Plaid Dashboard. It will not be shown to end users. legalEntityName: type: string description: > The end customer's legal name. This will be shared with financial institutions as part of the OAuth registration process. It will not be shown to end users. address: type: object required: - city - street - region - postalCode - countryCode properties: city: type: string street: type: string region: type: string postalCode: type: string countryCode: type: string description: | ISO-3166-1 alpha-2 country code standar website: description: > The end customer's website. Defaulted to `www.shift4.com` if not provided. boarding_create_ach_standalone_request: title: ACH Standalone type: object required: - dateTime - service - company - serial - s4mid - ach properties: dateTime: $ref: '#/components/schemas/DateTime' service: type: string enum: - achstandalone description: | The service being boarded. company: $ref: '#/components/schemas/BoardingCompanyACHStandalone' serial: $ref: '#/components/schemas/SerialNumber' s4mid: $ref: '#/components/schemas/S4Mid' ach: type: object required: - active - paymentDescriptor - webhookUrl properties: active: $ref: '#/components/schemas/ACHBoardingActive' paymentDescriptor: type: string maxLength: 10 example: INTERNET description: > Custom description that will be appended to the merchant name on the customer's statement. webhookUrl: $ref: '#/components/schemas/ACHWebhookURL' example: dateTime: '2023-02-17T09:07:23.283-07:00' service: achstandalone company: name: Merchant XYZ legalEntityName: Merchant XYZ address: city: Las Vegas street: 123 Main St region: NV postalCode: '89134' countryCode: US website: www.merchantxyz.com serial: 266 s4mid: 12346 ach: active: 'Y' paymentDescriptor: UTILITY webhookUrl: api.merchantxyz.com/webhook BoardingCompanyGTV: type: object description: | Company specific boarding information. required: - legalEntityName - address - website properties: legalEntityName: type: string description: | The merchant's legal name address: type: object required: - city - countryCode properties: city: type: string minLength: 2 maxLength: 100 description: | City in the merchant's primary address countryCode: type: string minLength: 2 maxLength: 2 description: > The merchants's 2 letter ISO Country code in ISO-3166-1 alpha-2 format website: description: | The merchant's website. GTVID: type: string minLength: 2 maxLength: 20 example: SPACEX description: | The Shift4 GTV ID GTVNetworkToken: type: string enum: - 'Y' - 'N' example: 'Y' description: | Send `Y` to enable or `N` to disable card brand network tokenization GTVBinCode: type: string minLength: 2 maxLength: 20 enum: - ML_GC - ML - MLBWESTERN - M - MAI - LTV_DEFAULT - LTV_GC - TV2G - HILTON example: ML_GC description: | The GTV Bincode ID GTVBinCodeUnknown: type: string enum: - 'Y' - 'N' example: 'Y' description: | Send `Y` to allow or `N` to disallow tokenizing unkonwn BIN codes. GTVTokenMod10: type: string enum: - 'Y' - 'N' example: 'Y' description: > Send `Y` for GTV to generate tokens that pass mod10 or `N` for GTV to generate tokens that do not pass mod10. GTVVaultSize: type: number example: 1024 description: | Expected size of vault GTV: type: object description: | GTV specific boarding information. properties: id: $ref: '#/components/schemas/GTVID' networkToken: $ref: '#/components/schemas/GTVNetworkToken' bincode: $ref: '#/components/schemas/GTVBinCode' bincodeUnknown: $ref: '#/components/schemas/GTVBinCodeUnknown' tokenMod10: $ref: '#/components/schemas/GTVTokenMod10' vaultSize: $ref: '#/components/schemas/GTVVaultSize' boarding_create_gtv_request: title: GTV type: object required: - dateTime - service - company - s4mid - processor properties: dateTime: $ref: '#/components/schemas/DateTime' service: type: string enum: - gtv description: | The service being boarded. company: $ref: '#/components/schemas/BoardingCompanyGTV' s4mid: $ref: '#/components/schemas/S4Mid' processor: type: string enum: - TSYS - Finaro gtv: $ref: '#/components/schemas/GTV' example: dateTime: '2023-02-17T09:07:23.283-07:00' service: gtv company: legalEntityName: Merchant XYZ address: city: Las Vegas countryCode: US website: www.merchantxyz.com s4mid: 12346 processor: TSYS gtv: id: SPACEX networkToken: 'Y' bincode: ML_GC bincodeUnknown: 'Y' tokenMod10: 'Y' vaultSize: 200000 BoardingCompanyMagicCube: type: object description: | Company specific boarding information. required: - legalEntityName - address - website properties: legalEntityName: type: string description: | The merchant's legal name address: type: object required: - city - countryCode properties: city: type: string minLength: 2 maxLength: 100 description: | City in the merchant's primary address countryCode: type: string minLength: 2 maxLength: 2 description: > The merchants's 2 letter ISO Country code in ISO-3166-1 alpha-2 format website: description: | The merchant's website. boarding_create_magiccube_request: title: MagicCube type: object required: - dateTime - service - company - s4mid properties: dateTime: $ref: '#/components/schemas/DateTime' service: type: string enum: - magiccube description: | The service being boarded. company: $ref: '#/components/schemas/BoardingCompanyMagicCube' s4mid: $ref: '#/components/schemas/S4Mid' example: dateTime: '2023-02-17T09:07:23.283-07:00' service: magiccube company: legalEntityName: Merchant XYZ address: city: Las Vegas countryCode: US website: www.merchantxyz.com s4mid: 12346 ACHStatus: type: string enum: - success - failed description: | ACH status response boarding_create_ach_plaid_response: title: ACH Plaid type: object properties: dateTime: $ref: '#/components/schemas/DateTime' serial: $ref: '#/components/schemas/SerialNumber' s4mid: $ref: '#/components/schemas/S4Mid' ach: type: object properties: active: $ref: '#/components/schemas/ACHBoardingActive' plaid: type: object properties: createDateTime: type: string format: ISO 8601 example: '2024-01-17T13:34:25.049-07:00' description: > The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). status: type: string description: > The status of the given end customer. Value | Description -------------------|------------- UNDER_REVIEW | The end customer has been created and enabled in the non-Production environments. The end customer must be manually reviewed by the Plaid team before it can be enabled in production, at which point its status will automatically transition to PENDING_ENABLEMENT or DENIED. PENDING_ENABLEMENT | The end customer is ready to be enabled in the Production environment. Call the /partner/customer/enable endpoint to enable the end customer in Production. ACTIVE | The end customer has been enabled in all environments. DENIED | The end customer has been created and enabled in the non-Production environments, but it did not pass review by the Plaid team and therefore cannot be enabled in the Production environment. Talk to your Account Manager for more information. link_status: type: string description: | The status of the Plaid Link boarding. Value | Description --------|------------- success | Plaid Link boarding was successful failed | Plaid Link boarding was not successful status: $ref: '#/components/schemas/ACHStatus' server: $ref: '#/components/schemas/Server' example: dateTime: '2023-02-17T09:07:23.283-07:00' serial: 266 s4mid: 12346 ach: active: 'Y' plaid: createDateTime: '2023-02-17T09:08:08.748-07:00' status: ACTIVE link_status: success status: success server: name: TM01CE boarding_create_ach_standalone_response: title: ACH Standalone type: object properties: dateTime: $ref: '#/components/schemas/DateTime' serial: $ref: '#/components/schemas/SerialNumber' s4mid: $ref: '#/components/schemas/S4Mid' ach: type: object properties: active: $ref: '#/components/schemas/ACHBoardingActive' status: $ref: '#/components/schemas/ACHStatus' server: $ref: '#/components/schemas/Server' example: dateTime: '2023-02-17T09:07:23.283-07:00' serial: 266 s4mid: 12346 ach: active: 'Y' status: success server: name: TM01CE boarding_create_gtv_response: title: GTV type: object properties: dateTime: $ref: '#/components/schemas/DateTime' s4mid: $ref: '#/components/schemas/S4Mid' gtv: $ref: '#/components/schemas/GTV' server: $ref: '#/components/schemas/Server' example: dateTime: '2023-02-17T09:07:23.283-07:00' s4mid: 12346 gtv: id: SPACEX networkToken: 'Y' bincode: ML_GC bincodeUnknown: 'Y' tokenMod10: 'Y' vaultSize: 200000 server: name: TM01CE boarding_create_magiccube_response: title: MagicCube type: object properties: dateTime: $ref: '#/components/schemas/DateTime' s4mid: $ref: '#/components/schemas/S4Mid' server: $ref: '#/components/schemas/Server' example: dateTime: '2023-02-17T09:07:23.283-07:00' s4mid: 12346 server: name: TM01CE Kiosk: type: object properties: mode: type: string enum: - enabled - disabled description: > Send `enabled` to enable kiosk mode or `disabled` to disable kiosk mode. The response value will indicate the actual state. In the case where you attempt to enable kiosk mode but Commerce Engine is unable to enable it, the response will return `disabled`. devices_config_comengdevice: title: Commerce Engine For On Premise type: object required: - dateTime properties: dateTime: $ref: '#/components/schemas/DateTime' kiosk: $ref: '#/components/schemas/Kiosk' devices_config_comengcloud: title: Commerce Engine For Cloud type: object required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: $ref: '#/components/schemas/DeviceComEngCloud' kiosk: $ref: '#/components/schemas/Kiosk' DeviceCloudMQQueue: type: string example: 93680a92-ca54-4a5d-8f84-e63418860e13 description: | Specifies the message queue name DeviceCloudMQRouting: type: string example: Pax.1170301234 description: | Specifies the message queue routing key DeviceCloudMQServer: type: string example: wh-mq-v03.dev.shift4.net:5671 description: > Specifies the message queue server URL the device cloud solution should connect to DeviceCloudMQType: type: string enum: - RMQ example: RMQ description: > Specifies the type of message queue broker the device cloud solution will be connecting to. Value | Description ------|------------ RMQ | RabbitMQ DeviceCloudMQVHost: type: string example: rabbitmq-dev description: > Specifies the message queue virtual host the device cloud solution should connect to DeviceTerminalIdMagicCube: type: string example: '9876543213' description: | Terminal ID DeviceMCRock: type: string example: QyN2LlqKzuTcpIz9 description: | MagicCube Rock MagicCubePed_PBK: type: string example: >- -----BEGIN CERTIFICATE-----\nMIIDMjCCAZoCEQDn7O4vkjJF4n8I2PgAx5JbMA0GCSqGSIb3DQEBCwUAMBcxFTAT\nBgNVBAMMDG1hZ2ljY3ViZS5jbzAeFw0yMzA3MTkwMDAwMDBaFw0yNDA3MTgwMDAw\nMDBaMBcxFTATBgNVBAMMDG1hZ2ljY3ViZS5jbzCCASIwDQYJKoZIhvcNAQEBBQAD\nggEPADCCAQoCggEBANLB4rH6fBHFPrAdLAtoQCmW8sTswNgrIs5M2bqRlk3Tv1wg\n8wANu2o6TPNTV9bxwKz4cDdWqaM98PXHyVJZmQA4dbzNhrndNSuT6yftL0awpmZm\nlXevLABtIUVf9S+z1VcDzxFyJaMdpNkBuXG6gTR4dQLXXle9FPH79afvBfRZf\/Of\nnPZoGM27AWctFv6W0NwDv0iUhvMYEzEmUR2PwDtD5Ws9\/sO8W1kpIjNd9KGQOI4o\nNil4gtnAF7ODGVO6OjIm8YQeD\/AvfTTo7IOPc\/kq9h0UN3pulDbvOUloobQouNyJ\nSq1D10XD3d9tw7vIaurs5NURwy\/glZDsi+A0uSMCAwEAATANBgkqhkiG9w0BAQsF\nAAOCAYEAmZdJ+yqeP+tq6wWtBp9TspDKQPXO5xKHS8oLXVjlfjvftAA2260C8u24\nV9Gta7dJcKxewkVWRh2AyoJToks2aJm8aL1XmtZeJ6bMJEEnxDGOAhsOYF2relyY\n6mTf9\/SBMSfK2BP3w1T0TUn+fEXQA4a7DyK73k15WJy4j4wzTmrRGXno0p7Pq4eC\nNLW9QTYzeoAi\/nHt5MqxOn23+1kGX3\/yYoNl7gFWozqzzouNL6qNIdkdEGQYL5Mv\nl70FyoezWyPmXUMfRGRHwMXKGhRn98pQBkV91K2lg2Ovkwv8hknv1ux59M+gpXZG\nVAPPuDjkvYh\/VheKdxjRwaCiIflrDM58af4gZ+AcGVLDTHRie8z5Ok1oA4pavPHb\neE+0AzUOpq2gxPxMBiBf1CtHTLEMXal2mqJpbkElCVSoXZpJeUibzlSD6sh22Eb4\nPupc9SDyHv76p\/Hrqcnr0eiuzbCTtWtPariOruDeseiYvwpIF\/yssqdzRURe6uPW\nsT\/nkmlt\n-----END CERTIFICATE-----\n description: | MagicCube Ped PBK MagicCubeE_IPEK: type: string example: >- Yn2gV_IgV5LAq6zG9QIcqitFjigQvEMy6F0lBZucV_yxoouyzWpB2wDOG7scIgGF5JeWPhuMAsL2t6QFw6tyB2Jozx0tELxXYabsMvvYWRAm7Ruf2YGVbFgT-W7hMhT3N1hzAIXkPhjFUqPBkgLl5bGb1SFa4XL0fVG_iHNXFMYIoh4QMSKC6hcIblqtnDEmt80KxMtx92dDdW32rZwVXDfIvBAy0JzFbSggHbdTkJGp-VQsYKXf0J3cgc9CNcmpgq8f48k-XQIgbexEQXITzABpbZDr3tccljEEU1mEX18-H11ie8BJmcqhhaN40YHqQgWBQ2GJGzAo_V-aQRivTg== description: | MagicCube e_ipek MagicCubeIKSN: type: string example: __9JUgAXAAAAAA== description: | MagicCube iksn MagicCubeSystemReadyResult: type: string enum: - ok example: ok description: | MagicCube System Ready Result CurrencyCodeGlobal: type: string format: ISO 4217 3 Character Alphabetic Code example: EUR description: > Transaction currency code. See the [Currency Codes](/guides/appendices/currency-codes) section for details. CardMaskedNumberRequest: type: string maxLength: 32 example: XXXXXXXXXXXX1119 description: > The masked card number showing just the last 4 digits of the card with the rest of the card digits masked with an `X`. CardBinRequest: type: string maxLength: 8 example: '432100' description: | The first 6 or 8 digits of the card. TransactionType: type: string example: Sale enum: - Sale - Authorization - Incremental - Refund - Void - Capture description: | Specifies the transaction type. TransactionResponseCodeApproved: type: string minLength: 1 maxLength: 1 example: A enum: - A description: | Code indicating the transaction status. Value | Description | Details -------|-------------|-------- A | Approved | The transaction is approved. PurchaseCardOptional: type: object properties: customerReference: $ref: '#/components/schemas/PurchaseCardCustomerReference' destinationPostalCode: $ref: '#/components/schemas/PurchaseCardDestinationPostalCode' productDescriptors: $ref: '#/components/schemas/PurchaseCardProductDescriptors' EMVTlvDataReportUpload: type: string writeOnly: true example: >- 4F07A0000000041010500A4D6173746572436172645F201A546573742F4361726420303920202020202020202020202020205F24032512315F25031511015F2D02656E5F3401018407A0000000041010950508200000009B02C8009F02060000000004449F03060000000000009F34031E03009F3704C5BF918D9F390105 description: > This field will contain all EMV tags in standard TLV format except tags 5A and 57. EMVReportUpload: type: object writeOnly: true description: > **Conditional: Required when the request was processed an EMV insert or tap.** required: - tlvData properties: emptyCandidateList: $ref: '#/components/schemas/EMVEmptyCandidateList' tlvData: $ref: '#/components/schemas/EMVTlvDataReportUpload' transactions_reportupload_approval: title: Approval type: object required: - dateTime - amount - currencyCode - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' accountType: $ref: '#/components/schemas/AccountType' amount: $ref: '#/components/schemas/Amount' currencyCode: $ref: '#/components/schemas/CurrencyCodeGlobal' clerk: $ref: '#/components/schemas/ClerkOptional' card: type: object required: - entryMode - present - type properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardTypeResp' debitType: $ref: '#/components/schemas/CardDebitType' number: $ref: '#/components/schemas/CardMaskedNumberRequest' bin: $ref: '#/components/schemas/CardBinRequest' transaction: type: object required: - invoice - type - authorizationCode - responseCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' type: $ref: '#/components/schemas/TransactionType' authorizationCode: $ref: '#/components/schemas/TransactionAuthorizationCode' responseCode: $ref: '#/components/schemas/TransactionResponseCodeApproved' notes: $ref: '#/components/schemas/TransactionNotes' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCardOptional' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' device: type: object properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' emv: $ref: '#/components/schemas/EMVReportUpload' receipt: $ref: '#/components/schemas/ReceiptArray' customer: $ref: '#/components/schemas/Customer' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 currencyCode: EUR card: entryMode: E present: 'Y' type: DB debitType: girocard number: XXXXXXXXXXXX1119 bin: '432100' clerk: numericId: 1576 device: manufacturer: Verifone model: V660p-A serialNumber: '454123456' terminalId: 002211223344-1 emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401015A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C317998407A00000000310109F100706010A03A0A000573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B39F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 transaction: invoice: '192029' authorizationCode: OK987Z responseCode: A hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' pspData: pspId: PSP Name XYZ pspMid: '123456' pspTid: '12345678' pspTxnTraceNo: '000013' pspTxnDate: '20210415' pspTxnTime: '182328' pspResponseCode: '00' pspResponseText: Payment Approved TransactionResponseCodeDeclined: type: string minLength: 1 maxLength: 1 example: D enum: - D description: | Code indicating the transaction status Value | Description | Details -------|--------------|-------- D | Declined | The transaction is declined. transactions_reportupload_decline: title: Decline type: object required: - dateTime - amount - currencyCode - card - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' accountType: $ref: '#/components/schemas/AccountType' amount: $ref: '#/components/schemas/Amount' currencyCode: $ref: '#/components/schemas/CurrencyCodeGlobal' clerk: $ref: '#/components/schemas/ClerkOptional' card: type: object required: - entryMode - present - type properties: entryMode: $ref: '#/components/schemas/CardEntryMode' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardTypeResp' debitType: $ref: '#/components/schemas/CardDebitType' number: $ref: '#/components/schemas/CardMaskedNumberRequest' bin: $ref: '#/components/schemas/CardBinRequest' transaction: type: object required: - invoice - type - responseCode properties: invoice: $ref: '#/components/schemas/TransactionInvoice' type: $ref: '#/components/schemas/TransactionType' responseCode: $ref: '#/components/schemas/TransactionResponseCodeDeclined' hostResponse: $ref: '#/components/schemas/HostResponse' notes: $ref: '#/components/schemas/TransactionNotes' amex: $ref: '#/components/schemas/TransactionAmex' airline: $ref: '#/components/schemas/AirlineRequest' cardOnFile: $ref: '#/components/schemas/CardOnFile' hotel: $ref: '#/components/schemas/HotelCheckOut' purchaseCard: $ref: '#/components/schemas/PurchaseCardOptional' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' device: type: object properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' terminalId: $ref: '#/components/schemas/DeviceTerminalIdComEng' emv: $ref: '#/components/schemas/EMVReportUpload' receipt: $ref: '#/components/schemas/ReceiptArray' customer: $ref: '#/components/schemas/Customer' reportingData: $ref: '#/components/schemas/ReportingData' mPos: $ref: '#/components/schemas/mPOS' dcc: $ref: '#/components/schemas/DCCTransactionRequest' surcharge: $ref: '#/components/schemas/SurchargeRequest' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 currencyCode: EUR card: entryMode: E present: 'Y' type: DB debitType: girocard number: XXXXXXXXXXXX1119 bin: '432100' clerk: numericId: 1576 device: manufacturer: Verifone model: V660p-A serialNumber: '454123456' terminalId: 002211223344-1 emv: tlvData: >- 9F40056000F0A0019F02060000000111009F03060000000000009F26088D24914341485DE14F07A00000000310109F0607A000000003101082021C009F360202929F34035E03009F2701809F3901059F3303E0F8C89F1A0208409F350122950580800080005F2A0208409A032107229B0268009F21031016209C01009F3704D2EAB1B55F2D02656E5F3401015A181CF757386DE00BC2DE05F965DB1E96D867C2009CA8C317998407A00000000310109F100706010A03A0A000573083FBDC0892887F7C99E0B7E54520CCC94308B4E4C7D4C18CDCE4EAA83C4D18A6AFDCD53EAC46BD5630834EFB238F32B39F0D05B0508088009F0E0500000000009F0F05B0508098009F0702FF009F080200969F0902008C5F280208409F4104000000085F24032212319F1E083131373031373332 transaction: invoice: '192029' responseCode: D hotel: additionalCharges: giftShop: 'Y' laundry: 'Y' miniBar: 'Y' other: 'Y' restaurant: 'Y' telephone: 'Y' arrivalDateTime: '2021-04-12T15:39:01.594-07:00' departureDateTime: '2021-04-15T09:18:23.283-07:00' primaryChargeType: 1 roomRates: - nights: 2 rate: 159.95 - nights: 3 rate: 125.38 specialCode: 1 notes: Transaction notes are added here purchaseCard: customerReference: D019D09309F2 destinationPostalCode: '94719' productDescriptors: - Hamburger - Fries - Soda - Cookie reportingData: customerInfo: - firstName: Jane lastName: Smith dateOfBirth: '12011983' gender: female baggage: checked seats: 1A boardingPriority: '1' - firstName: John lastName: Smith dateOfBirth: '01281980' gender: male baggage: carryon seats: 1B boardingPriority: '1' pspData: pspId: PSP Name XYZ pspMid: '123456' pspTid: '12345678' pspTxnTraceNo: '000013' pspTxnDate: '20210415' pspTxnTime: '182328' pspResponseCode: '05' pspResponseText: Payment Declined TransactionProcessorPaymentId: type: string maxLength: 32 example: XZZ5600f5a7b9659661PKK6LHZHRVDWB description: > A unique transaction identifier from the processor that accompanies all transactions related to the same purchase. TransactionProcessorResponseId: type: string maxLength: 32 example: XZZ5600f5a7b9659661LOMKCO64A5A7R description: | A unique processor response ID. RiskRulesGetStatusParameter: type: string example: emailAddress description: | Specifies the type of rule Value | Description -------------|------------ email | Email Address deviceId | Device ID Fingerprint RiskRulesValue: type: string example: johnsmith@xyz.com description: | Specifies the value of the rule parameter. RiskRulesGetStatusResult: type: string example: S readOnly: true description: > Specifies the result of the get request rule status Value | Description | Notes ------|----------------------------------------------------------|------- S | Get rule status request succeeded. | F | Get rule status request failed. | `riskRules.status` will not be returned. E | Error condition occurred during get rule status request. | `riskRules.status` will not be returned. N | Parameter not found. | `riskRules.status` will not be returned. RiskRulesGetStatusStatus: type: string example: D readOnly: true description: | Specifies the status of the rule Value | Description ------|------------ A | Approve R | Review D | Decline X | Delete RiskRulesGetStatus: type: object required: - parameter - value - result properties: parameter: $ref: '#/components/schemas/RiskRulesGetStatusParameter' value: $ref: '#/components/schemas/RiskRulesValue' result: $ref: '#/components/schemas/RiskRulesGetStatusResult' status: $ref: '#/components/schemas/RiskRulesGetStatusStatus' RiskRulesGetStatusArray: type: array items: $ref: '#/components/schemas/RiskRulesGetStatus' example: - parameter: email value: johnsmith@xyz.com - parameter: email value: joebob@abc.com - parameter: deviceId value: 5F67753832224611BF697A590316AA34 description: | Array of risk rules objects. RiskRulesUpdateParameter: type: string example: emailAddress description: | Specifies the type of rule Value | Description -------------|------------ email | Email Address card | Card Number token | Token deviceId | Device ID Fingerprint rfcb | Refund or Chargeback RiskRulesUpdateResult: type: string example: S readOnly: true description: > Specifies the result of the request rule action Value | Description | Notes ------|---------------------------|-------- S | Rule update succeeded. | F | Rule update failed. | Possible reasons: format error, invalid token, invalid status requested, etc. E | Error condition occurred. | Possible reasons: unable to reach processor, processor returned unknown error, etc. RiskRulesUpdateStatus: type: string example: D description: > Specifies the status of the rule Value | Description | Notes ------|-------------|------- A | Approve | This value cannot be used if `riskRules.parameter` is 'card' or 'token' R | Review | D | Decline | X | Delete | RiskRulesCBCode: type: integer example: 1 description: | Chargeback code RiskRulesUpdate: type: object required: - parameter - value - result - status properties: parameter: $ref: '#/components/schemas/RiskRulesUpdateParameter' value: $ref: '#/components/schemas/RiskRulesValue' result: $ref: '#/components/schemas/RiskRulesUpdateResult' status: $ref: '#/components/schemas/RiskRulesUpdateStatus' cbCode: $ref: '#/components/schemas/RiskRulesCBCode' RiskRulesUpdateArray: type: array items: $ref: '#/components/schemas/RiskRulesUpdate' example: - parameter: email value: johnsmith@xyz.com status: D - parameter: email value: joebob@abc.com status: A - parameter: token value: '8048471746471119' status: R - parameter: card value: '4321000000001119' status: X - parameter: deviceId value: 5F67753832224611BF697A590316AA34 status: D description: | Array of risk rules objects. RiskRulesUpdateStatusResponse: type: string example: D description: | Specifies the status of the rule Value | Description ------|------------- A | Approve R | Review D | Decline X | Delete RiskRulesUpdateResponse: type: object required: - parameter - value - result - status properties: parameter: $ref: '#/components/schemas/RiskRulesUpdateParameter' value: $ref: '#/components/schemas/RiskRulesValue' result: $ref: '#/components/schemas/RiskRulesUpdateResult' status: $ref: '#/components/schemas/RiskRulesUpdateStatusResponse' RiskRulesUpdateArrayResponse: type: array items: $ref: '#/components/schemas/RiskRulesUpdateResponse' example: - parameter: email value: johnsmith@xyz.com status: D - parameter: email value: joebob@abc.com status: A - parameter: token value: '8048471746471119' status: R - parameter: card value: '4321000000001119' status: X - parameter: deviceId value: 5F67753832224611BF697A590316AA34 status: D description: | Array of risk rules objects. RiskListID: type: number example: '306' description: | Risk List ID RiskListRecCreateDateTime: type: string format: ISO 8601 example: '2023-06-10T06:34:25.049205-07:00' description: > The record creation date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). RiskListCategory: type: string enum: - sourceIp - emailAddress - emailDomain - fullName - token example: emailAddress description: > The risk category. If there is already an active record for the risk category and value specified the previous record will become inactive. Value | Description -------------|------------ sourceIp | extract from sourceIp emailAddress | extract from customer.emailAddress emailDomain | extract from customer.emailAddress fullName | extract from customer.fullName token | extract from card.token.value RiskListUser: type: string example: John Smith description: | User requesting the change. RiskListValue: type: string example: janedoe@email.com description: | Risk List value based on the risk category being supplied RiskListAction: type: string enum: - A - D - 'N' example: A description: | Risk List Action Value | Description ------|------------ A | Approve D | Decline N | Nothing RiskListActive: type: string enum: - 'Y' - 'N' example: 'Y' description: | Risk List Active Value | Description ------|------------ Y | Yes N | No RiskListStatus: type: string example: S readOnly: true description: | Specifies the result of the rule status Value | Description | ------|-------------| S | Success | F | Failure | E | Error | RiskListQueryObject: type: object properties: id: $ref: '#/components/schemas/RiskListID' recCreateDateTime: $ref: '#/components/schemas/RiskListRecCreateDateTime' category: $ref: '#/components/schemas/RiskListCategory' user: $ref: '#/components/schemas/RiskListUser' value: $ref: '#/components/schemas/RiskListValue' action: $ref: '#/components/schemas/RiskListAction' active: $ref: '#/components/schemas/RiskListActive' mid: $ref: '#/components/schemas/S4Mid' status: $ref: '#/components/schemas/RiskListStatus' RiskListQuery: type: array items: $ref: '#/components/schemas/RiskListQueryObject' RiskListObject: type: object required: - category - user - value - action - active - mid properties: category: $ref: '#/components/schemas/RiskListCategory' user: $ref: '#/components/schemas/RiskListUser' value: $ref: '#/components/schemas/RiskListValue' action: $ref: '#/components/schemas/RiskListAction' active: $ref: '#/components/schemas/RiskListActive' mid: $ref: '#/components/schemas/S4Mid' status: $ref: '#/components/schemas/RiskListStatus' RiskList: type: array items: $ref: '#/components/schemas/RiskListObject' ApiOptionsFromTMRequired: type: array items: type: string example: - FROMTM writeOnly: true description: > API Options modify the request being made. See the [API Options](/guides/appendices/api-options.md) section for more information. Must include `FROMTM` in the request. CardNumberUnmaskedResponse: type: string maxLength: 32 example: '4321000000001119' description: | The unmasked and unencrypted payment card number. CardExpirationDateString: type: string minLength: 4 maxLength: 4 format: MMYY example: 1230 description: | Card expiration date in MMYY format. Invoices: type: array items: type: string maxItems: 100 example: - '0510093358' - '0510093119' - '0510093360' - '0510093361' writeOnly: true description: | Array of invoices TransactionSafStatus: type: string readOnly: true enum: - PENDING - SENT_ONLINE - NOT_FOUND example: SENT_ONLINE description: | The transaction SAF status. CardNumberLast4: type: string maxLength: 4 example: '1119' description: | The last 4 digits of the card number ACHVerificationTypeVerifyWebhook: type: string example: P enum: - P - M description: | The type of verification used to validate the account. Value | Description ------|--------------- P | Prenotification M | Microdeposit HostResponseReasonCodeACH: type: string maxLength: 3 example: R01 description: > Returns a response code from the host. Value | Description ------|----------- C01 | Incorrect DFI Account Number C02 | Incorrect Routing Number C03 | Incorrect Routing Number and Incorrect DFI Account Number C05 | Incorrect Transaction Code C06 | Incorrect DFI Account Number and Incorrect Transaction Code C07 | Incorrect Routing Number, Incorrect DFI Account Number, and Incorrect Transaction Code | R01 | Insufficient Funds R02 | Account Closed R03 | No Account/ Unable to Locate Account R04 | Invalid Account Number Structure R05 | Unauthorized Debit to Consumer Account Using Corporate SEC Code R06 | Returned per ODFI’s Request R07 | Authorization Revoked by Customer R08 | Payment Stopped R09 | Uncollected Funds R10 | Customer Advises Originator is Not Known to Receiver and/or Originator is Not Authorized by Receiver to Debit Receiver’s Account R11 | Customer Advises Entry Not in Accordance with the Terms of the Authorization R12 | Account Sold to Another DFI R13 | Invalid ACH Routing Number R14 | Representative Payee Deceased or Unable to Continue in That Capacity R15 | Beneficiary or Account Holder (Other Than a Representative Payee) Deceased R16 | Account Frozen/Entry Returned Per OFAC Instruction R17 | File Record Edit Criteria/Entry with Invalid Account Number Initiated Under Questionable Circumstances/Return of Improperly-Intiated Reversal R18 | Improper Effective Entry Date R19 | Amount Field Error R20 | Non-Transaction Account R21 | Invalid Company Identification R22 | Invalid Individual ID Number R23 | Credit Entry Refused by Receiver R24 | Duplicate Entry R25 | Addenda Error R26 | Mandatory Field Error R27 | Trace Number Error R28 | Routing Number Check Digit Error R29 | Corporate Customer Advises Not Authorized R30 | RDFI Not Participant in Check Truncation Program R31 | Permissible Return Entry (CCD and CTX only) R32 | RDFI Non-Settlement R33 | Return of XCK Entry R34 | Limited Participation DFI R35 | Return of Improper Debit Entry R36 | Return of Improper Credit Entry R37 | Source Document Presented for Payment R38 | Stop Payment on Source Document R39 | Improper Source Document/Source Document Presented for Payment HostResponseReasonDescriptionACH: type: string maxLength: 130 example: Insufficient Funds description: | Returns a description from the host. HostResponseACH: type: object description: | Returns the response code detailing why the transaction was declined. properties: reasonCode: $ref: '#/components/schemas/HostResponseReasonCodeACH' reasonDescription: $ref: '#/components/schemas/HostResponseReasonDescriptionACH' webhook_ach_verification_status_update: title: ACH Verification Status Update type: object properties: event: type: object properties: type: type: string description: > `ach.verify.verification_status_update` Occurs when the status of the ACH verification request is updated. ach: type: object properties: verificationType: $ref: '#/components/schemas/ACHVerificationTypeVerifyWebhook' token: $ref: '#/components/schemas/TokenACH' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A - D description: | Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- A | Approved | The ACH request is approved. D | Declined | The ACH request is declined. hostResponse: $ref: '#/components/schemas/HostResponseACH' notificationId: $ref: '#/components/schemas/NotificationId' server: type: object properties: name: $ref: '#/components/schemas/ServerName' example: event: type: ach.verify.verification_status_update ach: verificationType: P token: value: '9829283019231234' type: ACH transaction: authSource: A responseCode: A notificationId: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d server: name: TM01CE webhook_ach_sale_status_update: title: ACH Sale Status Update type: object properties: event: type: object properties: type: type: string description: | `ach.sale.status_update` Occurs when the status of the ACH sale request is updated. token: $ref: '#/components/schemas/TokenACH' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A - D - F description: | Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- A | Approved | The ACH request is approved. D | Declined | The ACH request is declined. F | Funded | The ACH request is funded. invoice: $ref: '#/components/schemas/TransactionInvoice' hostResponse: $ref: '#/components/schemas/HostResponseACH' notificationId: $ref: '#/components/schemas/NotificationId' server: type: object properties: name: $ref: '#/components/schemas/ServerName' example: event: type: ach.sale.status_update token: value: '9829283019231234' type: ACH transaction: authSource: A responseCode: A invoice: '192029' notificationId: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d server: name: TM01CE webhook_ach_refund_status_update: title: ACH Refund Status Update type: object properties: event: type: object properties: type: type: string description: | `ach.refund.status_update` Occurs when the status of the ACH refund request is updated. token: $ref: '#/components/schemas/TokenACH' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A - D - F description: | Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- A | Approved | The ACH request is approved. D | Declined | The ACH request is declined. F | Funded | The ACH request is refunded. invoice: $ref: '#/components/schemas/TransactionInvoice' hostResponse: $ref: '#/components/schemas/HostResponseACH' notificationId: $ref: '#/components/schemas/NotificationId' server: type: object properties: name: $ref: '#/components/schemas/ServerName' example: event: type: ach.refund.status_update token: value: '9829283019231234' type: ACH transaction: authSource: A responseCode: A invoice: '192029' notificationId: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d server: name: TM01CE webhook_ach_dispute_initiated: title: ACH Dispute Initiated type: object properties: event: type: object properties: type: type: string description: | `ach.dispute.initiated` Occurs when ACH dispute is created. token: $ref: '#/components/schemas/TokenACH' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: $ref: '#/components/schemas/TransactionResponseCodeACHPending' invoice: $ref: '#/components/schemas/TransactionInvoice' hostResponse: $ref: '#/components/schemas/HostResponseACH' notificationId: $ref: '#/components/schemas/NotificationId' server: type: object properties: name: $ref: '#/components/schemas/ServerName' example: event: type: ach.dispute.initiated token: value: '9829283019231234' type: ACH transaction: authSource: A invoice: '192029' notificationId: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d server: name: TM01CE TransactionResponseCodeACHDispute: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - D description: | Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- D | Declined | The ACH request is declined. webhook_ach_dispute_status_update: title: ACH Dispute Status Update type: object properties: event: type: object properties: type: type: string description: | `ach.dispute.status_update` Occurs when the status of the ACH dispute is updated. token: $ref: '#/components/schemas/TokenACH' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: $ref: '#/components/schemas/TransactionResponseCodeACHDispute' invoice: $ref: '#/components/schemas/TransactionInvoice' hostResponse: $ref: '#/components/schemas/HostResponseACH' notificationId: $ref: '#/components/schemas/NotificationId' server: type: object properties: name: $ref: '#/components/schemas/ServerName' example: event: type: ach.dispute.status_update token: value: '9829283019231234' type: ACH transaction: authSource: A responseCode: A invoice: '192029' notificationId: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d server: name: TM01CE webhook_ach_distribute_status_update: title: ACH Distribute Status Update type: object properties: event: type: object properties: type: type: string description: | `ach.distribute.status_update` Occurs when the status of the ACH distribute request is updated. token: $ref: '#/components/schemas/TokenACH' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A - D - F description: | Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- D | Declined | The ACH request is declined. F | Funded | The ACH request is funded. invoice: $ref: '#/components/schemas/TransactionInvoice' hostResponse: $ref: '#/components/schemas/HostResponseACH' notificationId: $ref: '#/components/schemas/NotificationId' server: type: object properties: name: $ref: '#/components/schemas/ServerName' example: event: type: ach.distribute.status_update token: value: '9829283019231234' type: ACH transaction: authSource: A responseCode: A invoice: '192029' notificationId: 921e41d4-e920-4b24-8bbf-0787379ad4df server: name: TM01CE examples: AuthTokenNotValidError: summary: AuthToken Not Valid value: result: - error: primaryCode: 9862 secondaryCode: 0 shortText: AuthToken longText: AuthToken not valid ENGINE01CE server: name: U2API01CE transactionsauthorization_resp_p2peemv: summary: Using EMV with P2PE value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: E number: XXXXXXXXXXXX4111 present: 'Y' token: value: '8058471748284111' type: MC clerk: numericId: 1576 emv: tlvData: 910A0102030405060708090A merchant: mid: 15877 name: Merchant XYZ receipt: - key: AmountAuthorized printName: 9F02 printValue: '000000000444' - key: ApplicationIdentifier printName: AID printValue: A0000000041010 - key: ApplicationLabel printValue: MasterCard - key: CVMResults printName: 9F34 printValue: '1E0300' - key: CardEntryMode printName: ENTRY METHOD printValue: CHIP - key: CardholderVerificationMethod printName: CVM printValue: SIGN - key: MaskedPAN printValue: XXXXXXXXXXXX4111 - key: PANSequenceNumber printName: 5F34 printValue: '01' - key: SignatureRequired printValue: 'Y' - key: TerminalVerificationResults printName: TVR printValue: '0820000000' - key: TransactionResponse printName: Response printValue: APPROVED - key: TransactionStatusIndicator printName: TSI printValue: C800 - key: UnpredictableNumber printName: 9F37 printValue: C5BF918D server: name: U2API01CE transaction: authorizationCode: OK253W authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionsauthorization_resp_p2pe: summary: Using P2PE value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: '1' number: XXXXXXXXXXXX0009 present: 'Y' token: value: '8058471748050009' type: MC clerk: numericId: 1576 customer: firstName: MC2\/DUAL lastName: TRACK merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: SWIPED - key: MaskedPAN printValue: XXXXXXXXXXXX0009 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: UTGAPI02CE transaction: authorizationCode: OK183Z authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionsauthorization_resp_token: summary: Using token value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: '1' expirationDate: 1222 number: XXXXXXXXXXXX1119 present: 'N' token: value: 11191pn83hbkkety type: VS clerk: numericId: 1576 customer: firstName: John lastName: Smith merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: SWIPED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: UTGAPI01CE transaction: authorizationCode: OK126Z authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionsauthorization_resp_utgdevice: summary: Using UTG-controlled device value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: tax: 15 total: 140 card: entryMode: '1' number: XXXXXXXXXX4509 present: 'Y' token: value: '6011013928534509' type: NS clerk: numericId: 1576 customer: firstName: DC\/TRACK1 lastName: ONLY device: terminalId: '350' merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: SWIPED - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: LOCALUTG transaction: authorizationCode: OK892Z authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionsauthorization_resp_track: summary: Using track information value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: '2' number: XXXXXXXXXXXX1119 present: 'Y' token: value: 1119p4kgmkb39zx2 type: VS clerk: numericId: 1576 merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: SWIPED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: UTGAPI02CE transaction: authorizationCode: OK007Z authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionsauthorization_resp_raw: summary: Using unencrypted card number value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: M number: XXXXXXXXXXXX1119 present: 'N' securityCode: result: M valid: 'Y' token: value: '8048471746471119' type: VS clerk: numericId: 1576 customer: firstName: John lastName: Smith merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: KEYED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: UTGAPI01CE transaction: authorizationCode: OK408Z authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted avs: postalCodeVerified: 'N' result: A streetVerified: 'Y' valid: 'Y' invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionssale_resp_p2peemv: summary: Using EMV with P2PE value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: E number: XXXXXXXXXXXX4111 present: 'Y' token: value: '8058471748284111' type: MC clerk: numericId: 1576 emv: tlvData: 910A0102030405060708090A merchant: mid: 15877 name: Merchant XYZ receipt: - key: AmountAuthorized printName: 9F02 printValue: '000000000444' - key: ApplicationIdentifier printName: AID printValue: A0000000041010 - key: ApplicationLabel printValue: MasterCard - key: CVMResults printName: 9F34 printValue: '1E0300' - key: CardEntryMode printName: ENTRY METHOD printValue: CHIP - key: CardholderVerificationMethod printName: CVM printValue: SIGN - key: MaskedPAN printValue: XXXXXXXXXXXX4111 - key: PANSequenceNumber printName: 5F34 printValue: '01' - key: SignatureRequired printValue: 'Y' - key: TerminalVerificationResults printName: TVR printValue: '0820000000' - key: TransactionResponse printName: Response printValue: APPROVED - key: TransactionStatusIndicator printName: TSI printValue: C800 - key: UnpredictableNumber printName: 9F37 printValue: C5BF918D server: name: UTGAPI01CE transaction: authorizationCode: OK710W authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionssale_resp_p2pe: summary: Using P2PE value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: '1' number: XXXXXXXXXXXX1119 present: 'Y' token: value: '8048471746471119' type: VS clerk: numericId: 1576 customer: firstName: VS/DUAL lastName: TRACK merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: SWIPED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: UTGAPI01CE transaction: authorizationCode: OK850Z authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionssale_resp_token: summary: Using token value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: M number: XXXXXXXXXXXX1119 present: 'N' token: value: '8048471746471119' type: VS clerk: numericId: 1576 customer: firstName: John lastName: Smith merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: KEYED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: UTGAPI01CE transaction: authorizationCode: OK854Z authSource: E avs: postalCodeVerified: 'N' result: A streetVerified: 'Y' valid: 'Y' hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionssale_resp_utgdevice: summary: Using UTG-controlled device value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: '1' number: XXXXXXXXXX4509 present: 'Y' token: value: '6011013928534509' type: NS clerk: numericId: 1576 customer: firstName: John lastName: Smith device: terminalId: '1742' merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: SWIPED - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: LOCALUTG transaction: authorizationCode: OK978Z authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionssale_resp_track: summary: Using track information value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: '2' number: XXXXXXXXXXXX1119 present: 'Y' token: value: '8048471746471119' type: VS clerk: numericId: 1576 customer: firstName: John lastName: Smith merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: SWIPED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: UTGAPI02CE transaction: authorizationCode: OK862Z authSource: E hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S transactionssale_resp_raw: summary: Using unencrypted card number value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: M number: XXXXXXXXXXXX1119 present: 'N' securityCode: result: M valid: 'Y' token: value: '8048471746471119' type: VS clerk: numericId: 1576 customer: firstName: John lastName: Smith merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: KEYED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: UTGAPI01CE transaction: authorizationCode: OK868Z authSource: E avs: postalCodeVerified: 'N' result: A streetVerified: 'Y' valid: 'Y' hostResponse: reasonCode: '04' reasonDescription: PickUpCard_NoFraud reattemptPermission: Reattempt not permitted invoice: '192029' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S InvoiceError: summary: Invoice Not Found value: result: - error: primaryCode: 9815 secondaryCode: 0 shortText: NO INV longText: Invoice Not Found 192029 0000057984 ENGINE02CE lighthouse: data: >- eyJwYXltZW50SWQiOiI4NWM0MWNhNy01NzVjLTQzNGUtODIyZi0xYzZlOTE0ZDAzODYiLCJyZW1haW5pbmdBbW91bnQiOjB9 server: name: U2API01CE AccessTokenNotFoundError: summary: AccessToken Not Found value: result: - error: primaryCode: 9862 secondaryCode: 0 shortText: AccessToken longText: AccessToken not found ENGINE01CE server: name: U2API01CE GiftCardActivateError: summary: Gift Card Activate Failed value: result: - error: primaryCode: 9101 secondaryCode: 0 shortText: ACTIVATE FAILED longText: >- ACTIVATE FAILED iyc_activateCard: Invalid card or serial number 222 Mid(444444) Invoice(6200007001) ENGINE01CE server: name: U2API01CE BatchError: summary: Batch Error value: result: - error: primaryCode: 9300 secondaryCode: 2 shortText: BATCH FAILED longText: >- Received Net Amount 1124.49 doesn't match existing Net Amount 1356.27. Batch submission process failed. server: name: U2API02CE GetEMVCAPKDev: summary: Development Keys value: result: - capkVersion: 1 capks: - aid: A000000003 index: '92' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- 996AF56F569187D09293C14810450ED8EE3357397B18A2458EFAA92DA3B6DF6514EC060195318FD43BE9B8F0CC669E3F844057CBDDF8BDA191BB64473BC8DC9A730DB8F6B4EDE3924186FFD9B8C7735789C23A36BA0B8AF65372EB57EA5D89E7D14E9C7B6B557460F10885DA16AC923F15AF3758F0F03EBD3C5C2C949CBA306DB44E6A2C076C5F67E281D7EF56785DC4D75945E491F01918800A9E2DC66F60080566CE0DAF8D17EAD46AD8E30A247C9F exponent: '03' checksum: 429C954A3859CEF91295F663C963E582ED6EB253 - aid: A000000003 index: '94' expDate: '12312032' algorithm: '01' hashAlgorithm: '01' key: >- ACD2B12302EE644F3F835ABD1FC7A6F62CCE48FFEC622AA8EF062BEF6FB8BA8BC68BBF6AB5870EED579BC3973E121303D34841A796D6DCBC41DBF9E52C4609795C0CCF7EE86FA1D5CB041071ED2C51D2202F63F1156C58A92D38BC60BDF424E1776E2BC9648078A03B36FB554375FC53D57C73F5160EA59F3AFC5398EC7B67758D65C9BFF7828B6B82D4BE124A416AB7301914311EA462C19F771F31B3B57336000DFF732D3B83DE07052D730354D297BEC72871DCCF0E193F171ABA27EE464C6A97690943D59BDABB2A27EB71CEEBDAFA1176046478FD62FEC452D5CA393296530AA3F41927ADFE434A2DF2AE3054F8840657A26E0FC617 exponent: '03' checksum: C4A3C43CCF87327D136B804160E47D43B60E6E0F - aid: A000000003 index: '95' expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- BE9E1FA5E9A803852999C4AB432DB28600DCD9DAB76DFAAA47355A0FE37B1508AC6BF38860D3C6C2E5B12A3CAAF2A7005A7241EBAA7771112C74CF9A0634652FBCA0E5980C54A64761EA101A114E0F0B5572ADD57D010B7C9C887E104CA4EE1272DA66D997B9A90B5A6D624AB6C57E73C8F919000EB5F684898EF8C3DBEFB330C62660BED88EA78E909AFF05F6DA627B exponent: '03' checksum: EE1511CEC71020A9B90443B37B1D5F6E703030F6 - aid: A000000003 index: '99' expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- AB79FCC9520896967E776E64444E5DCDD6E13611874F3985722520425295EEA4BD0C2781DE7F31CD3D041F565F747306EED62954B17EDABA3A6C5B85A1DE1BEB9A34141AF38FCF8279C9DEA0D5A6710D08DB4124F041945587E20359BAB47B7575AD94262D4B25F264AF33DEDCF28E09615E937DE32EDC03C54445FE7E382777 exponent: '03' checksum: 4ABFFD6B1C51212D05552E431C5B17007D2F5E6D - aid: A000000004 index: '06' expDate: '12312029' algorithm: '01' hashAlgorithm: '01' key: >- CB26FC830B43785B2BCE37C81ED334622F9622F4C89AAE641046B2353433883F307FB7C974162DA72F7A4EC75D9D657336865B8D3023D3D645667625C9A07A6B7A137CF0C64198AE38FC238006FB2603F41F4F3BB9DA1347270F2F5D8C606E420958C5F7D50A71DE30142F70DE468889B5E3A08695B938A50FC980393A9CBCE44AD2D64F630BB33AD3F5F5FD495D31F37818C1D94071342E07F1BEC2194F6035BA5DED3936500EB82DFDA6E8AFB655B1EF3D0D7EBF86B66DD9F29F6B1D324FE8B26CE38AB2013DD13F611E7A594D675C4432350EA244CC34F3873CBA06592987A1D7E852ADC22EF5A2EE28132031E48F74037E3B34AB747F exponent: '03' checksum: F910A1504D5FFB793D94F3B500765E1ABCAD72D9 - aid: A000000004 index: EF expDate: '12312032' algorithm: '01' hashAlgorithm: '01' key: >- A191CB87473F29349B5D60A88B3EAEE0973AA6F1A082F358D849FDDFF9C091F899EDA9792CAF09EF28F5D22404B88A2293EEBBC1949C43BEA4D60CFD879A1539544E09E0F09F60F065B2BF2A13ECC705F3D468B9D33AE77AD9D3F19CA40F23DCF5EB7C04DC8F69EBA565B1EBCB4686CD274785530FF6F6E9EE43AA43FDB02CE00DAEC15C7B8FD6A9B394BABA419D3F6DC85E16569BE8E76989688EFEA2DF22FF7D35C043338DEAA982A02B866DE5328519EBBCD6F03CDD686673847F84DB651AB86C28CF1462562C577B853564A290C8556D818531268D25CC98A4CC6A0BDFFFDA2DCCA3A94C998559E307FDDF915006D9A987B07DDAEB3B exponent: '03' checksum: 21766EBB0EE122AFB65D7845B73DB46BAB65427A - aid: A000000004 index: F1 expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- A0DCF4BDE19C3546B4B6F0414D174DDE294AABBB828C5A834D73AAE27C99B0B053A90278007239B6459FF0BBCD7B4B9C6C50AC02CE91368DA1BD21AAEADBC65347337D89B68F5C99A09D05BE02DD1F8C5BA20E2F13FB2A27C41D3F85CAD5CF6668E75851EC66EDBF98851FD4E42C44C1D59F5984703B27D5B9F21B8FA0D93279FBBF69E090642909C9EA27F898959541AA6757F5F624104F6E1D3A9532F2A6E51515AEAD1B43B3D7835088A2FAFA7BE7 exponent: '03' checksum: D8E68DA167AB5A85D8C3D55ECB9B0517A1A5B4BB - aid: A000000004 index: F3 expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- 98F0C770F23864C2E766DF02D1E833DFF4FFE92D696E1642F0A88C5694C6479D16DB1537BFE29E4FDC6E6E8AFD1B0EB7EA0124723C333179BF19E93F10658B2F776E829E87DAEDA9C94A8B3382199A350C077977C97AFF08FD11310AC950A72C3CA5002EF513FCCC286E646E3C5387535D509514B3B326E1234F9CB48C36DDD44B416D23654034A66F403BA511C5EFA3 exponent: '03' checksum: A69AC7603DAF566E972DEDC2CB433E07E8B01A9A - aid: A000000004 index: F8 expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- A1F5E1C9BD8650BD43AB6EE56B891EF7459C0A24FA84F9127D1A6C79D4930F6DB1852E2510F18B61CD354DB83A356BD190B88AB8DF04284D02A4204A7B6CB7C5551977A9B36379CA3DE1A08E69F301C95CC1C20506959275F41723DD5D2925290579E5A95B0DF6323FC8E9273D6F849198C4996209166D9BFC973C361CC826E1 exponent: '03' checksum: F06ECC6D2AAEBF259B7E755A38D9A9B24E2FF3DD - aid: A000000004 index: FA expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- A90FCD55AA2D5D9963E35ED0F440177699832F49C6BAB15CDAE5794BE93F934D4462D5D12762E48C38BA83D8445DEAA74195A301A102B2F114EADA0D180EE5E7A5C73E0C4E11F67A43DDAB5D55683B1474CC0627F44B8D3088A492FFAADAD4F42422D0E7013536C3C49AD3D0FAE96459B0F6B1B6056538A3D6D44640F94467B108867DEC40FAAECD740C00E2B7A8852D exponent: '03' checksum: 5BED4068D96EA16D2D77E03D6036FC7A160EA99C - aid: A000000004 index: FE expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- A653EAC1C0F786C8724F737F172997D63D1C3251C44402049B865BAE877D0F398CBFBE8A6035E24AFA086BEFDE9351E54B95708EE672F0968BCD50DCE40F783322B2ABA04EF137EF18ABF03C7DBC5813AEAEF3AA7797BA15DF7D5BA1CBAF7FD520B5A482D8D3FEE105077871113E23A49AF3926554A70FE10ED728CF793B62A1 exponent: '03' checksum: 9A295B05FB390EF7923F57618A9FDA2941FC34E0 - aid: A000000025 index: C1 expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- E69E319C34D1B4FB43AED4BD8BBA6F7A8B763F2F6EE5DDF7C92579A984F89C4A9C15B27037764C58AC7E45EFBC34E138E56BA38F76E803129A8DDEB5E1CC8C6B30CF634A9C9C1224BF1F0A9A18D79ED41EBCF1BE78087AE8B7D2F896B1DE8B7E784161A138A0F2169AD33E146D1B16AB595F9D7D98BE671062D217F44EB68C68640C7D57465A063F6BAC776D3E2DAC61 exponent: '03' checksum: DC79D6B5FC879362299BC5A637DAD2E0D99656B8 - aid: A000000025 index: C2 expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- B875002F38BA26D61167C5D440367604AD38DF2E93D8EE8DA0E8D9C0CF4CC5788D11DEA689E5F41D23A3DA3E0B1FA5875AE25620F5A6BCCEE098C1B35C691889D7D0EF670EB8312E7123FCC5DC7D2F0719CC80E1A93017F944D097330EDF945762FEE62B7B0BA0348228DBF38D4216E5A67A7EF74F5D3111C44AA31320F623CB3C53E60966D6920067C9E082B746117E48E4F00E110950CA54DA3E38E5453BD5544E3A6760E3A6A42766AD2284E0C9AF exponent: '03' checksum: 8E748296359A7428F536ADDA8E2C037E2B697EF6 - aid: A000000025 index: C3 expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- B93182ABE343DFBF388C71C4D6747DCDEC60367FE63CFAA942D7D323E688D0832836548BF0EDFF1EDEEB882C75099FF81A93FA525C32425B36023EA02A8899B9BF7D7934E86F997891823006CEAA93091A73C1FDE18ABD4F87A22308640C064C8C027685F1B2DB7B741B67AB0DE05E870481C5F972508C17F57E4F833D63220F6EA2CFBB878728AA5887DE407D10C6B8F58D46779ECEC1E2155487D52C78A5C03897F2BB580E0A2BBDE8EA2E1C18F6AAF3EB3D04C3477DEAB88F150C8810FD1EF8EB0596866336FE2C1FBC6BEC22B4FE5D885647726DB59709A505F75C49E0D8D71BF51E4181212BE2142AB2A1E8C0D3B7136CD7B7708E4D exponent: '03' checksum: 12F1790CB0273DC73C6E70784BC24C12E8DB71F6 - aid: A000000025 index: C8 expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- BF0CFCED708FB6B048E3014336EA24AA007D7967B8AA4E613D26D015C4FE7805D9DB131CED0D2A8ED504C3B5CCD48C33199E5A5BF644DA043B54DBF60276F05B1750FAB39098C7511D04BABC649482DDCF7CC42C8C435BAB8DD0EB1A620C31111D1AAAF9AF6571EEBD4CF5A08496D57E7ABDBB5180E0A42DA869AB95FB620EFF2641C3702AF3BE0B0C138EAEF202E21D exponent: '03' checksum: 33BD7A059FAB094939B90A8F35845C9DC779BD50 - aid: A000000025 index: C9 expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- B362DB5733C15B8797B8ECEE55CB1A371F760E0BEDD3715BB270424FD4EA26062C38C3F4AAA3732A83D36EA8E9602F6683EECC6BAFF63DD2D49014BDE4D6D603CD744206B05B4BAD0C64C63AB3976B5C8CAAF8539549F5921C0B700D5B0F83C4E7E946068BAAAB5463544DB18C63801118F2182EFCC8A1E85E53C2A7AE839A5C6A3CABE73762B70D170AB64AFC6CA482944902611FB0061E09A67ACB77E493D998A0CCF93D81A4F6C0DC6B7DF22E62DB exponent: '03' checksum: 8E8DFF443D78CD91DE88821D70C98F0638E51E49 - aid: A000000025 index: CA expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- C23ECBD7119F479C2EE546C123A585D697A7D10B55C2D28BEF0D299C01DC65420A03FE5227ECDECB8025FBC86EEBC1935298C1753AB849936749719591758C315FA150400789BB14FADD6EAE2AD617DA38163199D1BAD5D3F8F6A7A20AEF420ADFE2404D30B219359C6A4952565CCCA6F11EC5BE564B49B0EA5BF5B3DC8C5C6401208D0029C3957A8C5922CBDE39D3A564C6DEBB6BD2AEF91FC27BB3D3892BEB9646DCE2E1EF8581EFFA712158AAEC541C0BBB4B3E279D7DA54E45A0ACC3570E712C9F7CDF985CFAFD382AE13A3B214A9E8E1E71AB1EA707895112ABC3A97D0FCB0AE2EE5C85492B6CFD54885CDD6337E895CC70FB3255E3 exponent: '03' checksum: 6BDA32B1AA171444C7E8F88075A74FBFE845765F - aid: A000000065 index: '11' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- A2583AA40746E3A63C22478F576D1EFC5FB046135A6FC739E82B55035F71B09BEB566EDB9968DD649B94B6DEDC033899884E908C27BE1CD291E5436F762553297763DAA3B890D778C0F01E3344CECDFB3BA70D7E055B8C760D0179A403D6B55F2B3B083912B183ADB7927441BED3395A199EEFE0DEBD1F5FC3264033DA856F4A8B93916885BD42F9C1F456AAB8CFA83AC574833EB5E87BB9D4C006A4B5346BD9E17E139AB6552D9C58BC041195336485 exponent: '03' checksum: D9FD62C9DD4E6DE7741E9A17FB1FF2C5DB948BCB - aid: A000000065 index: '13' expDate: '12312025' algorithm: '01' hashAlgorithm: '01' key: >- A3270868367E6E29349FC2743EE545AC53BD3029782488997650108524FD051E3B6EACA6A9A6C1441D28889A5F46413C8F62F3645AAEB30A1521EEF41FD4F3445BFA1AB29F9AC1A74D9A16B93293296CB09162B149BAC22F88AD8F322D684D6B49A12413FC1B6AC70EDEDB18EC1585519A89B50B3D03E14063C2CA58B7C2BA7FB22799A33BCDE6AFCBEB4A7D64911D08D18C47F9BD14A9FAD8805A15DE5A38945A97919B7AB88EFA11A88C0CD92C6EE7DC352AB0746ABF13585913C8A4E04464B77909C6BD94341A8976C4769EA6C0D30A60F4EE8FA19E767B170DF4FA80312DBA61DB645D5D1560873E2674E1F620083F30180BD96CA589 exponent: '03' checksum: 54CFAE617150DFA09D3F901C9123524523EBEDF3 - aid: A000000065 index: 0F expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- 9EFBADDE4071D4EF98C969EB32AF854864602E515D6501FDE576B310964A4F7C2CE842ABEFAFC5DC9E26A619BCF2614FE07375B9249BEFA09CFEE70232E75FFD647571280C76FFCA87511AD255B98A6B577591AF01D003BD6BF7E1FCE4DFD20D0D0297ED5ECA25DE261F37EFE9E175FB5F12D2503D8CFB060A63138511FE0E125CF3A643AFD7D66DCF9682BD246DDEA1 exponent: '03' checksum: 2A1B82DE00F5F0C401760ADF528228D3EDE0F403 - aid: A000000152 index: 5A expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- EDD8252468A705614B4D07DE3211B30031AEDB6D33A4315F2CFF7C97DB918993C2DC02E79E2FF8A2683D5BBD0F614BC9AB360A448283EF8B9CF6731D71D6BE939B7C5D0B0452D660CF24C21C47CAC8E26948C8EED8E3D00C016828D642816E658DC2CFC61E7E7D7740633BEFE34107C1FB55DEA7FAAEA2B25E85BED948893D07 exponent: '03' checksum: CC9585E8E637191C10FCECB32B5AE1B9D410B52D - aid: A000000152 index: 5B expDate: '12312050' algorithm: '01' hashAlgorithm: '01' key: >- D3F45D065D4D900F68B2129AFA38F549AB9AE4619E5545814E468F382049A0B9776620DA60D62537F0705A2C926DBEAD4CA7CB43F0F0DD809584E9F7EFBDA3778747BC9E25C5606526FAB5E491646D4DD28278691C25956C8FED5E452F2442E25EDC6B0C1AA4B2E9EC4AD9B25A1B836295B823EDDC5EB6E1E0A3F41B28DB8C3B7E3E9B5979CD7E079EF024095A1D19DD exponent: '03' checksum: 4DC5C6CAB6AE96974D9DC8B2435E21F526BC7A60 - aid: A000000152 index: 5C expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- 833F275FCF5CA4CB6F1BF880E54DCFEB721A316692CAFEB28B698CAECAFA2B2D2AD8517B1EFB59DDEFC39F9C3B33DDEE40E7A63C03E90A4DD261BC0F28B42EA6E7A1F307178E2D63FA1649155C3A5F926B4C7D7C258BCA98EF90C7F4117C205E8E32C45D10E3D494059D2F2933891B979CE4A831B301B0550CDAE9B67064B31D8B481B85A5B046BE8FFA7BDB58DC0D7032525297F26FF619AF7F15BCEC0C92BCDCBC4FB207D115AA65CD04C1CF982191 exponent: '03' checksum: 60154098CBBA350F5F486CA31083D1FC474E31F8 - aid: A000000152 index: 5D expDate: '12312025' algorithm: '01' hashAlgorithm: '01' key: >- AD938EA9888E5155F8CD272749172B3A8C504C17460EFA0BED7CBC5FD32C4A80FD810312281B5A35562800CDC325358A9639C501A537B7AE43DF263E6D232B811ACDB6DDE979D55D6C911173483993A423A0A5B1E1A70237885A241B8EEBB5571E2D32B41F9CC5514DF83F0D69270E109AF1422F985A52CCE04F3DF269B795155A68AD2D6B660DDCD759F0A5DA7B64104D22C2771ECE7A5FFD40C774E441379D1132FAF04CDF55B9504C6DCE9F61776D81C7C45F19B9EFB3749AC7D486A5AD2E781FA9D082FB2677665B99FA5F1553135A1FD2A2A9FBF625CA84A7D736521431178F13100A2516F9A43CE095B032B886C7A6AB126E203BE7 exponent: '03' checksum: B51EC5F7DE9BB6D8BCE8FB5F69BA57A04221F39B - aid: A000000277 index: '02' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- E0FFBEE77CEE02ADEE8B4B004D26FB46FAF3CE033E3B874D73D099A966A0657497CEE214E95DF2BF5C9D359A3B10C05CFC9929BEF3070036FD19AE661B173E486CBC9B04E4B2E2D0D8209CAF5C200929FA252A21BD69A9A47488844A1DE5BF8729CE5E5E92117047BDDE9FBE72397FD9FC3BE459D8ED06FD6CADF0AFF39C93CC07B312EE2ACB3D4A15E919F57481CFEF exponent: '010001' checksum: BAF3652A9F5D0FF45EECECA55B4597B1F53BE283 - aid: A000000277 index: '03' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- E51505CCECDD0799BAFE097200DF40FFC2154836B8D67F1E99D4D415F73C04A9FAD73825D32AE5BA77FCD02597393CE4D8104B6010D5A8F28F2B47BB8298DAFD63C9C0BEF62AF937265614E31AE2AB45B60B968DB9DEE55602C169F6C16D4579BAA24765560300A3056F894BA8FFA566D9CCD79453D804B97DA14F21F9C3528ED8B8A368A9FACF05C46C13A9BA020618425EF1ACF6CB4DD5DCD050273502114B59EE90EBD833F70C2F324741E79A19A1 exponent: '010001' checksum: 0FB60A1BCA38095F3CC578D2DEC95F779840A343 - aid: A000000277 index: '07' expDate: '12312032' algorithm: '01' hashAlgorithm: '01' key: >- B2CE89726B6B2D1690A0F8CA75CD0B6B1ACDFBE66D53BA00C500BE612FB421423684FF1868554A7722258012E588ED1CD206C67BB2F7598F3CE67F23A888B8ED7421C49A2EBA224DFBD866F62E59338E9F626D0DFD4C9ACC626E42EC0375EE424C93E5DB5773FC98E4AC9FCDEBD0521B15295C797DCABB4679C055AC374A81B245ABF1092A3D46E1CCE10A84F9FC2FC6ED91025121589C9AA68B56B7FBF0D86B4C8E3C9C08406DBB4609BBFC5308F325A8273CB6D36F3E0AF772507BF8A2A9F5A749B5AF98CCEAB2826C2D9C2AB9103B1BAB0DE92099C8072477EC564062AC38184C60DAD298EF352D92DFA041DDE3DB260CE5302B47A7E9 exponent: '010001' checksum: 44F2C13373A5068B63C9334E914DDE6AB70CE0F1 - aid: A000000277 index: '40' expDate: '12312025' algorithm: '01' hashAlgorithm: '01' key: >- F802C308544873AD2225A81943732A4B7CFFA4E3157D17CD5A7723F858F0B11E636D2930FA933778F27C7C49127E0CCA317021CFE8E0F773785EB3FF07587E98CE8ED4FE9E1CA1859F41A9CF2572D8A093C5465F5A29612A45B1700F4DA13814C3D4DF075EAADE8DB4BE4D7B3AE0256F7A0C12E34BD416CAC4F9250C38B7E13B exponent: '010001' checksum: 2015497BE4B86F104BBF337691825EED64E101CA - aid: A000000277 index: '41' expDate: '20241231' algorithm: '01' hashAlgorithm: '01' key: >- ADC39532AB26462DC02B25CB92748AAC679F07CF7AFD8F9B83C4B94D8C06A1F0D841F35A5F598DD3915FDA8929B8BF2BE0CD03CDC625BFA0FED60D6B8A6778B138C30D4ACA134F337E90F82E4D2FF6180ACA6664F562DF2A11120D10957DF4B2E75607FC960176CBBE6AE3E3F6D5556E47A5EABC850388175609C9AC7AFF6AF12A522EE1EAD1D94EC964E325C97CAC84A1D508769F65FEE99F25196403C98E721116B8084379277AB4D9A2F867B8FCBB280447646915702F20C8ABEE1A29A358D25CFF7EEA66813CB10996BC33E18FC15190CC3B1CDF14934652BA5C8C2E201988E098402556B3ED068862925B90BE2FD61E337FC5BAF7A9 exponent: '010001' checksum: FD47C4AAB01B9B89314539BB32E0A29770A04387' - aid: A000000277 index: '42' expDate: '20241231' algorithm: '01' hashAlgorithm: '01' key: >- 99E0195F9B477160EE90F5FE9773D68DD684C7192528DB67DF0D93B0FDD60B1A9F999A726B7BD97586354575A787363290E7AB423E3D52D037BE38057BA5A9292A5652677E3F754BD642A1702E97279E67AA3411413A7AAB452DF6A1246CA9EF297CBD3BDC1B0A2CA863A48CF87E62400E7AAD29A4880E799187F50861C6C6E976142AD3F456DAEFCB3041557787B4981414D915AFF3EA8CAB738533BBACCA12F75BF107C10F6A029417A051BE0A3285 exponent: '010001' checksum: 64876E40CD5DDE35CF107E8314C67BDE640A6BEE' - aid: A000000333 index: '08' expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- B61645EDFD5498FB246444037A0FA18C0F101EBD8EFA54573CE6E6A7FBF63ED21D66340852B0211CF5EEF6A1CD989F66AF21A8EB19DBD8DBC3706D135363A0D683D046304F5A836BC1BC632821AFE7A2F75DA3C50AC74C545A754562204137169663CFCC0B06E67E2109EBA41BC67FF20CC8AC80D7B6EE1A95465B3B2657533EA56D92D539E5064360EA4850FED2D1BF exponent: '03' checksum: EE23B616C95C02652AD18860E48787C079E8E85A - aid: A000000333 index: '09' expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- EB374DFC5A96B71D2863875EDA2EAFB96B1B439D3ECE0B1826A2672EEEFA7990286776F8BD989A15141A75C384DFC14FEF9243AAB32707659BE9E4797A247C2F0B6D99372F384AF62FE23BC54BCDC57A9ACD1D5585C303F201EF4E8B806AFB809DB1A3DB1CD112AC884F164A67B99C7D6E5A8A6DF1D3CAE6D7ED3D5BE725B2DE4ADE23FA679BF4EB15A93D8A6E29C7FFA1A70DE2E54F593D908A3BF9EBBD760BBFDC8DB8B54497E6C5BE0E4A4DAC29E5 exponent: '03' checksum: A075306EAB0045BAF72CDD33B3B678779DE1F527 - aid: A000000333 index: 0A expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- B2AB1B6E9AC55A75ADFD5BBC34490E53C4C3381F34E60E7FAC21CC2B26DD34462B64A6FAE2495ED1DD383B8138BEA100FF9B7A111817E7B9869A9742B19E5C9DAC56F8B8827F11B05A08ECCF9E8D5E85B0F7CFA644EFF3E9B796688F38E006DEB21E101C01028903A06023AC5AAB8635F8E307A53AC742BDCE6A283F585F48EF exponent: '03' checksum: C88BE6B2417C4F941C9371EA35A377158767E4E3 - aid: A000000333 index: 0B expDate: '12312031' algorithm: '01' hashAlgorithm: '01' key: >- CF9FDF46B356378E9AF311B0F981B21A1F22F250FB11F55C958709E3C7241918293483289EAE688A094C02C344E2999F315A72841F489E24B1BA0056CFAB3B479D0E826452375DCDBB67E97EC2AA66F4601D774FEAEF775ACCC621BFEB65FB0053FC5F392AA5E1D4C41A4DE9FFDFDF1327C4BB874F1F63A599EE3902FE95E729FD78D4234DC7E6CF1ABABAA3F6DB29B7F05D1D901D2E76A606A8CBFFFFECBD918FA2D278BDB43B0434F5D45134BE1C2781D157D501FF43E5F1C470967CD57CE53B64D82974C8275937C5D8502A1252A8A5D6088A259B694F98648D9AF2CB0EFD9D943C69F896D49FA39702162ACB5AF29B90BADE005BC157 exponent: '03' checksum: BD331F9996A490B33C13441066A09AD3FEB5F66C - aid: A000000768 index: E1 expDate: '12312027' algorithm: '01' hashAlgorithm: '01' key: >- AD767119B139295B9EF760B9A94811580E933A03E76C0A7022F1021278EB6FBBEF36599D5A95C2CB603364E1DA12DF88B76D19F225F14D2A689C580DC2B54457C8BEA50086A4BE897D3353AA003CAFAB5AE3993BE6D379D488689028EC852DFED90EA6FDD73ACF6583934E64601A0EE45AF652B52CC58A9EFFA5D846DD79EFC9A8638275EC264B3C40AA3C8F3DDF1F9D378598362DF48417BF039A04D70B4FFA14A2F6218299428C625EF949F08740ED36FE9265BB8E2CA94604EFC0AEB654F9FC455F22B1EC46871E46638CE190D3691313E41C7F9C8AD4AE3D1B574D4336AD6A2BA551F2DB3A8D44F375CB67D94AFBDFD34DEA92066149 exponent: '03' checksum: AE03037B9B042B0F9690500DEE287CD706FF73C8 - aid: A000000768 index: EE expDate: '12312027' algorithm: '01' hashAlgorithm: '01' key: >- A8D150CEE34B16D294B46B99BD6B3284303BD1FFD316C210E876666AD991DFE68DC1BD0835A5E03F753DB0DCE112A928C0C604F5DF256E265E05B59B4DAA15E74B0E5E27E56F8D97C1233D416162DDEC7EFE731D30BBA16683557E4D8FA15269F51D40468D1B2C31CCD314804FC97341F68A1BB78F4985B99F0901557B52196950CF6A12D6FD4356002197B17A8035606DAAC2BFCDB3CD86B9FCDBC64908BFB039C268772D73E44C3867AFC002C12CB5 exponent: '03' checksum: 6DFE06AB7FAD2D98EA18B7849D11DF704D08EFAE - aid: A000000780 index: A4 expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- D22EF8F41F0685E371B53625692A7EB13B3E9462DD985E044A5915108D2DFCC0A4171C0C0DE4E6D9BD525CAC461A169DAC5101B975D105DEA2AA34B80D9131F47A278DA609B32B1379F98FB960328DE1E27E1EDAFD2DC8A3643AFEB605582C5F953E0DE029643DE058DA6813137EB9450C5C1AD36823BF4C548A5599F6C025274081F6BBF916D79CC00AB77C3AD8E35282FFC9A24CF5F31B0E5585618A75929FBAD4416EC853A76380C84DB3B208389EC2675C9CDEA4AC106EE6AEB242761EEFED6D744E3439588EB17B2CDD956658F59FBB2186B23B396B48E84A7702B91238059FB314CAFCF59B3F09787CCA396ABA35A144C0435DC99D exponent: '03' checksum: 8438208C174CC1C3FB7793585BF1DE288349B31C server: name: TM01CE GetEMVCAPKProd: summary: Production Keys value: result: - capkVersion: 1 capks: - aid: A000000003 index: '08' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- D9FD6ED75D51D0E30664BD157023EAA1FFA871E4DA65672B863D255E81E137A51DE4F72BCC9E44ACE12127F87E263D3AF9DD9CF35CA4A7B01E907000BA85D24954C2FCA3074825DDD4C0C8F186CB020F683E02F2DEAD3969133F06F7845166ACEB57CA0FC2603445469811D293BFEFBAFAB57631B3DD91E796BF850A25012F1AE38F05AA5C4D6D03B1DC2E568612785938BBC9B3CD3A910C1DA55A5A9218ACE0F7A21287752682F15832A678D6E1ED0B exponent: '03' checksum: 20D213126955DE205ADC2FD2822BD22DE21CF9A8 - aid: A000000003 index: '09' expDate: '12312027' algorithm: '01' hashAlgorithm: '01' key: >- 9D912248DE0A4E39C1A7DDE3F6D2588992C1A4095AFBD1824D1BA74847F2BC4926D2EFD904B4B54954CD189A54C5D1179654F8F9B0D2AB5F0357EB642FEDA95D3912C6576945FAB897E7062CAA44A4AA06B8FE6E3DBA18AF6AE3738E30429EE9BE03427C9D64F695FA8CAB4BFE376853EA34AD1D76BFCAD15908C077FFE6DC5521ECEF5D278A96E26F57359FFAEDA19434B937F1AD999DC5C41EB11935B44C18100E857F431A4A5A6BB65114F174C2D7B59FDF237D6BB1DD0916E644D709DED56481477C75D95CDD68254615F7740EC07F330AC5D67BCD75BF23D28A140826C026DBDE971A37CD3EF9B8DF644AC385010501EFC6509D7A41 exponent: '03' checksum: 1FF80A40173F52D7D27E0F26A146A1C8CCB29046 - aid: A000000004 index: '05' expDate: '12312024' algorithm: '01' key: >- B8048ABC30C90D976336543E3FD7091C8FE4800DF820ED55E7E94813ED00555B573FECA3D84AF6131A651D66CFF4284FB13B635EDD0EE40176D8BF04B7FD1C7BACF9AC7327DFAA8AA72D10DB3B8E70B2DDD811CB4196525EA386ACC33C0D9D4575916469C4E4F53E8E1C912CC618CB22DDE7C3568E90022E6BBA770202E4522A2DD623D180E215BD1D1507FE3DC90CA310D27B3EFCCD8F83DE3052CAD1E48938C68D095AAC91B5F37E28BB49EC7ED597 hashAlgorithm: '01' exponent: '03' checksum: EBFA0D5D06D8CE702DA3EAE890701D45E274C845 - aid: A000000004 index: '06' expDate: '12312029' algorithm: '01' hashAlgorithm: '01' key: >- CB26FC830B43785B2BCE37C81ED334622F9622F4C89AAE641046B2353433883F307FB7C974162DA72F7A4EC75D9D657336865B8D3023D3D645667625C9A07A6B7A137CF0C64198AE38FC238006FB2603F41F4F3BB9DA1347270F2F5D8C606E420958C5F7D50A71DE30142F70DE468889B5E3A08695B938A50FC980393A9CBCE44AD2D64F630BB33AD3F5F5FD495D31F37818C1D94071342E07F1BEC2194F6035BA5DED3936500EB82DFDA6E8AFB655B1EF3D0D7EBF86B66DD9F29F6B1D324FE8B26CE38AB2013DD13F611E7A594D675C4432350EA244CC34F3873CBA06592987A1D7E852ADC22EF5A2EE28132031E48F74037E3B34AB747F exponent: '03' checksum: F910A1504D5FFB793D94F3B500765E1ABCAD72D9 - aid: A000000277 index: '06' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- DB43A71FF30392069A9600143DCB628A4DABDFE69E31CB6151D9A2EB18A53ABA1EF75518CD3EDA29B96D55B002870A649AAFC65CE472BD01352C2D2E77D4EE352B3A64BC2CC170E29D426D7B3317BD3C4FC32EA2151CA0F1071A2ACFECD70468D3EBC7A44440DD63EC9499F302348BB6235F964BF3CAA30B29939B9901C42B5540BF4F837DD898F5392076F9B95F0EBCB6846374FFE71895A422775D95CABA9C25510627D4F7B57A3DBD755608EDD843 exponent: '010001' checksum: D18AB9F1518FBC0F6EB0EEFB00C5D07CAE8A2197 - aid: A000000277 index: '08' expDate: '12312025' algorithm: '01' hashAlgorithm: '01' key: >- AB1B0667B2A68883477B2ED48F3068CB0F57ABBEC93E0AF40180BACD895120E36E2710784599CDE9035550D96BD6C5CEA55C4E8C88A5D0A81CE1309559BCE91930C7AA3E3D0A2D79A6036BE03C4000658A78ECA742034BE5FB0E08D530C7FF9458211E78E33E3803F8DFF24A4117EE0EDFE7A98CB3AE2ECCB2A3C3A75C32512EDD1183CF218BE1642FA78430A18A495E6FEFA7B98860C6FCEBFD27537D34F4E55B9CBDEB19DF029BDF00993E1A2E0B9E89E1B49777FCB7C1610CDA94A488C9177908B75C48DFE3F8BBD52886233B44B1A58373D5AFD0F309ABB939C39DF95D923F76B7300E83D182C2922EBB9FD018867A0E6D179EFF8C87 exponent: '010001' checksum: 46EAD2ED0B8645D4DCB2AE4B1D285A0632B452D4 - aid: A000000025 index: 0F expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- C8D5AC27A5E1FB89978C7C6479AF993AB3800EB243996FBB2AE26B67B23AC482C4B746005A51AFA7D2D83E894F591A2357B30F85B85627FF15DA12290F70F05766552BA11AD34B7109FA49DE29DCB0109670875A17EA95549E92347B948AA1F045756DE56B707E3863E59A6CBE99C1272EF65FB66CBB4CFF070F36029DD76218B21242645B51CA752AF37E70BE1A84FF31079DC0048E928883EC4FADD497A719385C2BBBEBC5A66AA5E5655D18034EC5 exponent: '03' checksum: A73472B3AB557493A9BC2179CC8014053B12BAB4 - aid: A000000025 index: '10' expDate: '12312029' algorithm: '10' hashAlgorithm: '01' key: >- CF98DFEDB3D3727965EE7797723355E0751C81D2D3DF4D18EBAB9FB9D49F38C8C4A826B99DC9DEA3F01043D4BF22AC3550E2962A59639B1332156422F788B9C16D40135EFD1BA94147750575E636B6EBC618734C91C1D1BF3EDC2A46A43901668E0FFC136774080E888044F6A1E65DC9AAA8928DACBEB0DB55EA3514686C6A732CEF55EE27CF877F110652694A0E3484C855D882AE191674E25C296205BBB599455176FDD7BBC549F27BA5FE35336F7E29E68D783973199436633C67EE5A680F05160ED12D1665EC83D1997F10FD05BBDBF9433E8F797AEE3E9F02A34228ACE927ABE62B8B9281AD08D3DF5C7379685045D7BA5FCDE58637 exponent: '03' checksum: C729CF2FD262394ABC4CC173506502446AA9B9FD - aid: A000000152 index: '04' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- 8EEEC0D6D3857FD558285E49B623B109E6774E06E9476FE1B2FB273685B5A235E955810ADDB5CDCC2CB6E1A97A07089D7FDE0A548BDC622145CA2DE3C73D6B14F284B3DC1FA056FC0FB2818BCD7C852F0C97963169F01483CE1A63F0BF899D412AB67C5BBDC8B4F6FB9ABB57E95125363DBD8F5EBAA9B74ADB93202050341833DEE8E38D28BD175C83A6EA720C262682BEABEA8E955FE67BD9C2EFF7CB9A9F45DD5BDA4A1EEFB148BC44FFF68D9329FD exponent: '03' checksum: 17F971CAF6B708E5B9165331FBA91593D0C0BF66 - aid: A000000152 index: '05' expDate: '12312026' algorithm: '01' hashAlgorithm: '01' key: >- E1200E9F4428EB71A526D6BB44C957F18F27B20BACE978061CCEF23532DBEBFAF654A149701C14E6A2A7C2ECAC4C92135BE3E9258331DDB0967C3D1D375B996F25B77811CCCC06A153B4CE6990A51A0258EA8437EDBEB701CB1F335993E3F48458BC1194BAD29BF683D5F3ECB984E31B7B9D2F6D947B39DEDE0279EE45B47F2F3D4EEEF93F9261F8F5A571AFBFB569C150370A78F6683D687CB677777B2E7ABEFCFC8F5F93501736997E8310EE0FD87AFAC5DA772BA277F88B44459FCA563555017CD0D66771437F8B6608AA1A665F88D846403E4C41AFEEDB9729C2B2511CFE228B50C1B152B2A60BBF61D8913E086210023A3AA499E423 exponent: '03' checksum: 12BCD407B6E627A750FDF629EE8C2C9CC7BA636A - aid: A000000065 index: '12' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- ADF05CD4C5B490B087C3467B0F3043750438848461288BFEFD6198DD576DC3AD7A7CFA07DBA128C247A8EAB30DC3A30B02FCD7F1C8167965463626FEFF8AB1AA61A4B9AEF09EE12B009842A1ABA01ADB4A2B170668781EC92B60F605FD12B2B2A6F1FE734BE510F60DC5D189E401451B62B4E06851EC20EBFF4522AACC2E9CDC89BC5D8CDE5D633CFD77220FF6BBD4A9B441473CC3C6FEFC8D13E57C3DE97E1269FA19F655215B23563ED1D1860D8681 exponent: '03' checksum: 874B379B7F607DC1CAF87A19E400B6A9E25163E8 - aid: A000000065 index: '14' expDate: '12312026' algorithm: '01' hashAlgorithm: '01' key: >- AEED55B9EE00E1ECEB045F61D2DA9A66AB637B43FB5CDBDB22A2FBB25BE061E937E38244EE5132F530144A3F268907D8FD648863F5A96FED7E42089E93457ADC0E1BC89C58A0DB72675FBC47FEE9FF33C16ADE6D341936B06B6A6F5EF6F66A4EDD981DF75DA8399C3053F430ECA342437C23AF423A211AC9F58EAF09B0F837DE9D86C7109DB1646561AA5AF0289AF5514AC64BC2D9D36A179BB8A7971E2BFA03A9E4B847FD3D63524D43A0E8003547B94A8A75E519DF3177D0A60BC0B4BAB1EA59A2CBB4D2D62354E926E9C7D3BE4181E81BA60F8285A896D17DA8C3242481B6C405769A39D547C74ED9FF95A70A796046B5EFF36682DC29 exponent: '03' checksum: C0D15F6CD957E491DB56DCDD1CA87A03EBE06B7B - aid: A000000333 index: '03' expDate: '12312024' algorithm: '01' hashAlgorithm: '01' key: >- B0627DEE87864F9C18C13B9A1F025448BF13C58380C91F4CEBA9F9BCB214FF8414E9B59D6ABA10F941C7331768F47B2127907D857FA39AAF8CE02045DD01619D689EE731C551159BE7EB2D51A372FF56B556E5CB2FDE36E23073A44CA215D6C26CA68847B388E39520E0026E62294B557D6470440CA0AEFC9438C923AEC9B2098D6D3A1AF5E8B1DE36F4B53040109D89B77CAFAF70C26C601ABDF59EEC0FDC8A99089140CD2E817E335175B03B7AA33D exponent: '03' checksum: 87F0CD7C0E86F38F89A66F8C47071A8B88586F26 - aid: A000000333 index: '04' expDate: '12312032' algorithm: '01' hashAlgorithm: '01' key: >- BC853E6B5365E89E7EE9317C94B02D0ABB0DBD91C05A224A2554AA29ED9FCB9D86EB9CCBB322A57811F86188AAC7351C72BD9EF196C5A01ACEF7A4EB0D2AD63D9E6AC2E7836547CB1595C68BCBAFD0F6728760F3A7CA7B97301B7E0220184EFC4F653008D93CE098C0D93B45201096D1ADFF4CF1F9FC02AF759DA27CD6DFD6D789B099F16F378B6100334E63F3D35F3251A5EC78693731F5233519CDB380F5AB8C0F02728E91D469ABD0EAE0D93B1CC66CE127B29C7D77441A49D09FCA5D6D9762FC74C31BB506C8BAE3C79AD6C2578775B95956B5370D1D0519E37906B384736233251E8F09AD79DFBE2C6ABFADAC8E4D8624318C27DAF1 exponent: '03' checksum: F527081CF371DD7E1FD4FA414A665036E0F5E6E5 - aid: A000000780 index: '05' expDate: '12312030' algorithm: '01' hashAlgorithm: '01' key: >- 95E3D868E014B01210491A6EA00C097D4261AED776930E6D4FCA31C7477E29AEC5B77F7D2F0B6E61B34C876806A71A8FF1EC3E897943BE5524E7A0F7BD23840FF3B1D25C078BC32FE38E57307B413A255E268B795B45CB5B430BEAD8ABFB835F3248AFA34F85DD028DBC77D1EABFA79A2D891806A0B0BC5D25D213188E3E18DB25F45B7942320D1F55D637299334744D5633D954C70E1BAA73C2562F3C142DF9545CE4841653B80D6DD1D88C2F652ABED57551BDCA98C16D77A4139D2F84E5E3633A00DEFB3E865825DB326E6B68DC04B6AE1FAEABB6C867C30E172C94E33FC220C7C7C4342A4356DABE0A5CAB61606B649B5F33B75E35CD exponent: '03' checksum: 30AB6C5690B74D7117355AFBA07749B5142B57F2 - aid: A000000768 index: F2 expDate: '12312027' algorithm: '01' hashAlgorithm: '01' key: >- 9318623777A684FA329C2DC24AA398678DE27CB2C547C6DB6542125409528823D75F42455789C2F7705D8B77EEA7674F923E3D657C0AB8ADF4941ED3AB2877058D30BE31572BF3D570652ED9F3C9E320BA8D96FF000047FEA4582E6BA368D8FF16BE90843657CB7467D4980C9B2ED67333BFBDAE60CAB42D420A34D648816406112186EA397E7155F5EE3858D8CCACA9D11E9D85BC5373FF4B074D3BAC5C3220003B7096614EB1D7FB9216D22D6B7B7695ADDC109A51D0CACFF438A0763F001711B687BAFCD26671FCA21EDD042B1201FCB01D5807C4E94D23CB3D56E3AD16F1F03DB61381FC7F152A391D8A62BCB9D339E12A23A76F9213 exponent: '03' checksum: D8E9DA9B8461A43F469BBD08CD3A52B0B3AA775F - aid: A000000768 index: FF expDate: '12312027' algorithm: '01' hashAlgorithm: '01' key: >- 86EFCDB87055ED668CF037EC4177B05B102C01EBAF0318CA2362698012ECED53CF176A06DE4F8A113CA091E7E9BDA6A715E3D89926895DFC320574D02EFFBFF1B81F158B9896651EFF8CBC548C51E7BD68338F5A11171C4540E194A91D9D36A6C4132D3799DF911F32132A0B5CCC632200EFBE5752DCCF930F2B7AB76B81588894604215B193CBF160C5BAA32C89F450D15CF0E6B866D3AA249960B69B18B9B2575D741BB2089102A96E6A42067EF6BB exponent: '03' checksum: E7ABF106A6704AE58CBA4ACA509FD9EC33A147D5 server: name: TM01CE responses: TimeoutResponse: description: Timeout content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' lighthouse: type: object properties: data: $ref: '#/components/schemas/LighthouseDataResponse' server: $ref: '#/components/schemas/Server' example: result: - error: primaryCode: 9951 secondaryCode: 0 shortText: RESPONSE TIMEOUT longText: Timeout waiting for response across the internet lighthouse: data: >- eyJwYXltZW50SWQiOiI4NWM0MWNhNy01NzVjLTQzNGUtODIyZi0xYzZlOTE0ZDAzODYiLCJyZW1haW5pbmdBbW91bnQiOjB9 server: name: U2API01CE ErrorResponse: description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' lighthouse: $ref: '#/components/schemas/LighthouseResponse' server: $ref: '#/components/schemas/Server' example: result: - error: primaryCode: 9842 secondaryCode: 0 shortText: NOT IN CARDRANGE longText: Card type not recognized lighthouse: data: >- eyJwYXltZW50SWQiOiI4NWM0MWNhNy01NzVjLTQzNGUtODIyZi0xYzZlOTE0ZDAzODYiLCJyZW1haW5pbmdBbW91bnQiOjB9 server: name: U2API01CE CardTokenErrorResponse: description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' example: result: - error: primaryCode: 9846 secondaryCode: 0 shortText: BAD UNIQUE ID longText: >- Unique Identifier(8048471746471119) not found for Merchant 0000057984 ENGINE01CE server: name: U2API01CE TerminalIDErrorResponse: description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' example: result: - error: primaryCode: 9956 secondaryCode: 0 shortText: TID NO PINPAD longText: Terminal(100) is not configured for any PinPad DEFAULT server: name: U2API01CE ErrorResponse3DSecure: description: Error content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' transaction: type: object properties: invoice: $ref: '#/components/schemas/TransactionInvoice' hostResponse: type: object description: | Returns the response code from the host properties: reasonCode: $ref: >- #/components/schemas/HostResponseReasonCode3DSecure reasonDescription: $ref: >- #/components/schemas/HostResponseReasonDescription3DSecure example: result: - dateTime: '2022-05-04T09:20:04.487-07:00' error: primaryCode: 9842 secondaryCode: 0 shortText: NOT IN CARDRANGE longText: Card type not recognized server: name: U2API01CE transaction: invoice: '730518' ErrorResponseOCT: description: Error content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' error: $ref: '#/components/schemas/ErrorNoPrimarySecondary' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2023-01-06T09:18:23.283-07:00' error: code: 40102 severity: Info shortText: Invalid Param longText: Client request missing field server: name: TM01CE TimeoutResponseOCT: description: Timeout content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' error: $ref: '#/components/schemas/ErrorNoPrimarySecondary' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2023-01-06T09:18:23.283-07:00' error: code: 64002 severity: Error shortText: Timed Out longText: Connection Timeout server: name: TM01CE ErrorResponseACH: description: Error content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' error: $ref: '#/components/schemas/ErrorNoPrimarySecondary' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2023-02-08T09:18:23.283-07:00' error: code: 40102 severity: Info shortText: Invalid Param longText: Client request missing field server: name: TM01CE TimeoutResponseACH: description: Timeout content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' error: $ref: '#/components/schemas/ErrorNoPrimarySecondary' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2023-02-08T09:18:23.283-07:00' error: code: 64002 severity: Error shortText: Timed Out longText: Connection Timeout server: name: TM01CE ErrorResponseUpdater: description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/ErrorNoPrimarySecondary' server: $ref: '#/components/schemas/Server' example: result: - error: code: 40103 severity: Info shortText: Invalid Param longText: Client request missing field server: name: TM01CE TimeoutResponseUpdater: description: Timeout content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' error: $ref: '#/components/schemas/ErrorNoPrimarySecondary' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2024-01-17T13:35:25.049-07:00' error: code: 64002 severity: Error shortText: Timed Out longText: Connection Timeout server: name: TM01CE ErrorResponseMagicCube: description: Error content: application/json: schema: properties: dateTime: $ref: '#/components/schemas/DateTime' error: $ref: '#/components/schemas/ErrorNoPrimarySecondary' server: $ref: '#/components/schemas/Server' example: dateTime: '2023-02-08T09:18:23.283-07:00' error: code: 40102 severity: Info shortText: Invalid Param longText: Client request missing field server: name: TM01CE TimeoutResponseMagicCube: description: Timeout content: application/json: schema: properties: dateTime: $ref: '#/components/schemas/DateTime' error: $ref: '#/components/schemas/ErrorNoPrimarySecondary' server: $ref: '#/components/schemas/Server' example: dateTime: '2023-02-08T09:18:23.283-07:00' error: code: 64002 severity: Error shortText: Timed Out longText: Connection Timeout server: name: TM01CE paths: /credentials/accesstoken: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Credentials summary: Access Token Exchange operationId: accesstokenexchange security: - {} description: > This function is used to request exchanging a Client GUID and Auth Token for an Access Token. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' requestBody: required: true content: application/json: schema: required: - dateTime - credential properties: dateTime: $ref: '#/components/schemas/DateTime' credential: $ref: '#/components/schemas/Credential' responses: '200': description: AccessToken request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' credential: type: object properties: accessToken: $ref: '#/components/schemas/CredentialAccessToken' server: $ref: '#/components/schemas/Server' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/AuthTokenNotValidError' '504': $ref: '#/components/responses/TimeoutResponse' /transactions/authorization: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Transactions summary: Authorization operationId: transactionsauthorization security: - AccessToken: [] description: > Used to request processor approval for an authorization. If the invoice number already exists, the amount requested will be compared to the approved amount on file, and Shift4 will request approval for the additional amount only. If approved, an updated transaction will be displayed in [Lighthouse Transaction Manager](https://ltm.shift4test.com/). This step does NOT close and capture the funds, only authorizes the payment request. *Please note that if you are tokenzing your credit card information outside of Shift4, authorizing and capturing a payment is not available unless you store the tokenized value from Shift4 from an authorized payment request and use this token in the subsequent capture request.* **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/transactions_authorization_comengdevice' - $ref: '#/components/schemas/transactions_authorization_comengcloud' - $ref: '#/components/schemas/transactions_authorization_utgdevice' - $ref: '#/components/schemas/transactions_authorization_token_gtv' - $ref: '#/components/schemas/transactions_authorization_token_legacy' - $ref: '#/components/schemas/transactions_authorization_p2pe_idtech' - $ref: >- #/components/schemas/transactions_authorization_p2pe_tdesdukpt_emv - $ref: >- #/components/schemas/transactions_authorization_p2pe_tdesdukpt_msr - $ref: >- #/components/schemas/transactions_authorization_p2pe_onguardsde_emv - $ref: >- #/components/schemas/transactions_authorization_p2pe_onguardsde_msr - $ref: >- #/components/schemas/transactions_authorization_unencryptedcard - $ref: '#/components/schemas/transactions_authorization_3dsecurei4Go' - $ref: >- #/components/schemas/transactions_authorization_3dsecurecardnumber - $ref: >- #/components/schemas/transactions_authorization_3dsecuretoken_gtv - $ref: >- #/components/schemas/transactions_authorization_3dsecuretoken_legacy - $ref: '#/components/schemas/transactions_authorization_applepay' - $ref: '#/components/schemas/transactions_authorization_googlepay' - $ref: '#/components/schemas/transactions_authorization_incremental' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' card: $ref: '#/components/schemas/CardResponse' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstNameResponse' lastName: $ref: '#/components/schemas/CustomerLastNameResponse' clerk: $ref: '#/components/schemas/ClerkResponse' dcc: $ref: '#/components/schemas/DCCTransactionResponse' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' emv: $ref: '#/components/schemas/EMVResponse' receipt: $ref: '#/components/schemas/ReceiptArray' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' signature: $ref: '#/components/schemas/Signature' surcharge: $ref: '#/components/schemas/SurchargeTransactionResponse' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' hostResponse: $ref: '#/components/schemas/HostResponse' responseCode: $ref: '#/components/schemas/TransactionResponseCode' retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReference saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' amex: $ref: '#/components/schemas/TransactionAmex' avs: $ref: '#/components/schemas/AVS' cardOnFile: $ref: '#/components/schemas/CardOnFile' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' risk: $ref: '#/components/schemas/RiskResponseDeny' universalToken: $ref: '#/components/schemas/UniversalToken' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' payment: type: object properties: accountReference: $ref: '#/components/schemas/PaymentAccountReference' examples: P2PEEMV: $ref: '#/components/examples/transactionsauthorization_resp_p2peemv' P2PE: $ref: '#/components/examples/transactionsauthorization_resp_p2pe' Token: $ref: '#/components/examples/transactionsauthorization_resp_token' Device: $ref: >- #/components/examples/transactionsauthorization_resp_utgdevice Track: $ref: '#/components/examples/transactionsauthorization_resp_track' Unenc: $ref: '#/components/examples/transactionsauthorization_resp_raw' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /transactions/capture: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Transactions summary: Capture operationId: transactionscapture security: - AccessToken: [] description: > Used to close out an existing authorization request. If the invoice number already exists, the amount requested will be compared to the approved amount on file, and Shift4 will request approval for the additional amount only. If approved, the authorization will be converted to a sale transaction and be ready to be batched. For Restaurant industry, review [Restaurant Authorization and Settlement Flow](/guides/core-concepts/restaurant-authorization-and-settlement-flow) **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. Please note that if you are tokenzing your credit card information outside of Shift4, authorizing and capturing a payment is not available unless you store the tokenized value from Shift4 from an authorized payment request and use this token in the subsequent capture request. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/transactions_capture_token_gtv' - $ref: '#/components/schemas/transactions_capture_token_legacy' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' levelResult: $ref: '#/components/schemas/CardLevelResult' number: $ref: '#/components/schemas/CardMaskedNumber' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardTypeResp' balance: $ref: '#/components/schemas/CardBalance' token: $ref: '#/components/schemas/CardToken' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstNameResponse' lastName: $ref: '#/components/schemas/CustomerLastNameResponse' clerk: $ref: '#/components/schemas/ClerkResponse' dcc: $ref: '#/components/schemas/DCCTransactionResponse' merchant: $ref: '#/components/schemas/MerchantResponse' receipt: $ref: '#/components/schemas/ReceiptArray' server: $ref: '#/components/schemas/Server' signature: $ref: '#/components/schemas/Signature' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' hostResponse: $ref: '#/components/schemas/HostResponse' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReference saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' amex: $ref: '#/components/schemas/TransactionAmex' cardOnFile: $ref: '#/components/schemas/CardOnFile' universalToken: $ref: '#/components/schemas/UniversalToken' payment: type: object properties: accountReference: $ref: '#/components/schemas/PaymentAccountReference' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /transactions/sale: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Transactions summary: Sale/Purchase operationId: transactionssale security: - AccessToken: [] description: > Used to request processor approval for an authorization and capture in one request. If the invoice number already exists, the amount requested will be compared to the approved amount on file, and Shift4 will request approval for the additional amount only. If approved, a new sale transaction will be displayed in Lighthouse Transaction Manager and be ready to be batched. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/transactions_sale_comengdevice' - $ref: '#/components/schemas/transactions_sale_comengcloud' - $ref: '#/components/schemas/transactions_sale_utgdevice' - $ref: '#/components/schemas/transactions_sale_token_gtv' - $ref: '#/components/schemas/transactions_sale_token_legacy' - $ref: '#/components/schemas/transactions_sale_p2pe_idtech' - $ref: '#/components/schemas/transactions_sale_p2pe_tdesdukpt_emv' - $ref: '#/components/schemas/transactions_sale_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/transactions_sale_p2pe_onguardsde_emv' - $ref: '#/components/schemas/transactions_sale_p2pe_onguardsde_msr' - $ref: '#/components/schemas/transactions_sale_unencryptedcard' - $ref: '#/components/schemas/transactions_sale_3dsecurei4Go' - $ref: '#/components/schemas/transactions_sale_3dsecurecardnumber' - $ref: '#/components/schemas/transactions_sale_3dsecuretoken_gtv' - $ref: '#/components/schemas/transactions_sale_3dsecuretoken_legacy' - $ref: '#/components/schemas/transactions_sale_applepay' - $ref: '#/components/schemas/transactions_sale_googlepay' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' card: $ref: '#/components/schemas/CardResponse' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstNameResponse' lastName: $ref: '#/components/schemas/CustomerLastNameResponse' clerk: $ref: '#/components/schemas/ClerkResponse' dcc: $ref: '#/components/schemas/DCCTransactionResponse' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' emv: $ref: '#/components/schemas/EMVResponse' lighthouse: type: object properties: data: $ref: '#/components/schemas/LighthouseDataResponse' merchant: $ref: '#/components/schemas/MerchantResponse' receipt: $ref: '#/components/schemas/ReceiptArray' server: $ref: '#/components/schemas/Server' signature: $ref: '#/components/schemas/Signature' surcharge: $ref: '#/components/schemas/SurchargeTransactionResponse' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' hostResponse: $ref: '#/components/schemas/HostResponse' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReference saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' amex: $ref: '#/components/schemas/TransactionAmex' avs: $ref: '#/components/schemas/AVS' cardOnFile: $ref: '#/components/schemas/CardOnFile' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' risk: $ref: '#/components/schemas/RiskResponseDeny' universalToken: $ref: '#/components/schemas/UniversalToken' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' taxFree: $ref: '#/components/schemas/TaxFree' payment: type: object properties: accountReference: $ref: '#/components/schemas/PaymentAccountReference' examples: P2PEEMV: $ref: '#/components/examples/transactionssale_resp_p2peemv' P2PE: $ref: '#/components/examples/transactionssale_resp_p2pe' Token: $ref: '#/components/examples/transactionssale_resp_token' Device: $ref: '#/components/examples/transactionssale_resp_utgdevice' Track: $ref: '#/components/examples/transactionssale_resp_track' Unenc: $ref: '#/components/examples/transactionssale_resp_raw' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /transactions/refund: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Transactions summary: Refund operationId: refund security: - AccessToken: [] description: > This function can be used to refund a transaction for either the full or a partial amount. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/transactions_refund_comengdevice' - $ref: '#/components/schemas/transactions_refund_comengcloud' - $ref: '#/components/schemas/transactions_refund_utgdevice' - $ref: '#/components/schemas/transactions_refund_token_gtv' - $ref: '#/components/schemas/transactions_refund_token_legacy' - $ref: '#/components/schemas/transactions_refund_p2pe_idtech' - $ref: '#/components/schemas/transactions_refund_p2pe_tdesdukpt_emv' - $ref: '#/components/schemas/transactions_refund_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/transactions_refund_p2pe_onguardsde_emv' - $ref: '#/components/schemas/transactions_refund_p2pe_onguardsde_msr' - $ref: '#/components/schemas/transactions_refund_unencryptedcard' responses: '200': description: Refund was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object required: - total properties: total: type: number maxLength: 14 example: 51.32 description: The amount of the refund. card: type: object properties: entryMode: $ref: '#/components/schemas/CardEntryMode' expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' levelResult: $ref: '#/components/schemas/CardLevelResult' number: $ref: '#/components/schemas/CardMaskedNumber' present: $ref: '#/components/schemas/CardPresent' type: $ref: '#/components/schemas/CardTypeResp' balance: $ref: '#/components/schemas/CardBalance' token: $ref: '#/components/schemas/CardToken' debitType: $ref: '#/components/schemas/CardDebitType' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstNameResponse' lastName: $ref: '#/components/schemas/CustomerLastNameResponse' clerk: type: object $ref: '#/components/schemas/ClerkResponse' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' emv: $ref: '#/components/schemas/EMVResponse' merchant: $ref: '#/components/schemas/MerchantResponse' receipt: $ref: '#/components/schemas/ReceiptArray' signature: $ref: '#/components/schemas/Signature' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' hostResponse: $ref: '#/components/schemas/HostResponse' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReference saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' amex: $ref: '#/components/schemas/TransactionAmex' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' universalToken: $ref: '#/components/schemas/UniversalToken' payment: type: object properties: accountReference: $ref: '#/components/schemas/PaymentAccountReference' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /transactions/invoice: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL get: tags: - Transactions summary: Invoice Information operationId: getinvoice security: - AccessToken: [] description: > Used to request the status (e.g., approved, declined, error, referral, etc.) for a specific invoice; it is primarily used after a timeout or error has occurred. Voided or batched and settled invoices will return an “Invoice Not Found” error. For more information, see the [Timeouts and Communication Failures](/guides/response-handling/timeouts-and-communications-failures) section. *Note: The GET request does not support a request body. Sending an empty request body may result in an error.* **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/Invoice' - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/ApiOptions' - $ref: '#/components/parameters/ReceiptColumns' - $ref: '#/components/parameters/TokenValue' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' card: $ref: '#/components/schemas/CardResponse' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstNameResponse' lastName: $ref: '#/components/schemas/CustomerLastNameResponse' clerk: $ref: '#/components/schemas/ClerkResponse' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' receipt: $ref: '#/components/schemas/ReceiptArray' server: $ref: '#/components/schemas/Server' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' lighthouse: type: object properties: data: $ref: '#/components/schemas/LighthouseDataResponse' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/InvoiceError' '504': $ref: '#/components/responses/TimeoutResponse' delete: tags: - Transactions summary: Void operationId: void security: - AccessToken: [] description: > Used to void and reverse an invoice. This will attempt to reverse the transaction with the processor and will mark the transaction as voided in Shift4's Gateway. *Note: The DELETE request does not support a request body. Sending an empty request body may result in an error.* **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/Invoice' - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/ReceiptColumns' - $ref: '#/components/parameters/ReversalReason' - $ref: '#/components/parameters/TokenValue' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotal' card: $ref: '#/components/schemas/CardResponseVoid' merchant: $ref: '#/components/schemas/MerchantResponse' receipt: $ref: '#/components/schemas/ReceiptArray' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' hostResponse: $ref: '#/components/schemas/HostResponse' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' deferredAuth: $ref: '#/components/schemas/TransactionDeferredAuth' payment: type: object properties: accountReference: $ref: '#/components/schemas/PaymentAccountReference' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' lighthouse: type: object properties: data: $ref: '#/components/schemas/LighthouseDataResponse' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/InvoiceError' '504': $ref: '#/components/responses/TimeoutResponse' /transactions/manualauthorization: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Transactions summary: Manual Authorization operationId: manualauthorization security: - AccessToken: [] description: > This function is used to request authorization in an offline scenario, which means that Shift4 will not seek processor approval. An authorization code should be included in this request if the amount being submitted in the request is greater than the authorization amount currently on file. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: >- #/components/schemas/transactions_manualauthorization_comengdevice - $ref: >- #/components/schemas/transactions_manualauthorization_comengcloud - $ref: >- #/components/schemas/transactions_manualauthorization_utgdevice - $ref: >- #/components/schemas/transactions_manualauthorization_token_gtv - $ref: >- #/components/schemas/transactions_manualauthorization_token_legacy - $ref: >- #/components/schemas/transactions_manualauthorization_p2pe_idtech - $ref: >- #/components/schemas/transactions_manualauthorization_p2pe_tdesdukpt_emv - $ref: >- #/components/schemas/transactions_manualauthorization_p2pe_tdesdukpt_msr - $ref: >- #/components/schemas/transactions_manualauthorization_p2pe_onguardsde_emv - $ref: >- #/components/schemas/transactions_manualauthorization_p2pe_onguardsde_msr - $ref: >- #/components/schemas/transactions_manualauthorization_unencryptedcard responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' card: $ref: '#/components/schemas/CardResponse' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstNameResponse' lastName: $ref: '#/components/schemas/CustomerLastNameResponse' clerk: $ref: '#/components/schemas/ClerkResponse' emv: $ref: '#/components/schemas/EMV' merchant: $ref: '#/components/schemas/MerchantResponse' receipt: $ref: '#/components/schemas/ReceiptArray' server: $ref: '#/components/schemas/Server' signature: $ref: '#/components/schemas/Signature' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' amex: $ref: '#/components/schemas/TransactionAmex' avs: $ref: '#/components/schemas/AVS' universalToken: $ref: '#/components/schemas/UniversalToken' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /transactions/manualsale: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Transactions summary: Manual Sale operationId: manualsale security: - AccessToken: [] description: > This function is used to request authorization and a sale in an offline scenario, which means that Shift4 will not seek processor approval. An authorization code should be included in this request if the amount being submitted in the request is greater than the authorization amount currently on file. For Restaurant industry, review [Restaurant Authorization and Settlement Flow](/guides/core-concepts/restaurant-authorization-and-settlement-flow) **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/transactions_manualsale_comengdevice' - $ref: '#/components/schemas/transactions_manualsale_comengcloud' - $ref: '#/components/schemas/transactions_manualsale_utgdevice' - $ref: '#/components/schemas/transactions_manualsale_token_gtv' - $ref: '#/components/schemas/transactions_manualsale_token_legacy' - $ref: '#/components/schemas/transactions_manualsale_p2pe_idtech' - $ref: >- #/components/schemas/transactions_manualsale_p2pe_tdesdukpt_emv - $ref: >- #/components/schemas/transactions_manualsale_p2pe_tdesdukpt_msr - $ref: >- #/components/schemas/transactions_manualsale_p2pe_onguardsde_emv - $ref: >- #/components/schemas/transactions_manualsale_p2pe_onguardsde_msr - $ref: '#/components/schemas/transactions_manualsale_unencryptedcard' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' card: $ref: '#/components/schemas/CardResponse' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstNameResponse' lastName: $ref: '#/components/schemas/CustomerLastNameResponse' clerk: $ref: '#/components/schemas/ClerkResponse' emv: $ref: '#/components/schemas/EMV' merchant: $ref: '#/components/schemas/MerchantResponse' receipt: $ref: '#/components/schemas/ReceiptArray' server: $ref: '#/components/schemas/Server' signature: $ref: '#/components/schemas/Signature' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' amex: $ref: '#/components/schemas/TransactionAmex' avs: $ref: '#/components/schemas/AVS' universalToken: $ref: '#/components/schemas/UniversalToken' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /transactions/signature: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Transactions summary: Upload Signature operationId: transactionssignature security: - AccessToken: [] description: > This function is used to upload the captured signature to an existing invoice in Shift4's Gateway. **Integration Methods:** - Host Direct - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - transaction - signature properties: dateTime: $ref: '#/components/schemas/DateTime' apiOptions: $ref: '#/components/schemas/ApiOptions' device: type: object properties: manufacturer: $ref: '#/components/schemas/DeviceManufacturer' model: $ref: '#/components/schemas/DeviceModel' serialNumber: $ref: '#/components/schemas/DeviceSerialNumber' capability: $ref: '#/components/schemas/DeviceCapability' merchant: $ref: '#/components/schemas/MerchantResponse' signature: type: object required: - format - data properties: data: $ref: '#/components/schemas/SignatureData' format: $ref: '#/components/schemas/SignatureFormat' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: invoice: $ref: '#/components/schemas/TransactionInvoice' saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' lighthouse: type: object properties: data: $ref: '#/components/schemas/LighthouseDataResponse' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/InvoiceError' '504': $ref: '#/components/responses/TimeoutResponse' /tokens/add: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Tokens summary: TokenStore Add operationId: tokensadd security: - AccessToken: [] description: > This function requests that CHD be added to the Global Token Vault and that a card token be returned for future use. This function cannot be used for EMV processing. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/tokens_add_comengdevice' - $ref: '#/components/schemas/tokens_add_comengcloud' - $ref: '#/components/schemas/tokens_add_utgdevice' - $ref: '#/components/schemas/tokens_add_p2pe_idtech' - $ref: '#/components/schemas/tokens_add_p2pe_tdesdukpt_emv' - $ref: '#/components/schemas/tokens_add_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/tokens_add_p2pe_onguardsde_emv' - $ref: '#/components/schemas/tokens_add_p2pe_onguardsde_msr' - $ref: '#/components/schemas/tokens_add_p2pe_aes_mce' - $ref: '#/components/schemas/tokens_add_unencryptedcard' - $ref: '#/components/schemas/tokens_add_ach' responses: '200': description: Request was processed content: application/json: schema: oneOf: - $ref: '#/components/schemas/tokens_add_response_card' - $ref: '#/components/schemas/tokens_add_response_ach' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /tokens/duplicate: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Tokens summary: TokenStore Duplicate operationId: tokensduplicate security: - AccessToken: [] description: > This function requests that a new card token be generated using an existing card token. This request can be used to deposit a card token into a Global TokenStore or as a means to continue using a token that is about to expire. The card’s short-term data (if sent by the interface) will be stored until it is used or for the period configured in the merchant’s [Lighthouse Transaction Manager](https://ltm.shift4test.com/) account. **Note: This request only works for Legacy TrueToken style tokens. It will not work for Global Token Vault style tokens.** **Integration Methods:** - Host Direct - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' apiOptions: $ref: '#/components/schemas/ApiOptions' card: type: object required: - token properties: token: type: object required: - value properties: serialNumber: $ref: '#/components/schemas/CardTokenSerialNumber' value: $ref: '#/components/schemas/CardTokenValue' customer: $ref: '#/components/schemas/Customer' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: token: serialNumber: '266' value: 1119eqetd26hfne4 responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' number: $ref: '#/components/schemas/CardMaskedNumber' type: $ref: '#/components/schemas/CardTypeResp' token: $ref: '#/components/schemas/CardToken' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' universalToken: $ref: '#/components/schemas/UniversalToken' example: result: - dateTime: '2022-05-10T06:34:25.049-07:00' card: expirationDate: 1230 number: XXXXXXXXXXXX1119 type: VS token: value: 1119djw7fh2jwo4r merchant: mid: 15877 name: Merchant XYZ server: name: TM01CE universalToken: value: 97032276-5944-00000001-16985FD179D '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /tokens/delete: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Tokens summary: TokenStore Delete operationId: tokensdelete security: - AccessToken: [] description: > This function requests that a token be deleted from the TrueToken vault. This process is irreversible. Once the token is deleted, there is no way to recover it. **Note: This request only works for Legacy TrueToken style tokens. It will not work for Global Token Vault style tokens.** **Integration Methods:** - Host Direct - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - token properties: token: type: object required: - value properties: value: $ref: '#/components/schemas/CardTokenValue' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: token: value: 1119eqetd26hfne4 responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object properties: token: $ref: '#/components/schemas/CardToken' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2022-05-10T06:34:25.049-07:00' card: token: value: 1119eqetd26hfne4 merchant: mid: 15877 name: Merchant XYZ server: name: TM01CE '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /tokens/universaltoken: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL get: tags: - Tokens summary: Universal Token operationId: tokensuniversaltoken security: - AccessToken: [] description: > This function requests that the existing universal token for a card be returned. *Note: The GET request does not support a request body. Sending an empty request body may result in an error.* **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/CardNumber' - $ref: '#/components/parameters/P2PEData' - $ref: '#/components/parameters/P2PEFormat' - $ref: '#/components/parameters/P2PEKsn' - $ref: '#/components/parameters/TokenSerialNumber' - $ref: '#/components/parameters/TokenValue' - $ref: '#/components/parameters/TrackData' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' universalToken: $ref: '#/components/schemas/UniversalToken' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /tokens/4words: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Tokens summary: Get Four Words operationId: tokens4words security: - AccessToken: [] description: > This function is used to generate a unique combination of four words that can be used to reference cardholder data (CHD). **Note: This functionality is supported with Legacy TrueTokens only. It is not supported with GTV tokens.** **Integration Methods:** - Host Direct - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - card properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object required: - token properties: token: $ref: '#/components/schemas/CardToken' example: dateTime: '2021-04-15T09:18:23.283-07:00' card: token: value: '8048471746471119' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: $ref: '#/components/schemas/CardResponseFourWords' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /merchants/merchant: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL get: tags: - Merchants summary: Merchant Information operationId: merchantsmerchant security: - AccessToken: [] description: > Used to request information about the merchant. *Note: The GET request does not support a request body. Sending an empty request body may result in an error.* **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/ApiOptionsGetMerchant' responses: '200': description: Request was processed content: application/json: schema: oneOf: - title: Default properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' merchant: type: object readOnly: true properties: addressLine1: $ref: '#/components/schemas/MerchantAddressLine1' addressLine2: $ref: '#/components/schemas/MerchantAddressLine2' city: $ref: '#/components/schemas/MerchantCity' dayEndingTime: $ref: '#/components/schemas/MerchantDayEndingTime' defaultCurrency: $ref: '#/components/schemas/MerchantDefaultCurrency' supportedCurrencies: $ref: >- #/components/schemas/MerchantSupportedCurrencies industry: $ref: '#/components/schemas/MerchantIndustry' mid: $ref: '#/components/schemas/MerchantMID' name: $ref: '#/components/schemas/MerchantName' region: $ref: '#/components/schemas/MerchantRegion' phone: $ref: '#/components/schemas/MerchantPhone' postalCode: $ref: '#/components/schemas/MerchantPostalCode' serialNumber: $ref: '#/components/schemas/MerchantSerialNumber' cardTypes: $ref: '#/components/schemas/MerchantCardTypesArray' dcc: $ref: '#/components/schemas/MerchantDCCObject' gtv: $ref: '#/components/schemas/MerchantGTVObject' surcharge: $ref: '#/components/schemas/MerchantSurchargeObject' autoClose: $ref: '#/components/schemas/MerchantAutoCloseObject' server: $ref: '#/components/schemas/Server' - title: RETURNPROCESSORS properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' merchant: type: object readOnly: true properties: addressLine1: $ref: '#/components/schemas/MerchantAddressLine1' addressLine2: $ref: '#/components/schemas/MerchantAddressLine2' city: $ref: '#/components/schemas/MerchantCity' dayEndingTime: $ref: '#/components/schemas/MerchantDayEndingTime' defaultCurrency: $ref: '#/components/schemas/MerchantDefaultCurrency' supportedCurrencies: $ref: >- #/components/schemas/MerchantSupportedCurrencies industry: $ref: '#/components/schemas/MerchantIndustry' mid: $ref: '#/components/schemas/MerchantMID' name: $ref: '#/components/schemas/MerchantName' region: $ref: '#/components/schemas/MerchantRegion' phone: $ref: '#/components/schemas/MerchantPhone' postalCode: $ref: '#/components/schemas/MerchantPostalCode' serialNumber: $ref: '#/components/schemas/MerchantSerialNumber' cardTypes: $ref: >- #/components/schemas/MerchantCardTypesReturnProcessorsArray dcc: $ref: '#/components/schemas/MerchantDCCObject' gtv: $ref: '#/components/schemas/MerchantGTVObject' surcharge: $ref: '#/components/schemas/MerchantSurchargeObject' autoClose: $ref: '#/components/schemas/MerchantAutoCloseObject' server: $ref: '#/components/schemas/Server' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/AccessTokenNotFoundError' '504': $ref: '#/components/responses/TimeoutResponse' /giftcards/activate: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Gift Cards summary: Activate operationId: activate security: - AccessToken: [] description: > This function requests that a new gift card be activated for use or that a new gift card be loaded with funds. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/giftcards_activate_comengdevice' - $ref: '#/components/schemas/giftcards_activate_comengcloud' - $ref: '#/components/schemas/giftcards_activate_utgdevice' - $ref: '#/components/schemas/giftcards_activate_token_gtv' - $ref: '#/components/schemas/giftcards_activate_token_legacy' - $ref: '#/components/schemas/giftcards_activate_p2pe_idtech' - $ref: '#/components/schemas/giftcards_activate_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/giftcards_activate_p2pe_onguardsde_msr' - $ref: '#/components/schemas/giftcards_activate_unencryptedcard' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGCResponse' card: $ref: '#/components/schemas/CardResponseGC' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 20 card: number: XXXXXXXXXXXX1333 balance: amount: 20 token: value: '8058471748050009' type: YC device: terminalId: '1742' merchant: mid: 15877 name: Merchant XYZ server: name: UTGAPI01CE transaction: authSource: E invoice: '192030' responseCode: A '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/GiftCardActivateError' '504': $ref: '#/components/responses/TimeoutResponse' /giftcards/allocate: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Gift Cards summary: Allocate operationId: allocate security: - AccessToken: [] description: > This function requests that a new gift card be allocated for use under a specific Program ID. The new card will be generated during the request and activated with the requested amount. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - amount - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGC' programId: $ref: '#/components/schemas/ProgramId' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 25 programId: '95' transaction: invoice: '192029' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGCResponse' card: type: object properties: number: type: string maxLength: 32 description: > The gift card number that was created during the gift card allocate request. type: $ref: '#/components/schemas/CardTypeGCResp' balance: $ref: '#/components/schemas/CardBalance' merchant: $ref: '#/components/schemas/MerchantResponse' programId: $ref: '#/components/schemas/ProgramId' server: $ref: '#/components/schemas/Server' transaction: type: object properties: invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 20 card: number: '1000083000004141494' type: GC balance: amount: 20 merchant: mid: 15877 name: Merchant XYZ programId: '95' server: name: UTGAPI01CE transaction: invoice: '192029' responseCode: A '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' example: result: - error: longText: 'ALLOCATE Failed: Need sample error' primaryCode: 9101 secondaryCode: 0 shortText: ALLOCATE FAILED server: name: U2API01CE '504': $ref: '#/components/responses/TimeoutResponse' /giftcards/deactivate: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Gift Cards summary: Deactivate operationId: deactivate security: - AccessToken: [] description: > This function requests that an active gift card be deactivated so that it can’t be used to process transactions. A balance will remain on the gift card (if supported by the processor). If you want to return the card's current balance back to the customer, use the [Cashout](/apis/payments-platform-rest/openapi/gift-cards/cashout) endpoint instead. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/giftcards_deactivate_comengdevice' - $ref: '#/components/schemas/giftcards_deactivate_comengcloud' - $ref: '#/components/schemas/giftcards_deactivate_utgdevice' - $ref: '#/components/schemas/giftcards_deactivate_token_gtv' - $ref: '#/components/schemas/giftcards_deactivate_token_legacy' - $ref: '#/components/schemas/giftcards_deactivate_p2pe_idtech' - $ref: '#/components/schemas/giftcards_deactivate_p2pe_tdesdukpt_msr' - $ref: >- #/components/schemas/giftcards_deactivate_p2pe_onguardsde_msr - $ref: '#/components/schemas/giftcards_deactivate_unencryptedcard' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: $ref: '#/components/schemas/CardResponseDeact' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' universalToken: $ref: '#/components/schemas/UniversalToken' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' card: entryMode: '1' number: XXXXXXXXXXXX1333 present: 'Y' deactivationReason: lost or stolen balance: amount: 20 token: value: 0009hfqbt8b396x1 type: YC device: terminalId: '1742' merchant: mid: 15877 name: Merchant XYZ server: name: UTGAPI01CE transaction: authSource: E invoice: '192032' responseCode: A '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /giftcards/cashout: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: deprecated: true tags: - Gift Cards summary: Cashout operationId: cashout security: - AccessToken: [] description: > This function requests that an active gift card be deactivated so that it can’t be used to process transactions. Any current balance is removed from the card so that the funds can be returned to the consumer as cash. **This endpoint has been deprecated and should no longer be used. It has been replaced by the [Gift Card Cashback](/apis/payments-platform-rest/openapi/gift-cards/cashback) endpoint.** **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/giftcards_cashout_comengdevice' - $ref: '#/components/schemas/giftcards_cashout_comengcloud' - $ref: '#/components/schemas/giftcards_cashout_utgdevice' - $ref: '#/components/schemas/giftcards_cashout_token_gtv' - $ref: '#/components/schemas/giftcards_cashout_token_legacy' - $ref: '#/components/schemas/giftcards_cashout_p2pe_idtech' - $ref: '#/components/schemas/giftcards_cashout_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/giftcards_cashout_p2pe_onguardsde_msr' - $ref: '#/components/schemas/giftcards_cashout_unencryptedcard' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGCResponse' card: $ref: '#/components/schemas/CardResponseCashout' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' universalToken: $ref: '#/components/schemas/UniversalToken' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 20 card: entryMode: '1' number: XXXXXXXXXXXX1333 present: 'Y' deactivationReason: lost or stolen token: value: 0009hfqbt8b396x1 type: YC device: terminalId: '1742' merchant: mid: 15877 name: Merchant XYZ server: name: UTGAPI01CE transaction: authSource: E invoice: '192034' responseCode: A '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /giftcards/cashback: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Gift Cards summary: Cashback operationId: cashback security: - AccessToken: [] description: > This function requests that an active gift card be deactivated so that it can’t be used to process transactions. Any current balance is removed from the card so that the funds can be returned to the consumer as cash. **This endpoint replaces the [Gift Card Cashout](/apis/payments-platform-rest/openapi/gift-cards/cashout) endpoint.** **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/giftcards_cashout_comengdevice' - $ref: '#/components/schemas/giftcards_cashout_comengcloud' - $ref: '#/components/schemas/giftcards_cashout_utgdevice' - $ref: '#/components/schemas/giftcards_cashout_token_gtv' - $ref: '#/components/schemas/giftcards_cashout_token_legacy' - $ref: '#/components/schemas/giftcards_cashout_p2pe_idtech' - $ref: '#/components/schemas/giftcards_cashout_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/giftcards_cashout_p2pe_onguardsde_msr' - $ref: '#/components/schemas/giftcards_cashout_unencryptedcard' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGCResponse' card: $ref: '#/components/schemas/CardResponseCashout' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' universalToken: $ref: '#/components/schemas/UniversalToken' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 20 card: entryMode: '1' number: XXXXXXXXXXXX1333 present: 'Y' deactivationReason: lost or stolen token: value: 0009hfqbt8b396x1 type: YC device: terminalId: '1742' merchant: mid: 15877 name: Merchant XYZ server: name: UTGAPI01CE transaction: authSource: E invoice: '192034' responseCode: A '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /giftcards/reactivate: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Gift Cards summary: Reactivate operationId: reactivate security: - AccessToken: [] description: > This function requests that a previously deactivated gift card be reactivated. If there was a balance remaining on the gift card at the time of deactivation, the balance will again become available for use. Funds cannot be added to a gift card during a Reactivate request. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/giftcards_reactivate_comengdevice' - $ref: '#/components/schemas/giftcards_reactivate_comengcloud' - $ref: '#/components/schemas/giftcards_reactivate_utgdevice' - $ref: '#/components/schemas/giftcards_reactivate_token_gtv' - $ref: '#/components/schemas/giftcards_reactivate_token_legacy' - $ref: '#/components/schemas/giftcards_reactivate_p2pe_idtech' - $ref: '#/components/schemas/giftcards_reactivate_p2pe_tdesdukpt_msr' - $ref: >- #/components/schemas/giftcards_reactivate_p2pe_onguardsde_msr - $ref: '#/components/schemas/giftcards_reactivate_unencryptedcard' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: $ref: '#/components/schemas/CardResponseGC' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' universalToken: $ref: '#/components/schemas/UniversalToken' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' card: number: XXXXXXXXXXXX1333 balance: amount: 30 token: value: 0009hfqbt8b396x1 type: YC device: terminalId: '1742' merchant: mid: 15877 name: Merchant XYZ server: name: UTGAPI01CE transaction: authSource: E invoice: '192033' responseCode: A '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /giftcards/reload: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Gift Cards summary: Reload operationId: reload security: - AccessToken: [] description: > This function requests that an active gift card be loaded with additional funds. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/giftcards_reload_comengdevice' - $ref: '#/components/schemas/giftcards_reload_comengcloud' - $ref: '#/components/schemas/giftcards_reload_utgdevice' - $ref: '#/components/schemas/giftcards_reload_token_gtv' - $ref: '#/components/schemas/giftcards_reload_token_legacy' - $ref: '#/components/schemas/giftcards_reload_p2pe_idtech' - $ref: '#/components/schemas/giftcards_reload_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/giftcards_reload_p2pe_onguardsde_msr' - $ref: '#/components/schemas/giftcards_reload_unencryptedcard' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGCResponse' card: $ref: '#/components/schemas/CardResponseGC' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' universalToken: $ref: '#/components/schemas/UniversalToken' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 20 card: number: XXXXXXXXXXXX1333 balance: amount: 30 token: value: 0009hfqbt8b396x1 type: YC device: terminalId: '1742' merchant: mid: 15877 name: Merchant XYZ server: name: UTGAPI01CE transaction: authSource: E invoice: '192031' responseCode: A '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /giftcards/balance: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Gift Cards summary: Balance operationId: balance security: - AccessToken: [] description: > This function requests that a gift card's balance, masked card number, expiration date, and discount percentage be returned. Merchants may be required to pay a fee for an inquiry request depending on their processor agreement. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/giftcards_balance_comengdevice' - $ref: '#/components/schemas/giftcards_balance_comengcloud' - $ref: '#/components/schemas/giftcards_balance_utgdevice' - $ref: '#/components/schemas/giftcards_balance_token_gtv' - $ref: '#/components/schemas/giftcards_balance_token_legacy' - $ref: '#/components/schemas/giftcards_balance_p2pe_idtech' - $ref: '#/components/schemas/giftcards_balance_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/giftcards_balance_p2pe_onguardsde_msr' - $ref: '#/components/schemas/giftcards_balance_unencryptedcard' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: $ref: '#/components/schemas/CardResponseDeact' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' universalToken: $ref: '#/components/schemas/UniversalToken' history: type: array description: | Returned if `RETURNHIST` is sent in `apiOptions`. items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' transactionType: type: string enum: - Sale - Activate - Allocate - Deactivate - Cashback - Reactivate - Reload - Balance - Cancel description: | The gift card transaction type examples: Active: summary: Active Card value: result: - dateTime: '2019-04-15T16:10:44.000-07:00' card: balance: amount: 20 entryMode: M number: XXXXXXXXXXXX1333 token: value: 1333jd4nmj9p787m type: YC merchant: mid: 15877 name: Merchant XYZ server: name: U2API01CE transaction: authSource: E invoice: '6241932450' responseCode: A history: - dateTime: '2019-04-12T08:13:23.000-07:00' amount: total: 80 transactionType: Sale - dateTime: '2019-03-12T08:10:44.000-07:00' amount: total: 100 transactionType: Activate Inactive: summary: Inactive Card value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' card: balance: amount: 24.33 deactivationReason: lost or stolen entryMode: M number: XXXXXXXXXXXX8774 present: 'Y' token: value: 87743q5p3ffhv67y type: YC merchant: mid: 15877 name: Merchant XYZ server: name: U2API01CE transaction: authSource: E invoice: '192029' responseCode: A '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /giftcards/cancel: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Gift Cards summary: Cancel operationId: cancel security: - AccessToken: [] description: > This function attempts to undo the last /giftcards/* request that was made against a gift card or private label card. For example, an Activate or Reload request may eligible for cancellation. Some processors do not support this functionality. This endpoint cannot be used to cancel a sale or authorization against a gift card - the Void request should be used for that scenario. **Integration Methods:** - Host Direct - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/giftcards_cancel_token_gtv' - $ref: '#/components/schemas/giftcards_cancel_token_legacy' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountGCResponse' card: $ref: '#/components/schemas/CardResponseGC' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/CardTokenErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /cards/verify: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 post: tags: - Cards summary: Verify Card with Processor operationId: cardsverify security: - AccessToken: [] description: > This function is used to request card validation by going online to verify the card information with the processor. If Address Verification System (AVS) and/or Card Security Code (CSC) data are sent in the request, that information will also be validated. To process an Account Name Inquiry request the `USEANI` API Option and `customer.lastName` must be sent in the request. `customer.firstName` and `customer.middleName` are optional. Account Name Inquiry requests are currently limited to Visa cards. **Integration Methods:** - Host Direct - Commerce Engine For On Premise - Commerce Engine For Cloud - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/cards_verify_comengdevice' - $ref: '#/components/schemas/cards_verify_comengcloud' - $ref: '#/components/schemas/cards_verify_utgdevice' - $ref: '#/components/schemas/cards_verify_token_gtv' - $ref: '#/components/schemas/cards_verify_token_legacy' - $ref: '#/components/schemas/cards_verify_p2pe_idtech' - $ref: '#/components/schemas/cards_verify_p2pe_tdesdukpt_emv' - $ref: '#/components/schemas/cards_verify_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/cards_verify_p2pe_onguardsde_emv' - $ref: '#/components/schemas/cards_verify_p2pe_onguardsde_msr' - $ref: '#/components/schemas/cards_verify_unencryptedcard' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' customer: $ref: '#/components/schemas/Customer' card: type: object properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' number: $ref: '#/components/schemas/CardMaskedNumber' type: $ref: '#/components/schemas/CardTypeResp' securityCode: $ref: '#/components/schemas/CardSecurityCode' token: $ref: '#/components/schemas/CardTokenResponse' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode responseCode: $ref: >- #/components/schemas/TransactionResponseCodeCardsVerify avs: $ref: '#/components/schemas/AVS' cardOnFile: $ref: '#/components/schemas/CardOnFile' server: $ref: '#/components/schemas/Server' accountNameInquiry: $ref: '#/components/schemas/AccountNameInquiryResponse' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /cards/identify: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 post: tags: - Cards summary: Identify Card Type operationId: cardsidentify security: - AccessToken: [] description: > This function is used to request and return the card type. **Integration Methods:** - Host Direct - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/cards_identify_utgdevice' - $ref: '#/components/schemas/cards_identify_token_gtv' - $ref: '#/components/schemas/cards_identify_token_legacy' - $ref: '#/components/schemas/cards_identify_p2pe_idtech' - $ref: '#/components/schemas/cards_identify_p2pe_tdesdukpt_emv' - $ref: '#/components/schemas/cards_identify_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/cards_identify_p2pe_onguardsde_emv' - $ref: '#/components/schemas/cards_identify_p2pe_onguardsde_msr' - $ref: '#/components/schemas/cards_identify_unencryptedcard' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: $ref: '#/components/schemas/CardResponseIdentify' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/promptsignature: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Devices summary: Request Signature operationId: devicessignatures security: - AccessToken: [] description: > This function is used to request a prompt for signature on a UTG or Commerce Engine controlled PIN pad and returns the signature. **Integration Methods:** - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_promptsignature_comengdevice' - $ref: '#/components/schemas/devices_promptsignature_comengcloud' - $ref: '#/components/schemas/devices_promptsignature_utgdevice' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' server: $ref: '#/components/schemas/Server' signature: $ref: '#/components/schemas/Signature' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/promptconfirmation: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Devices summary: Prompt Confirmation operationId: devicespromptconfirmation security: - AccessToken: [] description: > This function is used to display text for a consumer’s confirmation on a UTG-controlled PIN pad. **Integration Methods:** - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' promptConfirmation: $ref: '#/components/schemas/DevicePromptConfirmation' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptConfirmation: $ref: '#/components/schemas/DevicePromptConfirmation' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/termsandconditions: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Devices summary: Prompt Terms and Conditions operationId: devicestermsandconditions security: - AccessToken: [] description: > This function is used to display terms and conditions for a consumer to accept or decline on a Commerce Engine or UTG-controlled PIN pad. **Integration Methods:** - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_termsandconditions_comengdevice' - $ref: '#/components/schemas/devices_termsandconditions_comengcloud' - $ref: '#/components/schemas/devices_termsandconditions_utgdevice' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptTermsAndConditions: $ref: >- #/components/schemas/DevicePromptTermsAndConditions server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/lineitems: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Devices summary: Display Line Items operationId: deviceslineitems security: - AccessToken: [] description: > This function is used to display up to 10 line items on a UTG-controlled PIN pad. In additional Display Line Items requests, if the API Option APPENDLINEITEM is sent, the UTG will append the new line item(s) to the existing line item(s) displayed. **Integration Methods:** - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' apiOptions: $ref: '#/components/schemas/ApiOptions' device: type: object required: - terminalId - lineItems properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' lineItems: $ref: '#/components/schemas/DeviceLineItemsArray' example: dateTime: '2021-04-15T09:18:23.283-07:00' device: lineItems: - Hamburger - Fries - Soda - Cookie terminalId: '1742' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' delete: tags: - Devices summary: Clear Line Items operationId: devicesdeletelineitems security: - AccessToken: [] description: > This function is used to clear the line items displayed on a UTG-controlled PIN pad. *Note: The DELETE request does not support a request body. Sending an empty request body may result in an error.* **Integration Methods:** - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/TerminalID' - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/info: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL get: tags: - Devices summary: Device Information operationId: devicesinfo security: - AccessToken: [] description: > This function is used to request information regarding the status of a specific Commerce Engine or UTG-controlled PIN pad. Depending on the type of device in use, this request may return a variety of device information in the response, including the types of encryption keys injected on the device. *Note: The GET request does not support a request body. Sending an empty request body may result in an error.* **Integration Methods:** - Commerce Engine For On Premise - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/TerminalIDDevicesInfo' - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' responses: '200': description: Request was processed content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_info_comeng' - $ref: '#/components/schemas/devices_info_utgingenico' - $ref: '#/components/schemas/devices_info_utgverifone' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/initializereaders: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Devices summary: Initialize Readers operationId: devicesinitializereaders security: - AccessToken: [] description: > This function is used to request a card swipe, insert, tap (if applicable), etc. on a UTG-controlled PIN pad before an [Authorization](/apis/payments-platform-rest/openapi/transactions/transactionsauthorization) or [Sale/Purchase](/apis/payments-platform-rest/openapi/transactions/transactionssale) request. **Integration Methods:** - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - device properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object required: - terminalId properties: terminalId: $ref: '#/components/schemas/DeviceTerminalIdRequired' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/reset: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Devices summary: Reset Device operationId: devicesreset security: - AccessToken: [] description: > This function is used to reset a Commerce Engine or UTG-controlled PIN pad to idle. When there is pending consumer input (e.g., waiting for the consumer to confirm the amount, swipe their card, select credit or debit, etc.), sending this request will cancel the request. **Integration Methods:** - Locally Installed UTG - Commerce Engine For On Premise See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_reset_comengdevice' - $ref: '#/components/schemas/devices_reset_utgdevice' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/promptcardread: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Devices summary: Prompt Card Read operationId: devicespromptcardread security: - AccessToken: [] description: > This function is used to prompt a P2PE-enabled, Commerce Engine or UTG controlled PIN pad to request a pass-through card swipe, causing the output of the swipe to be returned directly to the interface without any action or validation by Shift4 or the processor. **Integration Methods:** - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_promptcardread_comengdevice' - $ref: '#/components/schemas/devices_promptcardread_comengcloud' - $ref: '#/components/schemas/devices_promptcardread_utgdevice' responses: '200': description: Request was processed content: application/json: schema: oneOf: - title: Unencrypted Gift, Loyalty, or Employee Badge Data properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object properties: entryMode: $ref: >- #/components/schemas/CardEntryModeResponseTrackOnly expirationDate: type: integer minLength: 3 maxLength: 4 format: MMYY description: > Card expiration date in MMYY format. This will only be returned for non-card brand cards such as gift cards and employee badge cards. This field will not be returned if the swipe data received is in a non-standard format. number: type: string maxLength: 32 description: > The unencrypted card number. This will only be returned for non-card brand cards such as gift cards and employee badge cards. This field will not be returned if the swipe data received is in a non-standard format. trackData: type: string description: > The raw track data read from the card swipe. This can contain track 1 data, track 2 data, or both. This will only be returned for non-card brand cards such as gift cards and employee badge cards. server: $ref: '#/components/schemas/Server' - title: Encrypted Card Brand Data properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' card: type: object properties: entryMode: $ref: >- #/components/schemas/CardEntryModeResponseTrackOnly number: $ref: '#/components/schemas/CardMaskedNumber' type: $ref: '#/components/schemas/CardTypeResp' p2pe: $ref: '#/components/schemas/P2PE' server: $ref: '#/components/schemas/Server' examples: unencryptedgiftcard: summary: Unencrypted Gift Card value: result: - dateTime: '2024-05-21T09:18:23.283-07:00' card: entryMode: '2' expirationDate: 643 number: '0001366477393106' trackData: ;0001366477393106=430692960042575? server: name: Commerce Engine K unencryptedemployeecard: summary: Unencrypted Employee Badge Data Card value: result: - dateTime: '2024-05-21T09:18:23.283-07:00' card: entryMode: '2' trackData: ;:<>4114952129? server: name: Commerce Engine K encryptedcard: summary: Encrypted Card Brand Data value: result: - dateTime: '2024-05-21T09:18:23.283-07:00' card: entryMode: '1' number: XXXXXXXXXXXX6186 type: NS p2pe: data: >- a%B369989****6186^DC/TRACK1 ONLY^2212101**************************??b?c;FFFF49003614954000BB:1:0072:8B997BF3896636D43593897B86C58A4C7B684B69C5DC150FF53882A15C34C3FCBCEBCFEA0FA68FAC3F0148431B3C6470514A20A5104AF853BDF4D1BD8EBD0E9FAB493176BD2614DC format: '03' server: name: U2API01CE '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/promptinput: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Devices summary: Prompt for Input operationId: devicespromptinput security: - AccessToken: [] description: > This function is used to prompt a Commerce Engine or UTG-controlled PIN pad to collect a specified value from a consumer. The interface will specify the value based on the `device.promptInput.index` field. Each request will collect one specified value; when multiple values need to be collected, separate requests must be sent. **Integration Methods:** - Commerce Engine For On Premise - Commerce Engine For Cloud - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_promptinput_comengdevice' - $ref: '#/components/schemas/devices_promptinput_comengcloud' - $ref: '#/components/schemas/devices_promptinput_utgdevice' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: type: object properties: terminalId: $ref: '#/components/schemas/DeviceTerminalId' promptInput: $ref: '#/components/schemas/DevicePromptInput' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/processform: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Devices summary: Display Custom Form operationId: devicesprocessform security: - AccessToken: [] description: > This function is used to display a custom form and text for a consumer’s input on a Commerce Engine or UTG controlled PIN pad. **Integration Methods:** - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_processform_comengdevice' - $ref: '#/components/schemas/devices_processform_comengcloud' - $ref: '#/components/schemas/devices_processform_utgdevice' responses: '200': description: Request was processed content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_processform_response_utg' - $ref: >- #/components/schemas/devices_processform_response_comeng_message - $ref: >- #/components/schemas/devices_processform_response_comeng_multiButtonScrollingText '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/print: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - Devices summary: Print Receipts operationId: devicesprint security: - AccessToken: [] description: > This function is used to print a receipt using a device’s built-in printer. The receipt may include a scannable bar code. **Integration Methods:** - Locally Installed UTG - Commerce Engine For On Premise - Commerce Engine For Cloud Commerce Engine for On Premise and Commerce Engine For Cloud support both the legacy printing format for backwards compability with UTG integrations as well as a new structured printing format. With the new structured printing format you can format an entire receipt as a bmp image including text, QR codes, and images. In future Commerce Engine releases we will be enhancing the structured format to support handling text and bar codes. See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_print_comengdevice_structured' - $ref: '#/components/schemas/devices_print_comengcloud_structured' - $ref: '#/components/schemas/devices_print_comengdevice_legacy' - $ref: '#/components/schemas/devices_print_comengcloud_legacy' - $ref: '#/components/schemas/devices_print_utgdevice' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' device: $ref: '#/components/schemas/DeviceOnlyTIDResponse' server: $ref: '#/components/schemas/Server' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/getstatus: servers: - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Devices summary: Get Device Status operationId: devicesgetstatus security: - AccessToken: [] description: > This function is used to get the status of the device. **Integration Methods:** - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_getstatus_comengdevice' - $ref: '#/components/schemas/devices_getstatus_comengcloud' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: cloudRegistered: $ref: '#/components/schemas/CloudRegistered' cloudConnected: $ref: '#/components/schemas/CloudConnected' offlineMode: $ref: '#/components/schemas/OfflineMode' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /devices/prompttip: servers: - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL - url: https://api.shift4test.com/api/rest/v1 description: Commerce Engine For Cloud Test URL - url: https://api.shift4api.net/api/rest/v1 description: Commerce Engine For Cloud Production URL post: tags: - Devices summary: Prompt Tip operationId: devicesprompttip security: - AccessToken: [] description: > This function is used to prompt for tip outside of a payment transaction. **Integration Methods:** - Commerce Engine For On Premise - Commerce Engine For Cloud See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/devices_prompttip_comengdevice' - $ref: '#/components/schemas/devices_prompttip_comengcloud' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object properties: tip: $ref: '#/components/schemas/AmountTipResponse' total: $ref: '#/components/schemas/AmountTotal' tip: type: object properties: selectedOption: $ref: '#/components/schemas/TipSelectedOption' server: $ref: '#/components/schemas/ServerComEng' '400': $ref: '#/components/responses/TerminalIDErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /reports/batchtotals: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL get: tags: - Reports summary: Totals Report operationId: reportsbatchtotals security: - AccessToken: [] description: > This function is used to request a simple totals report for automated analysis. It does not supersede the standard auditing and reporting tools that are included with Shift4’ products. *Note: The GET request does not support a request body. Sending an empty request body may result in an error.* **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/BusinessDateTotals' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/Inclusive' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' batch: $ref: '#/components/schemas/BatchResponseNoProcessors' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: businessDate: $ref: '#/components/schemas/TransactionBusinessDate' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/AccessTokenNotFoundError' '504': $ref: '#/components/responses/TimeoutResponse' /batches/submit: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - Batches summary: Submit Batch operationId: batchessubmit security: - AccessToken: [] description: > This function is used to close a batch. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - transaction - batch properties: dateTime: $ref: '#/components/schemas/DateTime' transaction: type: object required: - businessDate properties: businessDate: $ref: '#/components/schemas/SubmitBatchBusinessDate' batch: $ref: '#/components/schemas/Batch' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' batch: $ref: '#/components/schemas/BatchResponse' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: businessDate: $ref: '#/components/schemas/TransactionBusinessDate' server: $ref: '#/components/schemas/Server' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/BatchError' '504': $ref: '#/components/responses/TimeoutResponse' /qrpayments/getqrcode: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - QR Payments summary: Get QR Code operationId: getqrcode security: - AccessToken: [] description: > This endpoint is used to obtain a transaction based QR code. **Integration Methods:** - Host Direct - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - amount - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object required: - total - tax properties: total: $ref: '#/components/schemas/AmountTotal' tax: $ref: '#/components/schemas/AmountTax' tip: $ref: '#/components/schemas/AmountTip' cashback: $ref: '#/components/schemas/AmountCashback' transaction: type: object required: - invoice - saleFlag properties: invoice: $ref: '#/components/schemas/TransactionInvoice' saleFlag: $ref: '#/components/schemas/TransactionSaleFlagQR' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' qrCode: $ref: '#/components/schemas/QRCodeResponse' server: $ref: '#/components/schemas/Server' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotal' tax: $ref: '#/components/schemas/AmountTax' tip: $ref: '#/components/schemas/AmountTip' cashback: $ref: '#/components/schemas/AmountCashback' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: invoice: $ref: '#/components/schemas/TransactionInvoice' saleFlag: $ref: '#/components/schemas/TransactionSaleFlagQR' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' responseCode: $ref: '#/components/schemas/TransactionResponseCode' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' example: result: - error: longText: Fail to post QR Pay record primaryCode: 9870 secondaryCode: 4 shortText: QR PAY ERROR server: name: U2API02CE '504': $ref: '#/components/responses/TimeoutResponse' /qrpayments/getqrdetails: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - QR Payments summary: Get QR Details operationId: getqrdetails security: - AccessToken: [] description: > This endpoint is used to get detailed information for a transaction based QR code. **Integration Methods:** - Host Direct - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - qrCode properties: dateTime: $ref: '#/components/schemas/DateTime' qrCode: $ref: '#/components/schemas/QRCodeRequest' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object properties: total: $ref: '#/components/schemas/AmountTotal' tax: $ref: '#/components/schemas/AmountTax' tip: $ref: '#/components/schemas/AmountTip' cashback: $ref: '#/components/schemas/AmountCashback' transaction: type: object properties: invoice: $ref: '#/components/schemas/TransactionInvoice' saleFlag: $ref: '#/components/schemas/TransactionSaleFlagQR' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' merchant: type: object properties: addressLine1: $ref: '#/components/schemas/MerchantAddressLine1' addressLine2: $ref: '#/components/schemas/MerchantAddressLine2' city: $ref: '#/components/schemas/MerchantCity' dayEndingTime: $ref: '#/components/schemas/MerchantDayEndingTime' industry: $ref: '#/components/schemas/MerchantIndustry' name: $ref: '#/components/schemas/MerchantName' region: $ref: '#/components/schemas/MerchantRegion' phone: $ref: '#/components/schemas/MerchantPhone' postalCode: $ref: '#/components/schemas/MerchantPostalCode' serialNumber: $ref: '#/components/schemas/MerchantSerialNumber' mid: $ref: '#/components/schemas/MerchantMID' cardTypes: $ref: '#/components/schemas/MerchantCardTypesArray' qrPayConfig: $ref: '#/components/schemas/QRPayConfig' server: $ref: '#/components/schemas/Server' credential: type: object properties: accessToken: $ref: '#/components/schemas/CredentialAccessToken' apiSerialNumber: $ref: '#/components/schemas/CredentialApiSerialNumber' apiPassword: $ref: '#/components/schemas/CredentialAuthToken' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' example: result: - error: longText: Invalid QR Code - not found primaryCode: 9870 secondaryCode: 1 shortText: QR PAY ERROR server: name: U2API01CE '504': $ref: '#/components/responses/TimeoutResponse' /qrpayments/getqrpaymentstatus: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - QR Payments summary: Get QR Payment Status operationId: getqrpaymentstatus security: - AccessToken: [] description: > This endpoint is used to poll for the status of the QR code payment. **Integration Methods:** - Host Direct - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - qrCode properties: dateTime: $ref: '#/components/schemas/DateTime' qrCode: $ref: '#/components/schemas/QRCodeRequest' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' card: $ref: '#/components/schemas/CardResponse' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstNameResponse' lastName: $ref: '#/components/schemas/CustomerLastNameResponse' clerk: $ref: '#/components/schemas/ClerkResponse' merchant: $ref: '#/components/schemas/MerchantResponse' receipt: $ref: '#/components/schemas/ReceiptArray' server: $ref: '#/components/schemas/Server' signature: $ref: '#/components/schemas/Signature' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: >- #/components/schemas/TransactionResponseCodeQRPaymentStatus saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' amex: $ref: '#/components/schemas/TransactionAmex' avs: $ref: '#/components/schemas/AVS' universalToken: $ref: '#/components/schemas/UniversalToken' examples: QRPAYSUCCESS: summary: QR Payment Processed Successfully value: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: cashback: 20 tax: 15 tip: 20 total: 160 card: entryMode: '1' expirationDate: 1222 number: XXXXXXXXXXXX1119 present: 'N' token: value: '8048471746471119' type: VS clerk: numericId: 1576 customer: firstName: John lastName: Smith merchant: mid: 15877 name: Merchant XYZ receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: KEYED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED server: name: UTGAPI01CE transaction: authorizationCode: OK126Z authSource: E invoice: '192029' responseCode: A saleFlag: S '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' example: result: - error: longText: QR Pay is Cancelled - unable to process request primaryCode: 9870 secondaryCode: 6 shortText: QR PAY ERROR server: name: U2API01CE '504': $ref: '#/components/responses/TimeoutResponse' /qrpayments/cancelqrpayment: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL post: tags: - QR Payments summary: Cancel QR Payment operationId: cancelqrpayment security: - AccessToken: [] description: > This endpoint is used to cancel a QR code payment. If the payment was already processed the transaction will be reversed. If the payment has not yet processed it will prevent the QR code from being used to process a payment. **Integration Methods:** - Host Direct - Locally Installed UTG See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - qrCode properties: dateTime: $ref: '#/components/schemas/DateTime' qrCode: $ref: '#/components/schemas/QRCodeRequest' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' transaction: type: object properties: responseCode: $ref: >- #/components/schemas/TransactionResponseCodeQRCancel merchant: type: object properties: serialNumber: $ref: '#/components/schemas/MerchantSerialNumber' mid: $ref: '#/components/schemas/MerchantMID' name: $ref: '#/components/schemas/MerchantName' server: $ref: '#/components/schemas/Server' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' example: result: - error: longText: Invalid QR Code - not found primaryCode: 9870 secondaryCode: 1 shortText: QR PAY ERROR server: name: U2API01CE '504': $ref: '#/components/responses/TimeoutResponse' /mode/offline: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL post: tags: - Mode summary: Go Offline operationId: modeoffline security: - AccessToken: [] description: > This function is used to put UTG/Commerce Engine into offline mode. UTG/Commerce Engine will be configured to set a maximum duration for how long it will stay in offline mode in order to prevent UTG/Commerce Engine from staying offline indefinitely if the Interface Vendor does not send the go online request. Note: To utilize this feature with UTG, you must be running UTG version 3080 or later. UTG can be configured to disable this feature, which will prevent the API request from putting UTG into offline mode. **Integration Methods:** - Locally Installed UTG - Commerce Engine For On Premise See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime properties: dateTime: $ref: '#/components/schemas/DateTime' responses: '200': description: Go Offline request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceMode' server: $ref: '#/components/schemas/Server' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/AuthTokenNotValidError' '504': $ref: '#/components/responses/TimeoutResponse' /mode/online: servers: - url: https://192.168.1.10:277/api/rest/v1 description: Locally Installed UTG URL - url: https://192.168.1.20:8085/api/rest/v1 description: Commerce Engine For On Premise URL post: tags: - Mode summary: Go Online operationId: modeonline security: - AccessToken: [] description: > This function is used to bring UTG/Commerce Engine out of offline mode after putting UTG/Commerce Engine into offline mode via the [Go Online](/apis/payments-platform-rest/openapi/mode/modeoffline) request. Note: To utilize this feature with UTG, you must be running UTG version 3080 or later. **Integration Methods:** - Locally Installed UTG - Commerce Engine For On Premise See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime properties: dateTime: $ref: '#/components/schemas/DateTime' responses: '200': description: Go Online request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceMode' server: $ref: '#/components/schemas/Server' '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' server: $ref: '#/components/schemas/Server' examples: Error: $ref: '#/components/examples/AuthTokenNotValidError' '504': $ref: '#/components/responses/TimeoutResponse' /risk/assess: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - Risk summary: Risk Assess operationId: riskassess security: - AccessToken: [] description: > Used to check the level of risk before processing a transaction. Risk assessment returns four possible values: approve, deny, escalate and review. If the risk transaction is approved or review, you will be able to make a payment call with the risk assessment, risk id and transaction id you get in response. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/risk_assess_unencryptedcard' - $ref: '#/components/schemas/risk_assess_token_gtv' responses: '200': description: Risk assessment was processed content: application/json: schema: properties: result: type: array items: type: object required: - dateTime - amount - risk - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object required: - total properties: total: $ref: '#/components/schemas/AmountTotal' card: type: object properties: token: $ref: '#/components/schemas/CardTokenResponse' merchant: $ref: '#/components/schemas/MerchantResponse' risk: type: object required: - tranId - assessment properties: tranId: $ref: '#/components/schemas/RiskTranId' assessment: $ref: '#/components/schemas/RiskAssessment' transaction: type: object required: - s4RiskId - invoice properties: s4RiskId: $ref: '#/components/schemas/TransactionS4RiskId' invoice: $ref: '#/components/schemas/TransactionInvoice' orderId: $ref: '#/components/schemas/TransactionOrderId' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 76001.99 card: token: value: '8058471748284111' merchant: mid: 15877 name: Merchant XYZ risk: tranId: DDWT0P3LG6LL assessment: A transaction: s4RiskId: EC52377F-5A8E-4534-BE7A-CF779A35BE45 invoice: '0207123502' orderId: orderId '400': description: Error content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' transaction: type: object properties: s4RiskId: $ref: '#/components/schemas/TransactionS4RiskId' invoice: $ref: '#/components/schemas/TransactionInvoice' hostResponse: type: object properties: reasonCode: $ref: >- #/components/schemas/HostResponseReasonCodeRisk reasonDescription: $ref: >- #/components/schemas/HostResponseReasonDescriptionRisk orderId: $ref: '#/components/schemas/TransactionOrderId' example: result: - error: longText: format error primaryCode: 9151 secondaryCode: 0 shortText: format error transaction: s4RiskId: EC52377F-5A8E-4534-BE7A-CF779A35BE45 invoice: '0207123502' orderId: orderId hostResponse: reasonCode: '232' reasonDescription: The credit card information is missing '504': description: Timeout content: application/json: schema: properties: result: type: array items: type: object properties: error: $ref: '#/components/schemas/Error' transaction: type: object properties: s4RiskId: $ref: '#/components/schemas/TransactionS4RiskId' invoice: $ref: '#/components/schemas/TransactionInvoice' orderId: $ref: '#/components/schemas/TransactionOrderId' example: result: - error: longText: Timeout waiting for response across the internet primaryCode: 9951 secondaryCode: 0 shortText: RESPONSE TIMEOUT transaction: s4RiskId: EC52377F-5A8E-4534-BE7A-CF779A35BE45 invoice: '0207123502' orderId: orderId /paypal/initiate: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - PayPal summary: PayPal Initiate operationId: paypalinitiate security: - AccessToken: [] description: > This request initiates a PayPal transaction. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - amount - currencyCode - customer - dateTime - sourceIp - transaction properties: amount: type: object required: - tax - total properties: tax: $ref: '#/components/schemas/AmountTax' total: $ref: '#/components/schemas/AmountTotal' currencyCode: $ref: '#/components/schemas/CurrencyCode' customer: type: object required: - addressLine1 - city - country - emailAddress - firstName - lastName - ipAddress - phoneNumber - phoneCountry - region - externalId - enrollDate properties: addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' city: $ref: '#/components/schemas/CustomerCity' country: $ref: '#/components/schemas/CustomerCountry' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' phoneNumber: $ref: '#/components/schemas/CustomerPhoneNumber' phoneCountry: $ref: '#/components/schemas/CustomerPhoneCountry' region: $ref: '#/components/schemas/CustomerRegion' externalId: $ref: '#/components/schemas/CustomerExternalId' enrollDate: $ref: '#/components/schemas/CustomerEnrollDate' dateTime: $ref: '#/components/schemas/DateTime' sourceIp: $ref: '#/components/schemas/SourceIP' transaction: type: object required: - invoice - vendorReference properties: invoice: $ref: '#/components/schemas/TransactionInvoice' ota: $ref: '#/components/schemas/OTARequestPayPal' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object required: - amount - dateTime - payPal - server - transaction properties: amount: type: object required: - tax - total properties: tax: $ref: '#/components/schemas/AmountTax' total: $ref: '#/components/schemas/AmountTotal' dateTime: $ref: '#/components/schemas/DateTime' payPal: type: object required: - clientToken properties: clientMetaDataId: $ref: '#/components/schemas/PayPalClientMetaDataId' clientToken: $ref: '#/components/schemas/PayPalClientToken' server: type: object required: - name properties: name: $ref: '#/components/schemas/ServerName' transaction: type: object required: - authSource - invoice properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' /paypal/sale: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - PayPal summary: PayPal Sale Transaction operationId: paypalsale security: - AccessToken: [] description: > This authorizes and captures the transaction. In addition, it will return a payload that includes the transaction's sale details. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - amount - transaction - sourceIp - customer - currencyCode - payPal properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object required: - total properties: total: $ref: '#/components/schemas/AmountTotal' payPal: type: object required: - payerId - paymentMethodNonce - deviceData properties: payerId: $ref: '#/components/schemas/PayPalPayerId' paymentMethodNonce: $ref: '#/components/schemas/PayPalPaymentMethodNonce' paymentMethodIdUsage: $ref: '#/components/schemas/PayPalPaymentMethodIdUsage' deviceData: $ref: '#/components/schemas/PayPalDeviceData' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' airline: $ref: '#/components/schemas/AirlineRequestPayPal' notes: $ref: '#/components/schemas/TransactionNotes' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' currencyCode: $ref: '#/components/schemas/CurrencyCode' sourceIp: $ref: '#/components/schemas/SourceIP' customer: type: object required: - browserType properties: browserType: $ref: '#/components/schemas/CustomerBrowserType' example: dateTime: '2022-04-14T13:31:52.023807' amount: total: 15 currencyCode: USD transaction: invoice: '0414133134' payPal: payerId: 6CB2GS6AQRS5S paymentMethodNonce: fd66f90e-c8ec-0363-6b45-aeb930175e43 deviceData: '{"correlation_id":"010e4 a744d78644f971fc5f9dc1c43aa"}' sourceIp: 10.249.11.254 customer: browserType: Mozilla 5.0 responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object required: - payPal - dateTime - amount - transaction - server properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object required: - total properties: total: $ref: '#/components/schemas/AmountTotal' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object required: - authSource - invoice - responseCode properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' server: type: object required: - name properties: name: $ref: '#/components/schemas/ServerName' payPal: type: object required: - transactionId - legacyId - authorizationId - captureId - orderId - status properties: transactionId: $ref: '#/components/schemas/PayPalTransactionId' legacyId: $ref: '#/components/schemas/PayPalLegacyId' orderId: $ref: '#/components/schemas/PayPalOrderId' status: $ref: '#/components/schemas/PayPalStatus' authorizationId: $ref: '#/components/schemas/PayPalAuthorizationId' captureId: $ref: '#/components/schemas/PayPalCaptureId' paymentMethodId: $ref: '#/components/schemas/PayPalPaymentMethodId' example: result: - dateTime: '2022-04-14T12:18:26.717923-07:00' merchant: mid: 15877 name: Merchant XYZ transaction: authSource: A invoice: '0414151800' responseCode: A server: name: WH-APM-V01.PPDEV1 payPal: transactionId: dHJhbnNhY3Rpb25fazd6cDB5ZzA legacyId: k7zp0yg0 orderId: 444106-8010720-0414151800-4371 authorizationId: 6W6361048T1775802 captureId: 3EK61497JE2934158 status: SETTLING paymentMethodId: dda7z0fq amount: total: 15 /paypal/refund: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - PayPal summary: PayPal Refund Transaction operationId: paypalrefund security: - AccessToken: [] description: > This refunds a settled transaction. In addition, it will return a payload that includes the transaction’s refund details. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - amount - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object required: - total properties: total: $ref: '#/components/schemas/AmountTotal' transaction: type: object required: - invoice - originalInvoice - originalDate properties: invoice: $ref: '#/components/schemas/TransactionInvoice' originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' originalDate: $ref: '#/components/schemas/TransactionOriginalDate' example: dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 15 transaction: invoice: '0414151837' originalInvoice: '0414151800' originalDate: '2022-04-14T00:00:00-04:00' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object required: - dateTime - amount - transaction - server - payPal properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object required: - total properties: total: $ref: '#/components/schemas/AmountTotal' merchant: $ref: '#/components/schemas/MerchantResponse' payPal: type: object required: - transactionId - legacyId - orderId - status properties: transactionId: $ref: '#/components/schemas/PayPalTransactionId' legacyId: $ref: '#/components/schemas/PayPalLegacyId' orderId: $ref: '#/components/schemas/PayPalOrderId' status: $ref: '#/components/schemas/PayPalStatus' transaction: type: object required: - authSource - invoice - responseCode properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCode' server: type: object required: - name properties: name: $ref: '#/components/schemas/ServerName' example: result: - dateTime: '2022-04-14T12:18:47.515770-07:00' amount: total: 15 merchant: mid: 15877 name: Merchant XYZ transaction: authSource: A invoice: '0414151837' responseCode: A payPal: transactionId: cmVmdW5kX2s4dDRkZGEx legacyId: k8t4dda1 orderId: 444106-8010720-0414151837-4372 status: SETTLING server: name: WH-APM-V01.PPDEV1 /3dsecure/standalone: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - 3D Secure summary: 3D Secure Standalone operationId: 3dsecurestandalone security: - AccessToken: [] description: > This function is used to process a request via the 3D Secure process without authorizing the payment. This will return the result of the 3D Secure process as well as the 3D Secure data that can then be used to process a payment via the [Authorization](/apis/payments-platform-rest/openapi/transactions/transactionsauthorization) or [Sale/Purchase](/apis/payments-platform-rest/openapi/transactions/transactionssale) endpoint. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/3dsecure_standalone_cardnumber' - $ref: '#/components/schemas/3dsecure_standalone_token_gtv' responses: '200': description: Request was processed content: application/json: schema: oneOf: - title: Request Complete properties: result: type: array items: type: object required: - dateTime - amount - currencyCode properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' currencyCode: $ref: '#/components/schemas/CurrencyCode' card: $ref: '#/components/schemas/CardResponse' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' phoneNumber: $ref: '#/components/schemas/CustomerPhoneNumber' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' city: $ref: '#/components/schemas/CustomerCity' region: $ref: '#/components/schemas/CustomerRegion' postalCode: $ref: '#/components/schemas/CustomerPostalCode' country: $ref: '#/components/schemas/CustomerCountry' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' shipping: $ref: >- #/components/schemas/CustomerShipping3DSecure merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' hostResponse: $ref: '#/components/schemas/HostResponse' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: >- #/components/schemas/TransactionResponseCode3DSStandalone retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReference avs: $ref: '#/components/schemas/AVS' threeDSecure: type: object properties: trxId: $ref: '#/components/schemas/ThreeDSecureTrxId' cardholderInfo: $ref: >- #/components/schemas/ThreeDSecureCardholderInfo cryptogram: $ref: '#/components/schemas/ThreeDSecureCryptogram' programProtocol: $ref: >- #/components/schemas/ThreeDSecureProgramProtocol directoryServerTranId: $ref: >- #/components/schemas/ThreeDSecureDirectoryServerTranId ecommIndicator: $ref: >- #/components/schemas/ThreeDSecureEcommIndicator securityLevelIndicator: $ref: >- #/components/schemas/ThreeDSecureSecurityLevelIndicator receipt: $ref: '#/components/schemas/ReceiptArray' server: $ref: '#/components/schemas/Server' universalToken: $ref: '#/components/schemas/UniversalToken' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' example: dateTime: '2022-05-04T09:20:04.487-07:00' amount: tax: 15 total: 160 currencyCode: EUR card: entryMode: M number: XXXXXXXXXXXX1119 present: 'N' securityCode: result: M valid: 'Y' token: value: '8048471746471119' type: VS customer: firstName: John lastName: Smith addressLine1: 65 Easy St city: Las Vegas postalCode: '65144' emailAddress: firstname.lastname@email.com ipAddress: 63.57.84.101 merchant: mid: 15877 name: Merchant XYZ threeDSecure: trxId: a7bbd49a-ffe6-49b2-8a92-541f0a3b053d cryptogram: >- AAAAAAAA/COBt84dnIEcwAA3gAAGhgEDoLABAAhAgAABAAAALnNCLw== programProtocol: '2' directoryServerTranId: 07e54000-2721-4df9-aa51-04fa0e079aa8 ecommIndicator: '5' server: name: TM01CE transaction: authSource: A avs: postalCodeVerified: 'N' result: A streetVerified: 'Y' valid: 'Y' invoice: '730518' responseCode: A retrievalReference: 402F9H0230S0 receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: KEYED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED - title: Device Fingerprint properties: result: type: array items: type: object required: - dateTime - amount - currencyCode - threeDSecure - redirectUrl properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' currencyCode: $ref: '#/components/schemas/CurrencyCode' card: $ref: '#/components/schemas/CardResponse3DSChallenge' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' phoneNumber: $ref: '#/components/schemas/CustomerPhoneNumber' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' city: $ref: '#/components/schemas/CustomerCity' region: $ref: '#/components/schemas/CustomerRegion' postalCode: $ref: '#/components/schemas/CustomerPostalCode' country: $ref: '#/components/schemas/CustomerCountry' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' shipping: $ref: >- #/components/schemas/CustomerShipping3DSecure merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: >- #/components/schemas/TransactionResponseCode3DSFingerprint retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReference threeDSecure: type: object required: - trxId properties: trxId: $ref: '#/components/schemas/ThreeDSecureTrxId' redirectUrl: $ref: '#/components/schemas/RedirectURL3DSResponse' server: $ref: '#/components/schemas/Server' example: dateTime: '2022-05-04T09:20:04.487-07:00' amount: tax: 15 total: 160 currencyCode: EUR card: entryMode: M number: XXXXXXXXXXXX1119 present: 'N' type: VS token: value: '8048471746471119' customer: firstName: John lastName: Smith addressLine1: 65 Easy St city: Las Vegas postalCode: '65144' emailAddress: firstname.lastname@email.com ipAddress: 63.57.84.101 merchant: mid: 15877 name: Merchant XYZ transaction: authSource: A invoice: '730518' responseCode: H retrievalReference: 402F9H0230S0 redirectUrl: https://issuer.com/fingerprint threeDSecure: trxId: a7bbd49a-ffe6-49b2-8a92-541f0a3b053d server: name: TM01CE - title: 3D Secure Challenge properties: result: type: array items: type: object required: - dateTime - amount - currencyCode - threeDSecure - redirectUrl properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' currencyCode: $ref: '#/components/schemas/CurrencyCode' card: $ref: '#/components/schemas/CardResponse3DSChallenge' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' phoneNumber: $ref: '#/components/schemas/CustomerPhoneNumber' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' city: $ref: '#/components/schemas/CustomerCity' region: $ref: '#/components/schemas/CustomerRegion' postalCode: $ref: '#/components/schemas/CustomerPostalCode' country: $ref: '#/components/schemas/CustomerCountry' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' shipping: $ref: >- #/components/schemas/CustomerShipping3DSecure merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: >- #/components/schemas/TransactionResponseCode3DSChallenge retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReference threeDSecure: type: object required: - trxId properties: trxId: $ref: '#/components/schemas/ThreeDSecureTrxId' redirectUrl: $ref: '#/components/schemas/RedirectURL3DSResponse' server: $ref: '#/components/schemas/Server' example: dateTime: '2022-05-04T09:20:04.487-07:00' amount: tax: 15 total: 160 currencyCode: EUR card: entryMode: M number: XXXXXXXXXXXX1119 present: 'N' type: VS token: value: '8048471746471119' customer: firstName: John lastName: Smith addressLine1: 65 Easy St city: Las Vegas postalCode: '65144' emailAddress: firstname.lastname@email.com ipAddress: 63.57.84.101 merchant: mid: 15877 name: Merchant XYZ transaction: authSource: A invoice: '730518' responseCode: G retrievalReference: 402F9H0230S0 redirectUrl: https://issuer.com/challenge server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponse3DSecure' '504': $ref: '#/components/responses/TimeoutResponse' /3dsecure/completion: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - 3D Secure summary: 3D Secure Completion operationId: 3dsecurecompletion security: - AccessToken: [] description: > This endpoint is utilized to send the status of the device fingerprint. This must be sent whenever the response to the [3D Secure Standalone](/apis/payments-platform-rest/openapi/3d-secure/3dsecurestandalone) results in a device fingerprint required. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - transaction - threeDSecure properties: dateTime: $ref: '#/components/schemas/DateTime' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object required: - invoice properties: invoice: $ref: '#/components/schemas/TransactionInvoice' threeDSecure: type: object required: - trxId - compInd properties: trxId: $ref: '#/components/schemas/ThreeDSecureTrxId' compInd: $ref: '#/components/schemas/ThreeDSecureCompInd' example: dateTime: '2022-05-04T09:20:04.487-07:00' merchant: mid: 15877 name: Merchant XYZ transaction: invoice: '730518' threeDSecure: trxId: a7bbd49a-ffe6-49b2-8a92-541f0a3b053d compInd: 'Y' responses: '200': description: Transaction was processed content: application/json: schema: oneOf: - title: Transaction Complete properties: result: type: array items: type: object required: - dateTime - amount - currencyCode - card - customer - transaction properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' currencyCode: $ref: '#/components/schemas/CurrencyCode' card: $ref: '#/components/schemas/CardResponse' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' phoneNumber: $ref: '#/components/schemas/CustomerPhoneNumber' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' city: $ref: '#/components/schemas/CustomerCity' region: $ref: '#/components/schemas/CustomerRegion' postalCode: $ref: '#/components/schemas/CustomerPostalCode' country: $ref: '#/components/schemas/CustomerCountry' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authorizationCode: $ref: >- #/components/schemas/TransactionAuthorizationCode authSource: $ref: '#/components/schemas/TransactionAuthSource' hostResponse: $ref: '#/components/schemas/HostResponse' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: >- #/components/schemas/TransactionResponseCode3DSStandalone retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReference saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' avs: $ref: '#/components/schemas/AVS' cardOnFile: $ref: '#/components/schemas/CardOnFile' threeDSecure: type: object properties: trxId: $ref: '#/components/schemas/ThreeDSecureTrxId' cardholderInfo: $ref: >- #/components/schemas/ThreeDSecureCardholderInfo receipt: $ref: '#/components/schemas/ReceiptArray' server: $ref: '#/components/schemas/Server' universalToken: $ref: '#/components/schemas/UniversalToken' cardBrandToken: $ref: '#/components/schemas/CardBrandToken' example: dateTime: '2022-05-04T09:20:04.487-07:00' amount: tax: 15 total: 160 currencyCode: EUR card: entryMode: M number: XXXXXXXXXXXX1119 present: 'N' securityCode: result: M valid: 'Y' token: value: '8048471746471119' type: VS customer: firstName: John lastName: Smith addressLine1: 65 Easy St city: Las Vegas postalCode: '65144' emailAddress: firstname.lastname@email.com ipAddress: 63.57.84.101 merchant: mid: 15877 name: Merchant XYZ server: name: TM01CE transaction: authorizationCode: OK868Z authSource: A avs: postalCodeVerified: 'N' result: A streetVerified: 'Y' valid: 'Y' invoice: '730518' responseCode: A retrievalReference: 402F9H0230S0 saleFlag: S receipt: - key: CardEntryMode printName: ENTRY METHOD printValue: KEYED - key: MaskedPAN printValue: XXXXXXXXXXXX1119 - key: SignatureRequired printValue: 'Y' - key: TransactionResponse printName: Response printValue: APPROVED - title: 3D Secure Challenge properties: result: type: array items: type: object required: - dateTime - amount - currencyCode - card - customer - transaction - threeDSecure - redirectUrl properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/Amount' currencyCode: $ref: '#/components/schemas/CurrencyCode' card: $ref: '#/components/schemas/CardResponse3DSChallenge' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstName' lastName: $ref: '#/components/schemas/CustomerLastName' phoneNumber: $ref: '#/components/schemas/CustomerPhoneNumber' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' addressLine1: $ref: '#/components/schemas/CustomerAddressLine1' city: $ref: '#/components/schemas/CustomerCity' region: $ref: '#/components/schemas/CustomerRegion' postalCode: $ref: '#/components/schemas/CustomerPostalCode' country: $ref: '#/components/schemas/CustomerCountry' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSource' invoice: $ref: '#/components/schemas/TransactionInvoice' responseCode: $ref: >- #/components/schemas/TransactionResponseCode3DSChallenge retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReference saleFlag: $ref: '#/components/schemas/TransactionSaleFlag' cardOnFile: $ref: '#/components/schemas/CardOnFile' threeDSecure: type: object required: - trxId properties: trxId: $ref: '#/components/schemas/ThreeDSecureTrxId' redirectUrl: $ref: '#/components/schemas/RedirectURL3DSResponse' server: $ref: '#/components/schemas/Server' example: dateTime: '2022-05-04T09:20:04.487-07:00' amount: tax: 15 total: 160 currencyCode: EUR card: entryMode: M number: XXXXXXXXXXXX1119 present: 'N' type: VS token: value: '8048471746471119' customer: firstName: John lastName: Smith addressLine1: 65 Easy St city: Las Vegas postalCode: '65144' emailAddress: firstname.lastname@email.com ipAddress: 63.57.84.101 merchant: mid: 15877 name: Merchant XYZ transaction: authSource: A invoice: '730518' responseCode: G retrievalReference: 402F9H0230S0 saleFlag: S threeDSecure: trxId: a7bbd49a-ffe6-49b2-8a92-541f0a3b053d redirectUrl: https://issuer.com/challenge server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponse3DSecure' '504': $ref: '#/components/responses/TimeoutResponse' /oct/payout: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - OCT summary: OCT Payout operationId: octpayout security: - AccessToken: [] description: > Used to process an original credit transaction to transfer funds from the merchant to the recipient. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/oct_payout_unencryptedcard' - $ref: '#/components/schemas/oct_payout_token_gtv' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. properties: total: $ref: '#/components/schemas/AmountTotal' fee: $ref: '#/components/schemas/AmountFeeOCT' card: type: object properties: number: $ref: '#/components/schemas/CardMaskedNumber' type: $ref: '#/components/schemas/CardTypeResp' token: $ref: '#/components/schemas/CardTokenResponse' customer: type: object properties: firstName: $ref: '#/components/schemas/CustomerFirstNameResponse' lastName: $ref: '#/components/schemas/CustomerLastNameResponse' emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' ipAddress: $ref: '#/components/schemas/CustomerIpAddress' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' invoice: $ref: >- #/components/schemas/TransactionInvoiceAlphanumeric responseCode: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A - D description: > Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- A | Approved | The transaction is approved. D | Declined | The transaction is declined. hostResponse: $ref: '#/components/schemas/HostResponseOCT' retrievalReference: $ref: >- #/components/schemas/TransactionRetrievalReferenceOCT vendorReference: $ref: '#/components/schemas/TransactionVendorReference' example: result: - dateTime: '2021-04-15T09:18:23.283-07:00' amount: total: 160 card: number: XXXXXXXXXXXX1119 type: VS token: value: '8048471746471119' customer: firstName: John lastName: Smith emailAddress: johnsmith@email.com ipAddress: 63.57.84.101 merchant: mid: 15877 name: Merchant XYZ server: name: TM01CE transaction: authSource: A invoice: '192029' responseCode: A retrievalReference: ICTN-178768-233-79170-FUX '400': $ref: '#/components/responses/ErrorResponseOCT' '504': $ref: '#/components/responses/TimeoutResponseOCT' /oct/updaterecipient: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - OCT summary: OCT Update Recipient operationId: octupdaterecipient security: - AccessToken: [] description: > Used to update the OCT recipient email address. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - customer - sourceIp properties: dateTime: $ref: '#/components/schemas/DateTime' customer: type: object required: - emailAddress - newEmailAddress properties: emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' newEmailAddress: $ref: '#/components/schemas/CustomerNewEmailAddress' sourceIp: $ref: '#/components/schemas/SourceIP' example: dateTime: '2021-04-15T09:18:23.283-07:00' sourceIp: 63.57.84.101 customer: emailAddress: oldaddress@email.com newEmailAddress: newaddress@email.com responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' customer: type: object properties: emailAddress: $ref: '#/components/schemas/CustomerEmailAddress' newEmailAddress: $ref: '#/components/schemas/CustomerNewEmailAddress' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: type: string minLength: 1 maxLength: 1 readOnly: true example: A enum: - A description: > Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- A | Approved | The request is approved. server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2022-05-10T06:34:25.049-07:00' customer: emailAddress: firstname.lastname@email.com newEmailAddress: firstname.lastname@email.com merchant: mid: 15877 name: Merchant XYZ transaction: authSource: A responseCode: A server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponseOCT' '504': $ref: '#/components/responses/TimeoutResponseOCT' /ach/verify: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - ACH summary: ACH Verify operationId: achverify security: - AccessToken: [] description: > Used to verify an ach bank account prior to sending an ACH sale/refund transaction. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: type: object required: - dateTime - ach - sourceIp properties: dateTime: $ref: '#/components/schemas/DateTime' ach: type: object required: - accountNumber - routingNumber - accountType - verificationType - accountHolderName properties: accountNumber: $ref: '#/components/schemas/ACHAccountNumber' routingNumber: $ref: '#/components/schemas/ACHRoutingNumber' accountType: $ref: '#/components/schemas/ACHAccountType' verificationType: $ref: '#/components/schemas/ACHVerificationTypePrenotification' accountHolderName: $ref: '#/components/schemas/ACHAccountHolderName' sourceIp: $ref: '#/components/schemas/SourceIP' transaction: type: object properties: vendorReference: $ref: '#/components/schemas/TransactionVendorReference' example: dateTime: '2023-02-08T09:18:23.283-07:00' ach: accountNumber: '1234567890' routingNumber: '121000248' accountType: PC verificationType: P accountHolderName: John Smith sourceIp: 172.110.166.244 responses: '200': description: Transaction was processed content: application/json: schema: type: object properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' token: $ref: '#/components/schemas/TokenACH' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: $ref: >- #/components/schemas/TransactionResponseCodeACHPending vendorReference: $ref: '#/components/schemas/TransactionVendorReference' merchant: $ref: '#/components/schemas/MerchantResponse' notificationId: $ref: '#/components/schemas/NotificationId' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2023-02-08T09:18:23.283-07:00' merchant: mid: 15877 name: Merchant XYZ token: value: '9829283019231234' type: ACH transaction: authSource: A responseCode: P notificationId: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponseACH' '504': $ref: '#/components/responses/TimeoutResponseACH' /ach/sale: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - ACH summary: ACH Sale operationId: achsale security: - AccessToken: [] description: > Used to process an ach sale transaction. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/ach_sale_bankaccount' - $ref: '#/components/schemas/ach_sale_token_gtv' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. properties: total: $ref: '#/components/schemas/AmountTotal' token: $ref: '#/components/schemas/TokenACH' ach: type: object properties: balanceVerificationResult: $ref: >- #/components/schemas/ACHBalanceVerificationResult merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' invoice: $ref: >- #/components/schemas/TransactionInvoiceAlphanumeric responseCode: $ref: '#/components/schemas/TransactionResponseCodeACH' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' notificationId: $ref: '#/components/schemas/NotificationId' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2023-02-08T09:18:23.283-07:00' amount: total: 135.87 merchant: mid: 15877 name: Merchant XYZ token: value: '9829283019231234' type: ACH ach: balanceVerificationResult: VS transaction: authSource: A invoice: '192029' responseCode: P notificationId: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponseACH' '504': $ref: '#/components/responses/TimeoutResponseACH' /ach/refund: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - ACH summary: ACH Refund operationId: achrefund security: - AccessToken: [] description: > Used to process an ach refund transaction. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/ach_refund_bankaccount' - $ref: '#/components/schemas/ach_refund_token_gtv' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object description: > Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested. properties: total: $ref: '#/components/schemas/AmountTotal' merchant: $ref: '#/components/schemas/MerchantResponse' token: $ref: '#/components/schemas/TokenACH' server: $ref: '#/components/schemas/Server' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' invoice: $ref: >- #/components/schemas/TransactionInvoiceAlphanumeric originalInvoice: $ref: '#/components/schemas/TransactionOriginalInvoice' responseCode: $ref: '#/components/schemas/TransactionResponseCodeACH' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' notificationId: $ref: '#/components/schemas/NotificationId' example: result: - dateTime: '2023-02-08T09:18:23.283-07:00' amount: total: 135.87 merchant: mid: 15877 name: Merchant XYZ token: value: '9829283019231234' type: ACH transaction: authSource: A invoice: '192030' originalInvoice: '192029' responseCode: P notificationId: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponseACH' '504': $ref: '#/components/responses/TimeoutResponseACH' /ach/plaid/link_token/create: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - ACH summary: Create Plaid Link Token operationId: achplaidlinktokencreate security: - AccessToken: [] description: > Used to create a Plaid Link token to use with the Plaid Link UI. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - plaid properties: dateTime: $ref: '#/components/schemas/DateTime' plaid: type: object required: - client_user_id properties: client_user_id: $ref: '#/components/schemas/ACHPlaidLinkTokenClientUserId' language: $ref: '#/components/schemas/ACHPlaidLinkTokenLanguage' redirectUrl: $ref: '#/components/schemas/ACHPlaidLinkTokenRedirectUrl' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: $ref: >- #/components/schemas/TransactionResponseCodeACHPlaidLinkToken plaid: type: object properties: link_token: $ref: '#/components/schemas/ACHPlaidLinkToken' expiration: $ref: '#/components/schemas/ACHPlaidLinkTokenExpiration' client_user_id: $ref: >- #/components/schemas/ACHPlaidLinkTokenClientUserId server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2023-02-08T09:18:23.283-07:00' merchant: mid: 15877 name: Merchant XYZ transaction: authSource: A responseCode: S plaid: link_token: link-sandbox-bea285c1-ad79-4191-8d1b-aaf537f7df59 expiration: '2023-02-13T21:00:25Z' client_user_id: ae1a59fe-8646-4637-bbb8-d270856c508c server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponseACH' '504': $ref: '#/components/responses/TimeoutResponseACH' /ach/plaid/public_token/exchange: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - ACH summary: Plaid Public Token Exchange operationId: achplaidpublictokenexchange security: - AccessToken: [] description: > Used to create a Plaid Link token to use with the Plaid Link UI. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - ach - plaid properties: dateTime: $ref: '#/components/schemas/DateTime' ach: type: object required: - accountHolderName properties: accountHolderName: $ref: '#/components/schemas/ACHAccountHolderName' plaid: type: object required: - public_token - metadata properties: public_token: $ref: '#/components/schemas/ACHPlaidPublicToken' metadata: $ref: '#/components/schemas/ACHPlaidPublicTokenMetadata' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' merchant: $ref: '#/components/schemas/MerchantResponse' transaction: type: object properties: authSource: $ref: '#/components/schemas/TransactionAuthSourceAPM' responseCode: $ref: >- #/components/schemas/TransactionResponseCodeACHPlaidPublicTokenExchange notificationId: $ref: '#/components/schemas/NotificationId' ach: type: object properties: accountLastFour: $ref: '#/components/schemas/ACHAccountNumberLastFour' token: $ref: '#/components/schemas/TokenACH' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2023-02-08T09:18:23.283-07:00' merchant: mid: 15877 name: Merchant XYZ transaction: authSource: A responseCode: A notificationId: 6ca3c55e-1b7c-4cad-8ae2-cac052b5510d ach: accountLastFour: '7890' token: value: '9829283019231234' type: ACH server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponseACH' '504': $ref: '#/components/responses/TimeoutResponseACH' /updater/request: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - Updater summary: Account Update operationId: updaterrequest security: - AccessToken: [] description: > This function is used to request an account update for a set of tokens. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - cards properties: dateTime: $ref: '#/components/schemas/DateTime' cards: type: array minItems: 1 maxItems: 5000 description: | Array of card tokens items: type: object required: - token properties: token: description: > The token representing the card account number for which you are requesting an update. type: string maxLength: 16 example: - token: '8589410119524356' - token: '8048471746471119' - token: '8589410119529857' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' updaterRequestId: $ref: '#/components/schemas/UpdaterRequestId' '400': $ref: '#/components/responses/ErrorResponseUpdater' '504': $ref: '#/components/responses/TimeoutResponseUpdater' /updater/status: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - Updater summary: Account Update Status operationId: updaterstatus security: - AccessToken: [] description: > This function is used to request a status update to a previous [Account Update](/apis/payments-platform-rest/openapi/updater/updaterrequest) request for a set of tokens. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: required: - dateTime - updaterRequestId properties: dateTime: $ref: '#/components/schemas/DateTime' updaterRequestId: $ref: '#/components/schemas/UpdaterRequestId' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: cards: type: array description: | Array of card tokens items: type: object properties: token: $ref: '#/components/schemas/UpdaterToken' status: $ref: '#/components/schemas/UpdaterCardsStatus' expirationDate: $ref: '#/components/schemas/UpdaterExpirationDate' newExpirationDate: $ref: '#/components/schemas/UpdaterNewExpirationDate' newToken: $ref: '#/components/schemas/UpdaterNewToken' example: - token: '8589410119524356' status: A expirationDate: '0824' newToken: '8589410119524357' - token: '8048471746471119' status: B expirationDate: '0925' newExpirationDate: '1026' - token: '8589410119529857' status: E expirationDate: '1024' dateTime: $ref: '#/components/schemas/DateTime' merchant: $ref: '#/components/schemas/MerchantResponse' server: $ref: '#/components/schemas/Server' updaterRequestId: $ref: '#/components/schemas/UpdaterRequestId' updaterStatus: $ref: '#/components/schemas/UpdaterStatus' '400': $ref: '#/components/responses/ErrorResponseUpdater' '504': $ref: '#/components/responses/TimeoutResponseUpdater' /dcc/ratelookup: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - DCC summary: DCC Rate Lookup operationId: dccratelookup security: - AccessToken: [] description: > Used to look up the dynamic currency conversion rate. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/dcc_ratelookup_token_gtv' - $ref: '#/components/schemas/dcc_ratelookup_token_legacy' - $ref: '#/components/schemas/dcc_ratelookup_p2pe_idtech' - $ref: '#/components/schemas/dcc_ratelookup_p2pe_tdesdukpt_emv' - $ref: '#/components/schemas/dcc_ratelookup_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/dcc_ratelookup_p2pe_onguardsde_emv' - $ref: '#/components/schemas/dcc_ratelookup_p2pe_onguardsde_msr' - $ref: '#/components/schemas/dcc_ratelookup_unencryptedcard' responses: '200': description: Transaction was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: $ref: '#/components/schemas/AmountTotalOnly' card: type: object properties: expirationDate: $ref: '#/components/schemas/CardExpirationDateResponse' number: $ref: '#/components/schemas/CardMaskedNumber' securityCode: $ref: '#/components/schemas/CardSecurityCodeResponse' token: $ref: '#/components/schemas/CardTokenResponse' dcc: $ref: '#/components/schemas/DCCResponse' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2024-07-09T09:18:23.283-07:00' amount: total: 160 card: number: XXXXXXXXXXXX1119 token: value: '8048471746471119' dcc: rateTimeStamp: '2024-07-09T09:18:25.875-07:00' currencyCode: CAD foreignAmount: 180.23 conversionRate: '1.35' marginPercentage: '9.73' currencyMinorUnits: 2 transactionId: 1A2820D2G334 diffOverEcb: '2.85' displayUnit: 2 provider: GLOBAL_BLUE supportIndicator: '0' server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /rule/verify: servers: - url: https://api.shift4test.com/api/rest/v1 description: Host Direct Test URL - url: https://api.shift4api.net/api/rest/v1 description: Host Direct Production URL post: tags: - Rule summary: Rule Verification operationId: ruleverify security: - AccessToken: [] description: > Used to check for various processing rules such as surcharge eligibility. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/rules_verify_token_gtv' - $ref: '#/components/schemas/rules_verify_p2pe_idtech' - $ref: '#/components/schemas/rules_verify_p2pe_tdesdukpt_emv' - $ref: '#/components/schemas/rules_verify_p2pe_tdesdukpt_msr' - $ref: '#/components/schemas/rules_verify_p2pe_onguardsde_emv' - $ref: '#/components/schemas/rules_verify_p2pe_onguardsde_msr' - $ref: '#/components/schemas/rules_verify_unencryptedcard' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/DateTime' amount: type: object properties: total: type: number maxLength: 14 description: > The total amount being charged for a particular transaction. If the `ruleCheck` array contained `SURCHARGE` in the request and the card is surcharge eligible the `amount.total` value will be incremented by the `amount.surcharge` value. For example, if the rule verification request had `amount.total = 100` and the `surcharge.percentage` was 1.5%, the rule verification response would include `amount.total = 101.50` and `amount.surcharge = 1.50` surcharge: type: number maxLength: 14 description: > **Conditional: Returned if the `ruleCheck` array contained `SURCHARGE` in the request and the card is surcharge eligible.** The surcharge fee amount that can be applied to the transaction. The fee amount is also added into `amount.total`. For example, if the rule verification request had `amount.total = 100` and the `surcharge.percentage` was 1.5%, the rule verification response would include `amount.total = 101.50` and `amount.surcharge = 1.50` card: type: object properties: number: $ref: '#/components/schemas/CardMaskedNumber' token: $ref: '#/components/schemas/CardTokenResponse' type: $ref: '#/components/schemas/CardTypeResp' surcharge: type: object description: > Returned if the `ruleCheck` array contained `SURCHARGE` in the request. properties: result: $ref: '#/components/schemas/SurchargeResult' transactionId: $ref: '#/components/schemas/RulesTransactionId' percentage: $ref: '#/components/schemas/SurchargePercentage' transaction: type: object properties: invoice: $ref: '#/components/schemas/TransactionInvoice' vendorReference: $ref: '#/components/schemas/TransactionVendorReference' authSource: $ref: '#/components/schemas/TransactionAuthSource' merchant: $ref: '#/components/schemas/MerchantResponse' clerk: $ref: '#/components/schemas/ClerkOptional' currencyCode: $ref: '#/components/schemas/CurrencyCode' universalToken: $ref: '#/components/schemas/UniversalToken' server: $ref: '#/components/schemas/Server' example: result: - dateTime: '2024-05-21T09:18:23.283-07:00' amount: total: 163.2 surcharge: 3.2 card: number: XXXXXXXXXXXX1119 token: value: '8048471746471119' type: VS surcharge: result: P transactionId: string percentage: 2 transaction: invoice: '0510093358' vendorReference: 12382-01 merchant: mid: 15877 name: Merchant XYZ server: name: TM01CE '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /paymentlinks/create: post: servers: - url: https://api.shift4.com/api/rest/v1 description: Host Direct URL tags: - Payment Links summary: Create Link operationId: paymentslinkcreate security: - AccessToken: [] description: > Used to send out a link via the Payment Links system Set `paymentLink.type` to choose the flow: - `line_items` (default) — a standard payment flow. Provide the products in `paymentLink.lineItems`. - `card_verification` — performs a $0 authorization to confirm the card is valid and save it on file **without** charging it. These links take **no** `lineItems`, but **require** `paymentLink.currency` and a `customer` (a new inline customer or an existing one referenced by `id`). **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' requestBody: required: true content: application/json: schema: type: object required: - paymentLink properties: paymentLink: $ref: '#/components/schemas/PaymentLinkRequest' customer: $ref: '#/components/schemas/PaymentLinksCustomer' metadata: $ref: '#/components/schemas/PaymentLinksMetadata' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/PaymentLinksDateTime' paymentLink: $ref: '#/components/schemas/PaymentLinkResponse' customer: $ref: '#/components/schemas/PaymentLinksCustomerResponse' metadata: $ref: '#/components/schemas/PaymentLinksMetadata' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /paymentlinks/list: get: servers: - url: https://api.shift4.com/api/rest/v1 description: Host Direct URL tags: - Payment Links summary: List Links operationId: paymentslinklist security: - AccessToken: [] description: > Used to retrieve a list of links via the Payment Links system **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/PaymentLinksLimit' - $ref: '#/components/parameters/PaymentLinksStartingAfterId' - $ref: '#/components/parameters/PaymentLinksEndingBeforeId' - $ref: '#/components/parameters/PaymentLinksDateTimeAfter' - $ref: '#/components/parameters/PaymentLinksDateTimeBefore' responses: '200': description: Request was processed content: application/json: schema: properties: hasMore: $ref: '#/components/schemas/PaymentLinksHasMore' result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/PaymentLinksDateTime' paymentLink: $ref: '#/components/schemas/PaymentLinkResponse' customer: $ref: '#/components/schemas/PaymentLinksCustomerResponse' metadata: $ref: '#/components/schemas/PaymentLinksMetadata' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /paymentlinks/retrieve: get: servers: - url: https://api.shift4.com/api/rest/v1 description: Host Direct URL tags: - Payment Links summary: Retrieve Link operationId: paymentslinkretrieve security: - AccessToken: [] description: > Used to retrieve a single link via the Payment Links system **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/PaymentLinksId' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/PaymentLinksDateTime' paymentLink: $ref: '#/components/schemas/PaymentLinkResponse' customer: $ref: '#/components/schemas/PaymentLinksCustomerResponse' metadata: $ref: '#/components/schemas/PaymentLinksMetadata' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /paymentlinks/update: post: servers: - url: https://api.shift4.com/api/rest/v1 description: Host Direct URL tags: - Payment Links summary: Update Link operationId: paymentslinkupdate security: - AccessToken: [] description: > Used to update an existing payment link. **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/PaymentLinksId' requestBody: required: true content: application/json: schema: type: object properties: paymentLink: $ref: '#/components/schemas/PaymentLinkUpdateRequest' metadata: $ref: '#/components/schemas/PaymentLinksMetadata' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/PaymentLinksDateTime' paymentLink: $ref: '#/components/schemas/PaymentLinkResponse' customer: $ref: '#/components/schemas/PaymentLinksCustomerResponse' metadata: $ref: '#/components/schemas/PaymentLinksMetadata' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /checkoutsessions/list: get: servers: - url: https://api.shift4.com/api/rest/v1 description: Host Direct URL tags: - Checkout Sessions summary: List Checkout Sessions operationId: checkoutsessionslist security: - AccessToken: [] description: > Used to retrieve a list of checkout sessions via the Payment Links system **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/PaymentLinksLimit' - $ref: '#/components/parameters/PaymentLinksStartingAfterId' - $ref: '#/components/parameters/PaymentLinksEndingBeforeId' - $ref: '#/components/parameters/PaymentLinksDateTimeAfter' - $ref: '#/components/parameters/PaymentLinksDateTimeBefore' - $ref: '#/components/parameters/PaymentLinksIdOptional' - $ref: '#/components/parameters/CheckoutSessionsStatus' responses: '200': description: Request was processed content: application/json: schema: properties: hasMore: $ref: '#/components/schemas/PaymentLinksHasMore' result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/PaymentLinksDateTime' paymentLink: type: object properties: id: $ref: '#/components/schemas/PaymentLinkId' checkoutSession: $ref: '#/components/schemas/CheckoutSessionResponse' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' /checkoutsessions/retrieve: get: servers: - url: https://api.shift4.com/api/rest/v1 description: Host Direct URL tags: - Checkout Sessions summary: Retrieve Checkout Session operationId: checkoutsessionsretrieve security: - AccessToken: [] description: > Used to retrieve a single checkout session via the Payment Links system **Integration Methods:** - Host Direct See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option. parameters: - $ref: '#/components/parameters/InterfaceVersion' - $ref: '#/components/parameters/InterfaceName' - $ref: '#/components/parameters/CompanyName' - $ref: '#/components/parameters/AccessToken' - $ref: '#/components/parameters/CheckoutSessionsId' responses: '200': description: Request was processed content: application/json: schema: properties: result: type: array items: type: object properties: dateTime: $ref: '#/components/schemas/PaymentLinksDateTime' checkoutSession: $ref: '#/components/schemas/CheckoutSessionResponse' '400': $ref: '#/components/responses/ErrorResponse' '504': $ref: '#/components/responses/TimeoutResponse' webhooks: ach-notification: post: tags: - ACH summary: Notification description: > This is an outbound HTTP POST message from the Shift4 gateway to the merchant's environment that provides status of the ach request. This notification request will be sent from Shift4 to the URL provided in the merchant's boarding configuration. This requires the interface vendor to establish a listening service to receive these requests. operationId: achnotification security: - {} requestBody: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/webhook_ach_verification_status_update' - $ref: '#/components/schemas/webhook_ach_sale_status_update' - $ref: '#/components/schemas/webhook_ach_refund_status_update' - $ref: '#/components/schemas/webhook_ach_dispute_initiated' - $ref: '#/components/schemas/webhook_ach_dispute_status_update' - $ref: '#/components/schemas/webhook_ach_distribute_status_update' responses: '200': description: > Return 200 status to indicate that the Notification was received successfully. paymentlinks-notification: post: servers: - url: https://api.merchant.com tags: - Payment Links summary: Payment Links Notification description: > This is an outbound HTTP POST message from the Shift4 gateway to the merchant's environment that provides a status of the Payment Links request. This notification request will be sent from Shift4 to the URL provided in the merchant's boarding configuration. This requires the interface vendor to establish a listening service to receive these requests. operationId: paymentlinksnotification security: - {} requestBody: content: application/json: schema: properties: event: type: object properties: type: type: string enum: - payment_link_created - payment_link_updated description: > Occurs when the status of the Payment Links request is updated. | Value | Description | |----------------------|--------------------------------| | payment_link_created | Payment Link has been created. | | payment_link_updated | Payment Link has been updated. | dateTime: $ref: '#/components/schemas/PaymentLinksDateTime' paymentLink: $ref: '#/components/schemas/PaymentLinkResponse' customer: $ref: '#/components/schemas/PaymentLinksCustomerResponse' metadata: $ref: '#/components/schemas/PaymentLinksMetadata' responses: '200': description: > Return 200 status to indicate that the Notification was received successfully. checkoutsessions-notification: post: servers: - url: https://api.merchant.com tags: - Checkout Sessions summary: Checkout Sessions Notification description: > This is an outbound HTTP POST message from the Shift4 gateway to the merchant's environment that provides a status of the checkout session. This notification request will be sent from Shift4 to the URL provided in the merchant's boarding configuration. This requires the interface vendor to establish a listening service to receive these requests. operationId: checkoutsessionsnotification security: - {} requestBody: content: application/json: schema: properties: event: type: object properties: type: type: string enum: - checkout_session_completed description: > Occurs when the status of the Checkout Session is updated. | Value | Description | |-----------------------------------------|---------------------------------------------------| | checkout_session_completed | Checkout session has been completed. | dateTime: $ref: '#/components/schemas/PaymentLinksDateTime' paymentLink: type: object properties: id: $ref: '#/components/schemas/PaymentLinkId' checkoutSession: $ref: '#/components/schemas/CheckoutSessionResponse' responses: '200': description: > Return 200 status to indicate that the Notification was received successfully.