{"openapi":"3.0.1","info":{"title":"DN Payment Initiation API","description":"Public Payment Initiation API (PI-API) of Diebold Nixdorf to access the\nTransaction Middleware.\n","version":"1.9.11","contact":{"email":"ronald.schmieder@dieboldnixdorf.com"}},"tags":[{"name":"Payment Initiation API","description":"Public Payment Initiation API  (PI-API) of DieboldNixdorf to access the\nTransaction Middleware.\n","externalDocs":{"description":"Find out more","url":"https://dieboldnixdorf.com"}}],"externalDocs":{"description":"Find out more about Swagger","url":"https://swagger.io"},"paths":{"/pay/{merchantId}/initiateSession":{"post":{"summary":"Initiate a payment session for token based payments like Google Pay or Apple Pay.","description":"Retrive the payment session object.<br>\nPlease see https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/requesting_an_apple_pay_payment_session\n","operationId":"initiateSession","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"tags":["Payment Initiation API"],"requestBody":{"description":"The request. It contains only the validation URL, if there is any","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateMerchantSessionRequest"}}}},"responses":{"200":{"description":"Returns the opaque payment session object.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateMerchantSessionResponse"}}}},"500":{"$ref":"#/components/responses/InternalServerError500"}}}},"/pay/{merchantId}/creditBalance":{"post":{"tags":["Payment Initiation API"],"summary":"The creditBalance API call returns the credit balance of a payer in case of success.","description":"The creditBalanceRequest is used to return the payer's credit balance.<br>\nIf the amount is insufficient, the call returns a <b>401</b> http status code.\n","operationId":"creditBalance","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"In case of a successful call, a PI-API returns the credit a  creditBalanceResponse.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBalanceResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"409":{"$ref":"#/components/responses/Conflict409"},"500":{"$ref":"#/components/responses/InternalServerError500"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBalanceRequest"}}},"description":"The payment request","required":true}}},"/pay/{merchantId}/authorize":{"post":{"tags":["Payment Initiation API"],"summary":"Authorizes a later cardless payment transaction.","description":"Used to authorize a later payment transaction, using a credit or debit\ncard, without transferingt any money.\n","operationId":"authorizeCardlessPayment","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"In case of a successful call, a http response code 200 is returned.\n"},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"409":{"$ref":"#/components/responses/Conflict409"},"500":{"$ref":"#/components/responses/InternalServerError500"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizePaymentRequest"}}},"description":"The payment request","required":true}}},"/pay/{merchantId}/cardless":{"post":{"tags":["Payment Initiation API"],"summary":"Initiate a cardless payment transaction.","description":"Used to initiate a payment transaction without using a credit or debit\ncard.\n","operationId":"cardlessPayment","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"201":{"description":"In case of a successful call, a PI-API transactionId is returned.\nThis transactionId can be used in further request.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiatePaymentResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"500":{"$ref":"#/components/responses/InternalServerError500"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateCardlessPaymentRequest"}}},"description":"The payment request","required":true}}},"/pay/{merchantId}/cardbased/{cardBasedTransactionType}":{"post":{"tags":["Payment Initiation API"],"summary":"Initiate a card based payment transaction.","description":"Used to initiate a credit or debit card payment or money transfer transaction. ","operationId":"cardbasedPayment","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/CardBasedTransactionType"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"In case of a successful call, a PI-API transactionId is returned.\nThis transactionId can be used in further request.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateCardBasedPaymentResponse"}}}},"500":{"$ref":"#/components/responses/CardBasedInternalServerError500"},"503":{"description":"Service Unavailable"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateCardBasedPaymentRequest"}}},"description":"The payment request","required":true}}},"/pay/{merchantId}/confirm/{transactionId}":{"put":{"summary":"Confirm a payment transaction","description":"Used to confirm a payment transaction approved by payment provider","operationId":"confirmPayment","tags":["Payment Initiation API"],"parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/PI-API-Transaction-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"No further data are returned in case of a successful call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"405":{"$ref":"#/components/responses/MethodNotAllowed405"},"500":{"$ref":"#/components/responses/InternalServerError500"}}}},"/{merchantId}/payments":{"get":{"summary":"Retrive a set of payment transactions.","description":"Used to retrive the state of a payment transaction.","operationId":"transactions","tags":["Payment Initiation API"],"parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"},{"name":"fromDateTime","in":"query","required":false,"description":"<p>Start of the time interval for which the transactions are requested. Default value <b>fromDateTime</b> = (now - 1h)</p>\n\n<p>A timestamp containing date and a time as defined by RFC3339\ntime.<br> Please see: <a href=\"https://tools.ietf.org/html/rfc3339\">Date and Time on the Internet: Timestamps</a></p>\n","schema":{"type":"string","format":"date-time"},"example":"2018-04-28T06:00:00.000Z"},{"name":"toDateTime","in":"query","required":false,"description":"<p>End of the time interval for which the transactions are requested. Default value <b>toDateTime</b> = (fromDateTime + 1h)</p>\n\n<p>A timestamp containing date and a time as defined by RFC3339\ntime.<br> Please see: <a href=\"https://tools.ietf.org/html/rfc3339\">Date and Time on the Internet: Timestamps</a></p>\n","schema":{"type":"string","format":"date-time"},"example":"2018-04-28T012:00:00.000Z"},{"name":"paymentProvider","in":"query","required":false,"description":"The identifier of the payment provider for which the transactions are requested.\n","schema":{"$ref":"#/components/schemas/PaymentProvider"},"example":"VISADIRECT"},{"name":"status","in":"query","required":false,"description":"Transaction status in which the transactions are requested.\n","schema":{"$ref":"#/components/schemas/TransactionStatus"},"example":"PENDING"}],"responses":{"200":{"description":"Returns an array of transactions for the specified selection parameters.\n","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ExtendedTransactionData"},{"$ref":"#/components/schemas/CardbasedDetailsResponse"}]}}}}},"400":{"$ref":"#/components/responses/BadRequest400"},"401":{"$ref":"#/components/responses/Unauthorized401"},"500":{"$ref":"#/components/responses/InternalServerError500"}}}},"/payments/{merchantId}/{transactionId}":{"delete":{"tags":["Payment Initiation API"],"summary":"Cancel a payment transaction.","description":"Used to cancel an already initiated payment transaction.  Idempotence\nkey: transactionId\n","operationId":"cancel","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/PI-API-Transaction-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"Only the 'retryFlag' is returned after a successful call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"405":{"$ref":"#/components/responses/MethodNotAllowed405"},"500":{"$ref":"#/components/responses/InternalServerError500"}}},"put":{"tags":["Payment Initiation API"],"summary":"Refund a payment transaction.","description":"Used to refund an already initiated payment transaction.  Idempotence\nkey: transactionId\n","operationId":"refund","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/PI-API-Transaction-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"No further data are returned in case of a successful call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"405":{"$ref":"#/components/responses/MethodNotAllowed405"},"500":{"$ref":"#/components/responses/InternalServerError500"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundRequest"}}},"description":"The refund payment request","required":true}},"get":{"summary":"Retrive the details and state of a certain payment transaction.","description":"Retrive the details and state of a certain payment transaction.\nIdempotence key: transactionId\n","operationId":"transactionDetails","tags":["Payment Initiation API"],"parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/PI-API-Transaction-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/TerminalIdParam"},{"$ref":"#/components/parameters/RetailUnitParam"},{"name":"refresh","in":"query","required":false,"description":"<p>Indicates if the payment provider should be called to refresh the\ntransaction status in the TM database or not. If set to \"true\", the payment provider's system is called; otherwise, the last known transaction status is loaded from the TM database. </p>\n\n<p>Default value is \"true\".</p>\n","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"Returns an array of transactions if there are some in the given time\nframe.\n","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/TransactionDetailsResponse"},{"$ref":"#/components/schemas/CardbasedDetailsResponse"}]}}}},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"500":{"$ref":"#/components/responses/InternalServerError500"}}}},"/pkiKey":{"get":{"summary":"Retrive the public (RSA) key of the server system.","description":"Retrive the a public (RSA) key, which is used later on to encrypt\nsession keys.\n","operationId":"pki","tags":["Accessibility API"],"responses":{"200":{"description":"Returns apublic (RSA) key, which is used later on to encrypt session\nkeys.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PKIKeyResponse"}}}},"500":{"$ref":"#/components/responses/InternalServerError500"}}}},"/{merchantId}/devices":{"get":{"tags":["Device API"],"operationId":"getDevices","summary":"Get all devices of a certain merchant.","description":"Used to retrieve all payment devices of a certain merchant.\n","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"In case of a successful call, the PI-API device data are returned.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DevicesResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"500":{"$ref":"#/components/responses/InternalServerError500"}}}},"/device/{merchantId}/{terminalId}":{"post":{"tags":["Device API"],"summary":"Create a payment device such as a POS terminal or a mobile device.","description":"Used to create and/or initialize a payment device.\n","operationId":"initializeDevice","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/Terminal-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"201":{"description":"In case of a successful call, a PI-API a http status code 201 is returned.\n"},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"500":{"$ref":"#/components/responses/InternalServerError500"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDeviceRequest"}}},"description":"The request","required":true}},"put":{"tags":["Device API"],"operationId":"updateDevice","summary":"Update a payment device such as a POS terminal or a mobile device.","description":"Used to get, update or delete a payment device.\n","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/Terminal-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"In case of a successful call, a http status code 200 is returned.\n"},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"500":{"$ref":"#/components/responses/InternalServerError500"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDeviceRequest"}}},"description":"The request","required":true}},"get":{"tags":["Device API"],"operationId":"getDevice","summary":"Get device info of a payment device such as a POS terminal or a mobile device.","description":"Used to create and/or initialize a payment device.\n","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/Terminal-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"In case of a successful call, the PI-API device data are returned.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceInfoResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"500":{"$ref":"#/components/responses/InternalServerError500"}}},"delete":{"tags":["Device API"],"operationId":"deleteDevice","summary":"Delete a payment device such as a POS terminal or a mobile device.","description":"Used to create and/or initialize a payment device.\n","parameters":[{"$ref":"#/components/parameters/PI-API-Merchant-ID"},{"$ref":"#/components/parameters/Terminal-ID"},{"$ref":"#/components/parameters/X-Request-ID-Param"},{"$ref":"#/components/parameters/TimestampParam"},{"$ref":"#/components/parameters/PSU-IP-AddressParam"},{"$ref":"#/components/parameters/PSU-User-AgentParam"},{"$ref":"#/components/parameters/PSU-GEO-LocationParam"},{"$ref":"#/components/parameters/SessionKeyParam"},{"$ref":"#/components/parameters/CredentialsTypeParam"},{"$ref":"#/components/parameters/CredentialsParam"},{"$ref":"#/components/parameters/StoreIdParam"},{"$ref":"#/components/parameters/CashierIdParam"},{"$ref":"#/components/parameters/PaymentProviderParam"},{"$ref":"#/components/parameters/RetailUnitParam"}],"responses":{"200":{"description":"In case of a successful call, a http status code 200 is returned.\n"},"401":{"$ref":"#/components/responses/Unauthorized401"},"404":{"$ref":"#/components/responses/NotFound404"},"500":{"$ref":"#/components/responses/InternalServerError500"}}}}},"servers":[{"url":"http://localhost:8080/pi-api/v1"},{"url":"https://localhost:8080/pi-api/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","description":"When using the bearer authentication method an access token has to be provided in the HTTP authorization header\n","scheme":"bearer"},"openId":{"type":"openIdConnect","openIdConnectUrl":"https://login.microsoftonline.com/52846f0f-bc96-4a36-939b-f4d04bb473a0/v2.0/.well-known/openid-configuration"}},"responses":{"BadRequest400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"MethodNotAllowed405":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Conflict409":{"description":"Conflict; The authorization has failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalServerError500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"CardBasedInternalServerError500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardBasedError"}}}}},"parameters":{"PI-API-Merchant-ID":{"name":"merchantId","in":"path","required":true,"description":"ID of the merchant in the PI API.\n","schema":{"type":"string","minLength":1,"maxLength":64},"example":"TM-Merchant-ID"},"CardBasedTransactionType":{"name":"cardBasedTransactionType","in":"path","required":true,"schema":{"$ref":"#/components/schemas/CardbasedTransactionTypes"},"example":"moneyTransferCredit"},"Terminal-ID":{"name":"terminalId","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":64},"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID need to be unaltered until removal from device.\n","example":"terminal1"},"PI-API-Transaction-ID":{"name":"transactionId","in":"path","required":true,"description":"A unique identifier of a transaction in the PI-API backend domain.\nThis transaction number must not be confused with the merchantTransactionId. This PI-API transaction number is\ngenerated by the PI-API server and is unique within the whole PI-API\nserver domain.\n","schema":{"type":"string","minLength":6,"maxLength":40},"example":"843409084374847833"},"X-Request-ID-Param":{"name":"X-Request-ID","in":"header","required":true,"description":"ID of the request, <b>unique to the call</b>, as determined by the\ninitiating party.<br> he X-Request-ID is used to identify a certain\nPI-API call uniquely.\n","schema":{"type":"string","minLength":6,"maxLength":40},"example":"99391c7e-ad88-49ec-a2ad-99ddcb1f7721"},"TimestampParam":{"name":"Timestamp","in":"header","required":true,"description":"The timestamp when the PI-API call was initiated by the PI-API client.\nThe format is defined by RFC3339 date-time.<br>Please see:\n<a href=\"https://tools.ietf.org/html/rfc3339\">Date and Time on the Internet: Timestamps</a>\n","schema":{"type":"string","format":"date-time"},"example":"2017-10-02T15:34:12.345Z"},"SessionKeyParam":{"name":"SessionKey","in":"header","required":true,"description":"<p>The <b>SessionKey</b> parameter contains an base64 encoded AES-128bit\n(AES128) key, which is used to encrypt the <b>AuthorizationType</b> and\n<b>AuthorizationToken</b>.</p> \n\n<p>Moreover, where appropriate, other parts of the request and/or response message are encrypted too, such as\n'buyerIdentityToken' in the 'UserAuthorizationData' of a\nInitiateCardlessPayment request.</p> \n\n<p>If the <b>SessionKey</b> is an <b>empty string</b> (with a zero length), it is assumed, that the\n<b>AuthorizationType</b> and <b>AuthorizationToken</b> are transmitted\n<font color='red'>unencrypted, which is by no means recommended and -\nwhenever possible - should be avoided</font>.</p>\n\n<p>If a part of a request or response message is or can be encrypted, this is explicitly\nindicated in the description.</p> \n\n<p>The key is separated from the InitializationVector using a '-' (Minus sign/Separator) like 'AESKey InitializationVector'.\n","schema":{"type":"string"},"example":"QmFzZTY0IGVuY29kaW5nIHNjaGVtZXMgYXJlIGNvbW1vbmx5VGhlIHBhcnRpY3VsYXIgY2hvaWNlIA=="},"CredentialsTypeParam":{"name":"AuthorizationType","in":"header","required":true,"description":"AuthorizationType describes the kind of CredentialsParam. Based on\nthe AuthorizationType the AuthorizationToken is evaluated and\nchecked.\n","schema":{"type":"string","enum":["OAUTH","USERNAME_PASSWORD"]},"example":"USERNAME_PASSWORD"},"CredentialsParam":{"name":"AuthorizationToken","in":"header","required":true,"description":"<p>The contents and usage of the <b>AuthorizationToken</b> header field\ndepends on the authentication type as defined by the\n<b>AuthorizationType</b> header field.</p> \n\n<p>When using the <b>OAUTH</b> approach, consequent API requests are being authorized using the\nrespective OAuth Access Token. The access token is sent to the API using the AuthorizationToken header\nfield and the BEARER authentication schema as defined in RFC 6750.\n<br><b>Example:</b> 'Bearer SlAV32hkKG'</p> \n\n<p>If <b>USERNAME_PASSWORD</b> is used as AuthorizationType a JSON object\nlike: { 'username': 'Tester', 'password': 'thePassword' } is expected.\nThe given user must have the an appropriate group to access the system\nusing the CHANNEL_REST. Please see the TM documentation how to create\nand assign right, roles and groups to user.</p>\n","schema":{"type":"string","minLength":4,"maxLength":256}},"PaymentProviderParam":{"name":"PaymentProvider","in":"header","required":true,"schema":{"$ref":"#/components/schemas/PaymentProvider"},"example":"HUMM"},"StoreIdParam":{"name":"StoreId","in":"header","required":true,"description":"<p>An unique identifier of store within the merchant's eco-system.</p>\n","schema":{"type":"string","minLength":4,"maxLength":256},"example":"1234"},"CashierIdParam":{"name":"CashierId","in":"header","required":true,"description":"<p>An unique identifier of a cashier - a natural person - within the\nmerchant's eco-system.</p> \n","schema":{"type":"string","minLength":4,"maxLength":256},"example":"cashier1"},"TerminalIdParam":{"name":"TerminalId","in":"header","schema":{"type":"string","minLength":1,"maxLength":64},"required":true,"description":"UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available.\nUUID identifies either a device or a device dependant application installation.\nIn case of an installation identification this ID need to be unaltered until removal from device.\n","example":"terminal1"},"PSU-IP-AddressParam":{"name":"PSU-IP-Address","in":"header","required":false,"description":"The IP-Address of the client.","schema":{"type":"string","minLength":8,"maxLength":48},"example":"192.168.8.1"},"PSU-User-AgentParam":{"name":"PSU-User-Agent","in":"header","required":false,"description":"The user agent string of the client.\n","schema":{"type":"string","minLength":5,"maxLength":255},"example":"Mozilla/5.0(IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko"},"PSU-GEO-LocationParam":{"name":"PSU-GEO-Location","in":"header","required":false,"description":"The (optional) GEO location of the client, if available.\n","schema":{"type":"string","minLength":8,"maxLength":255,"pattern":"GEO:(-?\\d+(\\.\\d+)?),\\s*(-?\\d+(\\.\\d+)?)"},"example":"GEO:52.506931,13.144558"},"RetailUnitParam":{"name":"RetailUnit","in":"header","required":false,"description":"The ID of the retail unit. ISO-3166 2 letter country code as a possibility, e.g. \"se\" for Sweden, \"de\" for Germany and \"us\" for USA.\n","schema":{"type":"string","minLength":2,"maxLength":10},"example":"se"}},"schemas":{"Error":{"description":"The error property is optional. \nIt is set only if an error has been detected.\n","type":"object","properties":{"message":{"description":"An optional, additional message which describes the error.","type":"string","maxLength":256,"example":"Internal server error. A database connection could not be\nestablished.\n"},"paymentProviderErrorCode":{"description":"An error code as outlined in the PI-API documentation.","type":"string","example":"SysErr#765"},"errorCode":{"description":"An error code as outlined in the PI-API documentation.","type":"string","example":"HOST_CANCEL"},"transactionId":{"$ref":"#/components/schemas/TransactionIdentifier"}}},"CardBasedError":{"allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"detailedResponseCode":{"type":"array","items":{"$ref":"#/components/schemas/DetailedResponseCode"}},"transactionState":{"$ref":"#/components/schemas/TransactionStatus"}}}]},"DetailedResponseCode":{"type":"string","enum":["CURRENT_CVV2_VALID","CURRENT_CVV2_INVALID","CURRENT_CVV2_NOT_PROCESSED","CVV2_UNVERIFIED","CURRENT_CAVV_INVALID","CURRENT_CAVV_VALID","CAVV_UNVERIFIED","AVS_ZIP_MATCH_ADDRESS_MATCH","AVS_ZIP_MISSING_ADDRESS_MATCH","AVS_ZIP_MATCH_ADDRESS_NO_MATCH","AVS_NOTHING_MATCHES","AVS_ZIP_UNVERIFIED","AVS_ZIP_RETRY","NVS_NAME_MATCH","NVS_PARTIAL_NAME_MATCH","NVS_NO_NAME_MATCH"]},"PKIPublicKey":{"description":"A public (RSA) key.","type":"object","required":["modulus","exponent"],"properties":{"modulus":{"description":"The base64 encoded modulus part off the public key.","type":"string","example":"MTI4MzI1Mjc2NTI="},"exponent":{"description":"The base64 encoded exponent of the public key.","type":"string","example":"OTYyMzgz"}}},"KeyValuePair":{"description":"A key value pair to store/retrieve a key and a value as strings in a generic way. Used in some API calls/objects.","type":"object","required":["key","value"],"properties":{"key":{"description":"A unique key which identifies a certain value.","type":"string","minimum":1,"maximum":255,"example":"this-is-a-sample-key"},"value":{"description":"The assigned value of the key. It contains a maximum of 2MB data.\n","type":"string","minLength":0,"maxLength":2097152,"example":"this-is-a-sample-value"}}},"Date":{"type":"string","pattern":"([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))","description":"<p>The date pattern is defined \"YYYY-MM-DD\", with YYYY as 4-digit year, MM as 2-digit month and DD as 2-digit day of month.</p>\n<p>Date string as defined by date-time - RFC3339  Please see: <a href=\"https://tools.ietf.org/html/rfc3339\">Date and Time on the Internet: Timestamps</a></p>\n","example":"2020-01-31"},"MsisdnString":{"type":"string","format":"^\\+(?:[0-9]\\x20?){6,14}[0-9]$","description":"The numbers must start with a plus sign, followed by the country code and national number regarding ITU-T E.123 and ITU-T E.164\nPhone numbers cannot contain more than 15 digits. The shortest international phone numbers in use contain seven digits.\n"},"MSISDN":{"type":"object","required":["MSISDN"],"properties":{"MSISDN":{"$ref":"#/components/schemas/MsisdnString"}}},"CountryCode":{"type":"string","minLength":3,"maxLength":3,"pattern":"\\d{3,3}|[A-Z]{3,3}","description":"Refer to ISO Codes <p>https://en.wikipedia.org/wiki/ISO_3166-1_numeric</p> <p>https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3</p>\n","example":276},"BIN":{"type":"string","minLength":6,"maxLength":9,"description":"The Bank Identification Number (BIN) under which, e.g. the Visa Direct solution is registered.<br>\n","example":12030000},"BusinessApplicationId":{"type":"string","description":"This description refers to VISA Direct, but can be used also for other purposes.<br>\nAs used if the payment provider is VISA Direct:<br>\n- Identifies the programs' business application type for VisaNet transaction processing.<br>\n- For Money Transfer, AA applies to transactions where the sender and recipient are the same person and PP applies to transactions where the sender and recipient are not the same person.<br>\n- For Money Transfer, CD (Cash Deposit) applies to cash funded transactions.<br>\n- For Argentina domestic purchase transactions the value should be \"PS\".<br>\n- For Request To Pay, city will carry Invoice Id which will be used for C2B use case in the CEMEA region where payee initiates the OCT to the payer.<br>\n","example":"PP"},"MerchantCategoryCode":{"type":"string","pattern":"[0-9]{4,4}","description":"<b>Conditional.</b><br>\nIf provided, then the value overrides the one present in onboarding data.<br> \nIf the merchantCategoryCode value is not populated in onboarding data then this field is mandatory.<br><br>\n<b>Note:</b> Required if not provided during onboarding.\nNumeric value with total length of <b>4 digits</b>\nPlease see: ISO 18245:2023, Merchant category codes\n"},"PanEntryMode":{"type":"string","description":"An identifier that identifies the method used to enter the cardholder account number and card \nexpiration date. This code specifies e.g. whether the entire magnetic stripe is included in an \nauthorization or financial request.<br><br>\nPlease take a look into the TM programmer manual to discover: \n<font color='blue'><b>com.dieboldnixdorf.txm.core.businessobjects.switching.PanEntryMode.java</b></font>\n","enum":["UNKNOWN","MANUAL_ENTRY","MAG_STRIPE_READ","BARCODE_READ","OCR_READ","ICC_READ","MANUAL_KEY_ENTERED","ICC_FALLBACK_TO_MAGSTRIPE","ICC_FALLBACK_TO_MANUAL_ENTRY","CONTACTLESS_READ","FULL_MAG_STRIPE_READ","CONTACTLESS_MAGNETIC_STRIPE_READ","ICC_CVV_UNRELIABLE","CONTACTLESS_ICC_READ","STORED","DIGITALLY_STORED","MICR_READ","ELECTRONIC_COMMERCE","ON_FILE","ECOMMERCE_WITH_CRYPTOGRAM","SERVER","ONLINE_TELLER_MANUAL","POS_DEVICE","ATM","DISK_INPUT","MERCHANT_POS","ONLINE_TELLER"],"example":"MANUAL_ENTRY"},"PinEntryMode":{"type":"string","description":"An identifier that identifies the method used to enter the cardholders PIN.<br><br>\nPlease take a look into the TM programmer manual to discover: \n<font color='blue'><b>com.dieboldnixdorf.txm.core.businessobjects.switching.PinEntryMode.java</b></font>\n","enum":["UNSPECIFIED","TERM_HAS_PINENTRY_CAP","TERM_HAS_NO_PINENTRY_CAP","MPOS_SOFTWARE_BASED_PINENTRY_CAP","PINPAD_CURRENTLY_NOT_OPERATIVE"],"example":"UNSPECIFIED"},"SourceOfFundsCode":{"type":"string","example":2,"description":"<b>Depends on the payment provider!</b>\nFor example, if VISA Direct is used as the payment provider, the following explanation is valid:<br>\nminLength: 2<br>\nmaxLength: 2<br>\n<b>Conditional.</b><br>If the transaction is a money transfer, the field is required and must contain a valid \nsourceOfFundsCode.<br>Please see table below Code that matches the funding instrument.<br>\nIf the transaction is a funds disbursement, the field is required and most likely\ncontains a \"05\" as shown in the table below.\nThe code is used to identify that the merchant or government entity used a\ndeposit account to fund the disbursement<br>\nIf the transaction is a pre-paid load, the field is required if the transaction is\nnon-U.S. domestic.<br>\nIf the transaction is a credit bill pay, the field is required if the transaction is non-U.S. \ndomestic, and the code must not contain a \"01\" or \"06\".<br>\n<table>\n  <tr>\n    <td>Code</td>\n    <td>Description</td>\n  </tr>\n  <tr>\n    <td>01</td>\n    <td>Visa credit</td>\n    </tr>\n    <tr>\n      <td>02</td>\n      <td>Visa debit</td>\n    </tr>\n    <tr>\n      <td>03</td>\n      <td>Visa prepaid</td>\n    </tr>\n    <tr>\n      <td>04</td>\n      <td>Cash</td>\n    </tr>\n    <tr>\n      <td>05</td>\n      <td>Debit/deposit access accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATM cards).</td>\n    </tr>\n    <tr>\n      <td>06</td>\n      <td>Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines).</td>\n    </tr>\n  </table>\n"},"Amount":{"description":"The basic type of an amount.","type":"object","required":["value","currency"],"properties":{"value":{"description":"The amount value of the given currency. As defined by ISO 20022,\nCurrencyAndAmount.\n","type":"string","pattern":"[0-9]{1,13}\\.[0-9]{1,5}","minimum":0,"example":345.67},"currency":{"description":"The currency code as defined by ISO 20022, ActiveCurrencyCode\nSee also: https://en.wikipedia.org/wiki/ISO_4217\n","type":"string","minLength":3,"maxLength":3,"pattern":"[A-Z]{3,3}","example":"USD"}}},"OrderItemData":{"description":"Details of an order item.\nThe refered amounts are:\n  total: Line total\n  unitPrice: Unit price\n  discount: Discount amount\n","type":"object","required":["itemDesc","itemCount","total","taxRate"],"properties":{"itemId":{"description":"Item POS ID","type":"string","minLength":4,"maxLength":128,"example":21478},"itemDesc":{"description":"Item description","type":"string","minLength":5,"maxLength":256,"example":"PAX"},"itemCount":{"description":"Amount of items when purchasing more than one of a kind (including weighted items or bulk goods)","type":"number","format":"double","minimum":0.0,"example":5.5},"quantityUnit":{"description":"The quantity unit of the item. Default is \"piece\"","type":"string","minLength":1,"example":"cm,m,g,kg,L"},"total":{"$ref":"#/components/schemas/Amount"},"unitPrice":{"$ref":"#/components/schemas/Amount"},"discount":{"$ref":"#/components/schemas/Amount"},"taxRate":{"description":"Rate of taxation in percent","type":"number","format":"double","minimum":0.0,"example":24.0}}},"PaymentAuthorizationData":{"description":"The basic type of an amount.","type":"object","required":["purchaseAmount","msisdn"],"properties":{"amountToAuthorize":{"$ref":"#/components/schemas/Amount"},"msisdn":{"$ref":"#/components/schemas/MSISDN"}}},"TransactionData":{"type":"object","required":["orderTitle","orderAmount"],"properties":{"merchantTransactionId":{"type":"string","minLength":6,"maxLength":40,"description":"<b><i>(Conditional)</i></b> This is a required field in the following APIs:\n<ul>\n  <li>CardlessPayment - Initiate a cardless payment transaction</li>\n</ul>\nA unique identifier of a transaction in the merchant system.\n<br><br> This transaction number must not be confused with the\nPI-API transaction number! <br><br> The PI-API transaction number\n(transactionId) is generated by the PI-API server and is unique\nwithin the whole PI-API server domain.  <br> The merchant\ntransaction number (merchantTransactionId) is generated by merchant\nsystem and must be unique <b>only within the merchant's domain</b>.\n<br> Not the worst idea is simply to use a UUID as described in\nhttps://en.wikipedia.org/wiki/Universally_unique_identifier and\ndefined by https://tools.ietf.org/html/rfc4122  <br>\n","example":"7FD98487-15B1-4918-AEE2-D903C22A6BC3"},"orderTitle":{"type":"string","minLength":1,"maxLength":256,"description":"Short information regarding the order, such as 'Women Summer\nDress'\n","example":"Women Summer Dress"},"orderDetail":{"type":"string","minLength":1,"maxLength":512,"description":"Longer information regrading the order.  ","example":"New White Lace Sleeveless Cute Casual Summer Dresses Vestidos roupas\nfemininas WQW10\n"},"orderItems":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemData"},"description":"List of order items\n"},"orderAmount":{"$ref":"#/components/schemas/Amount"},"financeAmount":{"$ref":"#/components/schemas/Amount"},"storeName":{"type":"string","minLength":1,"maxLength":256,"description":"The name of the store, which has initiated/requested the payment.","example":"Zara-Store#30"},"terminalId":{"type":"string","minLength":1,"maxLength":64,"description":"The ID of the store, which has initiated/requested the payment.","example":"1234567890"},"additionalData":{"description":"A list of addtional properties.\n","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"}}}},"CardbasedTransactionData":{"allOf":[{"$ref":"#/components/schemas/TransactionData"},{"type":"object","properties":{"paymentProviderMerchantId":{"type":"string","minLength":8,"maxLength":64,"description":"A merchant identifier assigned by the payment provider (e.g. by Visa).\n"},"processingType":{"$ref":"#/components/schemas/ProcessingType"},"sourceAmount":{"$ref":"#/components/schemas/Amount"}}}]},"CardData":{"description":"Contains all card or account related data, which are used and specific for a card based payment.<br>\n<font color='red'><b>Attention!</b><br>\nIf parameter 'sessionKey' is set in the request header, this is used to  encrypt the <b>cardNumber, \ncardExpiryDate, cardCvv2Value, track1 and track2</b></font> if these vales are provided.\n","type":"object","required":["cardNumber"],"properties":{"cardNumber":{"type":"string","minLength":12,"maxLength":19,"description":"The unique number of that card in the system, also known as PAN.<br>\nThe length is determined by the ISO/IEC 7812 standard.<br>\n<font color='red'>If parameter 'sessionKey' is set in the request header, this field must be sent encrypted.\n","example":378282246310005},"cardSequenceNumber":{"type":"string","minLength":1,"maxLength":4,"description":"The card sequence number.\n","example":2},"cardExpiryDate":{"type":"string","pattern":"(0[1-9]|1[1,2,0])(/|-)(20)\\d{2}","description":"The expiry date as two digit month followed by the separator sign / and four digit year.<br>\n<font color='red'>If parameter 'sessionKey' is set in the request header, this field must be sent encrypted.\n","example":"10/2025"},"cardCvv2Value":{"type":"string","pattern":"\\d{3,4}","description":"The cardCvv2Value provided by the account holder for the cardNumber in the request.<br>\n<font color='red'>If parameter 'sessionKey' is set in the request header, this field must be sent encrypted.\n","example":"371"},"track2":{"type":"string","pattern":"(\\d{1,19})(D)(D|\\d{4})(D|\\d{3})(\\d*)","description":"The track 2 data of the card.<br>\n<font color='red'>If parameter 'sessionKey' is set in the request header, this field must be sent encrypted.\n","example":"4761739001010010D10122011143878089"},"track1":{"type":"string","pattern":"(\\d{1,19})(D)(D|\\d{4})(D|\\d{3})(\\d*)","description":"The track 1 data of the card.<br>\n<font color='red'>If parameter 'sessionKey' is set in the request header, this field must be sent encrypted.\n","example":"4761739001010010D10122011143878089"},"FIID":{"type":"string","minLength":3,"maxLength":128,"description":"Financial institution ID. A unique identifier assigned to each specific bank or financial institution.\n","example":"802"},"additionalData":{"description":"A list of additional properties.\n","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"}}}},"PointOfServiceData":{"type":"object","description":"Contains a code identifying transaction conditions at the point-of-sale or point of service.<br>\nFor messages that follow an original request, this code identifies the type of processing being done.<br>\n<b>Note:</b> For a CardPresent Transactions, this field is required.\n","required":["motoECIIndicator","panEntryMode","posConditionCode"],"properties":{"motoECIIndicator":{"type":"string","pattern":"^[0-9]{1}$","description":"Identifies the level of security used in an electronic commerce transaction over an open network<br>\n(for example, the Internet) or the type of mail or telephone order. Acquirers supply indicator values,<br> \nwhich V.I.P. forwards in requests and advices to issuers that have successfully tested to receive them.<br>\nThe subfield is dropped if issuers have not successfully completed testing or choose not to receive it.<br>\nRefer to <a href=\"https://developer.visa.com/request_response_codes#moto_eci_ind_codes\">Moto ECI Codes</a> e.g. for VISA Direct.\n"},"panEntryMode":{"$ref":"#/components/schemas/PanEntryMode"},"pinEntryMode":{"$ref":"#/components/schemas/PinEntryMode"},"posEnvironment":{"type":"string","pattern":"^[0-9,CIR]{1}$","description":"<b>Conditional</b><br><br> This field is required to identify whether a transaction is merchant-initiated.<br>\nRefer to <a href=\"https://developer.visa.com/request_response_codes#pos_env_codes\">POS Environment Codes</a>  e.g. for VISA Direct\n"},"posConditionCode":{"type":"string","description":"Contains a code identifying transaction conditions at the point of sale or point of service.<br>\nFor messages that follow an original request, this code identifies the type of processing being done.<br>\n<b>Note:</b> For CAVV and/or TAVV transaction, the POS condition code must be set to 59.<br>\nRefer to <a href=\"https://developer.visa.com/request_response_codes#pos_cond_code_codes\">POS Condition Codes</a> e.g. for VISA Direct\n"},"specialConditionIndicatorMerchant":{"type":"string","pattern":"^[0-9]{1}$","description":"Cryptocurrency indicator with the value of “7” can be used to identify the purchase of cryptocurrency,<br>\nthereby providing greater visibility to the issuers.\n"}}},"CardbasedTransactionTypes":{"type":"string","description":"The type of a card based transaction, which can be one of the following:<br>\n<ul>\n  <li>moneyTransferCredit</li>\n  <li>moneyTransferDebit</li>\n  <li>purchase</li>\n</ul>\n","enum":["moneyTransferCredit","moneyTransferDebit","purchase"],"example":"moneyTransferCredit"},"PaymentProvider":{"type":"string","description":"The identifier of the payment provider.<br>\nThe payment provider 'TM' indicates, that the transaction middleware server - aka. the TM server - should decide\nwhich payment provider has to be used at the end, e.g. based on the card data.\n","enum":["AGOS","ALIPAY","APPLEPAY","BLUECODE","DANISH_MOBILEPAY","GOOGLEPAY","HUMM","IKEAREFUNDCARD","RAIFFEISEN","SATISPAY","SEPAINSTANTPAYMENT","SIMULATOR","SWISH","SWISHMCOMMERCE","SWISSBILLING","TM","VIPPS","VISADIRECT","WECHAT","WOSAIPAY"],"example":"ALIPAY"},"TransactionStatus":{"type":"string","enum":["NEW","PENDING","APPROVED","FINISHED","CANCELED","TO_BE_CANCELLED"],"description":"The last known state of a transaction. \n\n<table>\n  <tr>\n    <td>Name</td>\n    <td>Description</td>\n  </tr>\n\n  <tr>\n    <td>NEW</td>\n    <td>The transaction is initiated/in progress but the backend has not yet been called or the backend has not sent a status in the response.</td>\n  </tr>\n  <tr>\n    <td>PENDING</td>\n    <td>The transaction is still in progress, the backend has been called and is waiting for the buyer's confirmation.</td>\n  </tr>\n  <tr>\n    <td>FINISHED</td>\n    <td>The transaction has been finished. Means for initiatePayment: The goods were payed. Means for cancelPayment: The cancel took place. Means for refundPayment: The refund took place.</td>\n  </tr>\n  <tr>\n    <td>CANCELED</td>\n    <td>The transaction is CANCELED, e.g. because of an unrecoverable error or a Cancel transaction.</td>\n  </tr>\n  <tr>\n    <td>TO_BE_CANCELLED</td>\n    <td>The transaction has been marked for cancellation by the regular cancellation job. The job contacts the backend to complete the cancellation.</td>\n  </tr>\n</table>\n","example":"PENDING"},"TransactionIdentifier":{"type":"string","minLength":6,"maxLength":40,"description":"A unique identifier of a transaction in the PI-API backend domain.\n<br><br> This transaction number must not be confused with the\nmerchantTransactionId. <br><br> This PI-API transaction number is\ngenerated by the PI-API server and is unique within the whole PI-API\nserver domain.  <br>\n","example":"434354659863230244"},"PaymentProviderTransactionIdentifier":{"description":"The transactionId in the payment providers domain/eco-system.","type":"string","example":"343545544423-34344317"},"UserAuthorizationData":{"description":"These data are used to identify and authorize the cardless payment\nrequest.\n","type":"object","required":["buyerIdentityToken","buyerCodeType"],"properties":{"buyerIdentityToken":{"type":"string","description":"Used as identification for example of an Alipay user and must be\nread from the user''s Alipay wallet in real time, because it's a\ndynamic value. If parameter 'sessionKey' is set in the request\nheader with a length > 0, it is assumed, that this 'sessionKey' is\nused to encrypt the '<b>buyerIdentityToken</b>'\nIn case of a token based transaction, such as Apple Pay oder Google Pay the buyerIdentityToken contains the encrypted payment token.\n","minLength":1,"maxLength":8192,"example":"283323458639276347"},"buyerCodeType":{"type":"string","description":"The type of the code, if there was any, which was used to initiate\nthe payment.  For Alipay for example only 'BARCODE' and 'QRCODE' are\nvalid.\n","enum":["BARCODE","QRCODE","NFC","TOKEN"],"example":"BARCODE"},"paymentProvider":{"$ref":"#/components/schemas/PaymentProvider"},"addinitonalData":{"description":"A list of additional properties.\n","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"}}}},"AccountNumber":{"description":"The account number.<br>\nThe length varies greatly. In Europe defined by ISO 13616/2007<br>\nSee also: https://en.wikipedia.org/wiki/International_Bank_Account_Number<br>\nIn case of <b>VISA Direct</b> is used as payment provider for example the following explanation is valid:<br>\n\"<b>Conditional.</b><br>\nIf the transaction is a money transfer, pre-paid load, or credit card bill pay, and if the sender\nintends to fund the transaction with a financial instrument (for example, debit card), this field \nis required and must contain the sender's account number.<br>\nIf the transaction is a funds disbursement, the field is not required.<br>\nNote: This is a 16-digit PAN or token which defines the account of the consumer (sender of push payment).<br>\nNote: PAN or a network token must not be used if Payment Credential Reference is used to send <br>\nsender's PCI Token Reference ID.<br>\nOnly one of 'senderAccountNumber' and 'senderPaymentCredentialReference' is provided in a request\n","type":"string","minLength":2,"maxLength":32,"example":"DE19123412341234123412"},"SwiftCode":{"description":"Contains the BIC (aka. bank identifier code)<br>\nThe BIC - also known as SWIFT-code - as defined by ISO 9362 is required in/for cross border transfers/transactions.<br>\nPlease see: https://en.wikipedia.org/wiki/ISO_9362<br>\nThis field can also be used to send/receive an ABA RTN (ABA routing transit number) or Canadian TN (Canadian transit number).<br>\nSee also: https://en.wikipedia.org/wiki/Routing_transit_number<br>\n","type":"string","pattern":"^[A-Z0-9]+$","minLength":8,"maxLength":11},"AccountType":{"type":"string","enum":["NOT_SPECIFIED","GIRO","LOAN","SAVINGS","SECURITIES_DEPOSIT","SAVINGS_SECURITIES_DEPOSIT","GIRO_SECURITIES_DEPOSIT","FIXED_TERM_DEPOSIT","CREDIT_CARD","MORTGAGE","FOREIGN_CURRENCY","EXTERNAL","CHECKING","UNIVERSAL","SPENDING_POWER","FEE_COLLECTION_ACCOUNT","ATM","VENDOR","SHAREHOLDER","GENERAL_LEDGER","CASH_RESERVE","LOAN_DENIAL","LEASE","CONSUMER_LOAN","COMMERCIAL_LOAN","RETIREMENT_LOAN","EXTERNAL_LOAN","SHARE","INDIVIDUAL_RETIREMENT","CARD_PAN","HEALTH_SAVINGS","CREDIT","CREDIT_LINE","CERTIFIED_DEPOSIT","INSTALLMENT"],"example":"GIRO","description":"The default account type is 820000 (NOT_SPECIFIED). "},"AcquirerInformation":{"type":"object","required":["acquiringBin","acquirerCountryCode"],"properties":{"acquiringBin":{"$ref":"#/components/schemas/BIN"},"acquirerCountryCode":{"$ref":"#/components/schemas/CountryCode"}}},"ParticipantInformation":{"type":"object","properties":{"nationality":{"$ref":"#/components/schemas/CountryCode"},"countryOfBirth":{"$ref":"#/components/schemas/CountryCode"},"occupation":{"type":"string","minLength":1,"maxLength":35,"description":"account owner occupation"},"dateOfBirth":{"type":"string","format":"date","description":"account owner date of birth","example":"2020-02-12"},"emailAddress":{"type":"string","format":"email","minLength":1,"maxLength":99,"description":"account owner email address","example":"john.doe@gmail.com"}}},"BaseAddress":{"type":"object","properties":{"street":{"type":"string","maxLength":255,"description":"The name of the street.","example":"Mainstreet"},"streetNo":{"type":"string","maxLength":255,"description":"The street number of this address.","example":"119"},"zipCode":{"type":"string","maxLength":255,"description":"The zip code of this city.","example":"NY 5467"},"county":{"maxLength":50,"minLength":1,"type":"string","description":"<b>Conditional.</b><br>\nMust be the county of the Merchant/Originator.<br>\nRequired, e.g. if the payment provider is <b>VISA Direct</b> and if country is \"USA\".\n"},"state":{"maxLength":2,"minLength":2,"type":"string","description":"<b>Conditional.</b><br>\nUse a 2-character abbreviated states code or territory code as the state value.<br>\nRequired, e.g. if the payment provider is <b>VISA Direct</b> and if country is \"USA\".  \n"}}},"Address":{"allOf":[{"$ref":"#/components/schemas/BaseAddress"},{"type":"object","properties":{"city":{"type":"string","maxLength":255,"description":"The name of the city.","example":"New York"},"countryCode":{"$ref":"#/components/schemas/CountryCode"}}}]},"PaymentFacilitator":{"type":"object","required":["id","name","subMerchantId"],"properties":{"id":{"maxLength":11,"minLength":1,"type":"string","description":"Payment Facilitator ID or Marketplace ID (MasterCard).\n"},"name":{"maxLength":25,"minLength":1,"type":"string","description":"Payment facilitator name in OCTs. This field is conditionally required when a payment facilitator is involved.\n"},"subMerchantId":{"maxLength":15,"minLength":1,"type":"string","description":"Sub-Merchant ID containing the sponsored merchant ID.\n"},"address":{"$ref":"#/components/schemas/Address"}}},"CardAcceptorAddress":{"allOf":[{"$ref":"#/components/schemas/BaseAddress"},{"type":"object","required":["countryCode","city"],"properties":{"city":{"type":"string","maxLength":255,"description":"The name of the city.","example":"New York"},"countryCode":{"$ref":"#/components/schemas/CountryCode"}}}]},"CardAcceptor":{"description":"These data describes the card acceptor of this transaction.<br>\n","type":"object","required":["address","cardAcceptorId","name"],"properties":{"address":{"$ref":"#/components/schemas/CardAcceptorAddress"},"cardAcceptorId":{"maxLength":15,"minLength":1,"type":"string","description":"An unique identifier for the participant, e.g. <b>VISA Direct<b> Originator.<br>\nThis value should be unique for each CardAcceptor for whom you are sending transactions.\n"},"name":{"type":"string","minLength":1,"description":"The name of the payment card acceptor.<br>\nE.g. for VISA Direct P2P payments, the name must contain the sender name.<br>\nFor a funds disbursement, must contain either the name of the merchant or government entity sending the funds disbursement.<br>\nFor pre-paid loads, must contain either the name of the load partner providing the reload service or the bank designated service name, if offered over bank channels.<br>\nFor credit card bill payment, must contain either the name of the entity providing the credit card bill pay service or the bank designated service name, if offered over bank channels.<br>\n"},"taxId":{"maxLength":35,"minLength":1,"type":"string","description":"<b>Conditional.</b><br>\nThis field contains the identifier of the acceptor issued by a taxation authority.<br>\nThis field is conditionally required e.g. for all MasterCard transactions.\n"},"legalBusinessName":{"maxLength":25,"minLength":1,"type":"string","description":"Acceptor’s legal business name associated with the card acceptor identification code.\n"}}},"TransactionParticipant":{"allOf":[{"$ref":"#/components/schemas/ParticipantInformation"},{"type":"object","description":"These data describes a participant of a payment, which holds an normal account or an card account.<br>\n<b>Optional required</b>. For cardBasedTransactionType = <b>moneyTransferDebit</b> the <b>sender</b> data must be set.\nFor cardBasedTransactionType = <b>moneyTransferCredit</b> the <b>beneficiary</b> data must be set.\n","required":["cardData"],"properties":{"name":{"type":"string","minLength":1,"description":"The name of the payment participant.<br>\nE.g. for VISA Direct P2P payments, the name must contain the sender name.<br>\nFor a funds disbursement, must contain either the name of the merchant or government entity sending the funds disbursement.<br>\nFor pre-paid loads, must contain either the name of the load partner providing the reload service or the bank designated service name, if offered over bank channels.<br>\nFor credit card bill payment, must contain either the name of the entity providing the credit card bill pay service or the bank designated service name, if offered over bank channels.<br>\n","example":"Doe John A"},"detailedName":{"$ref":"#/components/schemas/ParticipantName"},"address":{"$ref":"#/components/schemas/Address"},"cardData":{"$ref":"#/components/schemas/CardData"},"identification":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantIdentification"},"description":"Identification list of participant."},"ancillaryDetails":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantAncillaryDetails"},"description":"Ancillary participant details."}}}]},"CardlessPaymentTransactionData":{"type":"object","required":["commonTransactionData","userAuthorizationData"],"properties":{"commonTransactionData":{"$ref":"#/components/schemas/TransactionData"},"userAuthorizationData":{"$ref":"#/components/schemas/UserAuthorizationData"}}},"CardbasedPaymentTransactionData":{"type":"object","required":["commonTransactionData"],"properties":{"acquirerInformation":{"$ref":"#/components/schemas/AcquirerInformation"},"beneficiary":{"$ref":"#/components/schemas/TransactionParticipant"},"businessApplicationId":{"$ref":"#/components/schemas/BusinessApplicationId"},"cardAcceptor":{"$ref":"#/components/schemas/CardAcceptor"},"commonTransactionData":{"$ref":"#/components/schemas/CardbasedTransactionData"},"pointOfServiceData":{"$ref":"#/components/schemas/PointOfServiceData"},"sender":{"$ref":"#/components/schemas/TransactionParticipant"},"sourceOfFundsCode":{"$ref":"#/components/schemas/SourceOfFundsCode"},"paymentFacilitator":{"$ref":"#/components/schemas/PaymentFacilitator"},"enablerVerificationValue":{"type":"string","maxLength":5,"description":"Enabler Verification Value (EVV) is a Visa assigned value \nthat is used to identify enablers that participate in certain programs. \nThe EVV is unique to the enabler.\n","example":"abcd1"},"merchantCategoryCode":{"$ref":"#/components/schemas/MerchantCategoryCode"}}},"ExtendedTransactionData":{"type":"object","required":["transactionId","transactionState","transactionType","transactionTimestamp","storeId","cashierId"],"properties":{"transactionId":{"$ref":"#/components/schemas/TransactionIdentifier"},"transactionState":{"$ref":"#/components/schemas/TransactionStatus"},"transactionType":{"type":"string","enum":["PAYMENT","CANCEL","REFUND","REFUNDCREDIT"],"description":"The type of a transaction. \n\n<table>\n  <tr>\n    <td>Name</td>\n    <td>Description</td>\n  </tr>\n\n  <tr>\n    <td>PAYMENT</td>\n    <td>A regular payment transaction</td>\n  </tr>\n  <tr>\n    <td>CANCEL</td>\n    <td>A cancel payment transaction</td>\n  </tr>\n  <tr>\n    <td>REFUND</td>\n    <td>A refund transaction</td>\n  </tr>\n  <tr>\n    <td>REFUNDCREDIT</td>\n    <td>A refund transaction without related payment</td>\n  </tr>\n</table>\n","example":"PAYMENT"},"transactionTimestamp":{"type":"string","format":"date-time","description":"A timestamp containing date and a time as defined by RFC3339\ntime.<br> Please see: <a href=\"https://tools.ietf.org/html/rfc3339\">Date and Time on the Internet: Timestamps</a>\n","example":"2018-04-28T06:14:50.142Z"},"storeId":{"type":"string","minLength":4,"maxLength":256,"description":"A unique identifier to identify a store in the merchants domain.<br>","example":"Zara#34"},"cashierId":{"type":"string","minLength":4,"maxLength":256,"description":"A unique identifier to identify a certain cashier in the merchants\ndomain.<br>\n","example":"00635"},"referenceId":{"type":"string","minLength":6,"maxLength":40,"description":"The referenceId is set for/in CANCEL and REFUND transactions. This\ntransactionId references the transactions the cancel or refund was\nmade for.\n","example":"434354659863230244"},"transactionData":{"$ref":"#/components/schemas/TransactionData"},"paymentProviderErrorCode":{"description":"An error code as outlined in the PI-API documentation.","type":"string","example":"SysErr#765"},"paymentProviderTransactionId":{"$ref":"#/components/schemas/PaymentProviderTransactionIdentifier"},"cardlessUserAuthorizationData":{"$ref":"#/components/schemas/UserAuthorizationData"},"cardData":{"$ref":"#/components/schemas/CardData"}}},"DeviceData":{"type":"object","description":"This data contains all information about an external devices such as an POS or mobile device","required":["softwareVersion","vendor"],"properties":{"externalDeviceIdentifier":{"type":"string","minLength":3,"maxLength":255,"description":"A identifier which identifies the device in an/the external eco system.","example":"60480F44-413E-47F8-85AF-8B233A9A1680"},"softwareVersion":{"type":"string","minLength":3,"maxLength":255,"description":"The software verion of that device.","example":"Darwin Kernel Version 19.6.0: Thu Jun 18 20:49:00 PDT 2020"},"vendor":{"type":"string","minLength":1,"maxLength":255,"description":"The vendor of that device.","example":"DieboldNixdorf"},"addinitonalData":{"description":"A list of addtional properties.\n","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"}}}},"InitiateMerchantSessionRequest":{"type":"object","required":["validationURL"],"description":"The InitiateMerchantSessionRequest is used to initiate a merchant session in front of a payment request for token based payment like Apple Pay or Google Pay.\n","properties":{"validationURL":{"type":"string","description":"'The URI is use to validate itself and obtain a merchant session object.\n","example":"https://apple-pay-gateway.apple.com/paymentservices/paymentSession"}}},"CreditBalanceRequest":{"type":"object","required":["userAuthorizationData"],"description":"The CreditBalanceRequest is used to return the available credit balance<br>\n","properties":{"userAuthorizationData":{"$ref":"#/components/schemas/UserAuthorizationData"}}},"CreditBalanceResponse":{"type":"object","required":["creditBalance"],"description":"The CreditBalanceResponse contains the available (credit) amount.\n","properties":{"creditBalance":{"$ref":"#/components/schemas/Amount"},"expiry":{"type":"string","format":"date-time","description":"A timestamp until the CreditBalance is valid. It contains a date and a time as defined by RFC3339 time.<br> \nPlease see: <a href=\"https://tools.ietf.org/html/rfc3339\">Date and Time on the Internet: Timestamps</a>\n"}}},"AuthorizePaymentRequest":{"type":"object","required":["authorizePymentRequestData"],"description":"The AuthorizePaymentRequest is used to initiate a authorization of a payment request \nfrom the cashiers desk.\n","properties":{"authorizePymentRequestData":{"$ref":"#/components/schemas/PaymentAuthorizationData"}}},"InitiateCardlessPaymentRequest":{"type":"object","required":["initiatePaymentRequestData"],"description":"The initiatePaymentRequest is used to initiate a payment request from\nthe cashiers desk to the payment provider. <br> The transactionId return\nin the initiatePaymentResponse should be used as a reference to the\nPI-API transaction for example in further refund request or in back\noffice processing.\n","properties":{"initiatePaymentRequestData":{"$ref":"#/components/schemas/CardlessPaymentTransactionData"}}},"InitiateCardBasedPaymentRequest":{"type":"object","required":["initiatePaymentRequestData"],"description":"The initiatePaymentRequest is used to initiate a payment request from\nthe cashiers desk to the payment provider. <br> The transactionId return\nin the initiatePaymentResponse should be used as a reference to the\nPI-API transaction for example in further refund request or in back\noffice processing.\n","properties":{"initiatePaymentRequestData":{"$ref":"#/components/schemas/CardbasedPaymentTransactionData"}}},"CardbasedPaymentBaseResponse":{"type":"object","required":["transactionId","transactionState","transactionTimestamp"],"description":"The InitiateCardBasedPaymentResponse contains some information's from the payment provider.\n","properties":{"transactionId":{"$ref":"#/components/schemas/TransactionIdentifier"},"transactionState":{"$ref":"#/components/schemas/TransactionStatus"},"transactionTimestamp":{"type":"string","format":"date-time","description":"A timestamp containing date and a time as defined by RFC3339\ntime.<br> Please see: <a href=\"https://tools.ietf.org/html/rfc3339\">Date and Time on the Internet: Timestamps</a>\n","example":"2018-04-28T06:14:50.142Z"},"paymentProviderTransactionId":{"$ref":"#/components/schemas/PaymentProviderTransactionIdentifier"}}},"InitiateCardBasedPaymentResponse":{"allOf":[{"$ref":"#/components/schemas/CardbasedPaymentBaseResponse"},{"type":"object","properties":{"detailedResponseCode":{"type":"array","items":{"$ref":"#/components/schemas/DetailedResponseCode"}},"settlementInfo":{"$ref":"#/components/schemas/SettlementInfo"}}}]},"CardbasedDetailsResponse":{"allOf":[{"$ref":"#/components/schemas/CardbasedPaymentBaseResponse"},{"type":"object","properties":{"message":{"description":"An optional, additional message which describes the error.","type":"string","maxLength":256,"example":"Internal server error. A database connection could not be\nestablished.\n"},"paymentProviderErrorCode":{"description":"An error code as outlined in the PI-API documentation.","type":"string","example":"SysErr#765"},"errorCode":{"description":"An error code as outlined in the PI-API documentation.","type":"string","example":"HOST_CANCEL"},"transactionType":{"$ref":"#/components/schemas/CardbasedTransactionTypes"},"storeId":{"type":"string","minLength":4,"maxLength":256,"description":"The unique identifier to identify a store in the merchants domain.\n","example":"Zara#34"},"cashierId":{"type":"string","minLength":4,"maxLength":256,"description":"The unique identifier to identify a certain cashier in the merchants domain.\n","example":"00635"},"terminalId":{"type":"string","minLength":1,"maxLength":64,"description":"The ID of the terminal, which has initiated/requested the payment.\n","example":"1234567890"}}}]},"InitiatePaymentResponse":{"type":"object","description":"The InitiatePaymentResponse contains more or less only the PI-API\ntransaction number.\n","properties":{"href":{"type":"string","description":"The URI used e.g. to cancel this transaction. Please see also\nhttps://en.wikipedia.org/wiki/HATEOAS\n","example":"http://pisp-pi-api-webapp/pi-api/v1/payments/123123123"},"paymentTransactionData":{"$ref":"#/components/schemas/ExtendedTransactionData"}}},"CancelResponse":{"type":"object","description":"The CancelPaymentResponse contains  more or less only the retryFlag","properties":{"href":{"type":"string","description":"The URI used e.g. to cancel this transaction. Please see also\nhttps://en.wikipedia.org/wiki/HATEOAS\n","example":"http://pisp-pi-api-webapp/pi-api/v1/payments/123123123"},"retryFlag":{"type":"boolean","description":"true: The cancel failed due to retriable error. <br> false: The\ncancel failed due to non-retriable error.\n","example":"true"}}},"RefundRequest":{"type":"object","required":["refundAmount","refundReason"],"description":"The refundPaymentRequest is used to refund an already processed payment.","properties":{"refundAmount":{"$ref":"#/components/schemas/Amount"},"refundReason":{"type":"string","minLength":1,"maxLength":512,"description":"A free text field e.g. for the reason of the refund.","example":"Late delivery"},"refundItems":{"type":"array","items":{"$ref":"#/components/schemas/OrderItemData"}},"additionalData":{"description":"A list of addtional properties.\n","type":"array","items":{"$ref":"#/components/schemas/KeyValuePair"}}}},"RefundResponse":{"type":"object","description":"The Refund Response contains  more or less only the link to the\ntransaction\n","properties":{"href":{"type":"string","description":"The URI used e.g. to cancel this transaction. Please see also\nhttps://en.wikipedia.org/wiki/HATEOAS\n","example":"http://pisp-pi-api-webapp/pi-api/v1/payments/123123123"}}},"ConfirmResponse":{"type":"object","description":"The Confirm Response contains  more or less only the link to the\ntransaction\n","properties":{"href":{"type":"string","description":"The URI used e.g. to cancel this transaction. Please see also\nhttps://en.wikipedia.org/wiki/HATEOAS\n","example":"http://pisp-pi-api-webapp/pi-api/v1/payments/123123123"}}},"TransactionDetailsResponse":{"type":"object","required":["paymentTransactionData"],"description":"The GetTransactionsResponse contains a set of already processed payment\ntransactions in the given timeframe.\n","properties":{"paymentTransactionData":{"$ref":"#/components/schemas/ExtendedTransactionData"}}},"PKIKeyResponse":{"type":"object","required":["publicKey"],"description":"The GetTransactionsResponse contains a set of already processed payment\ntransactions in the given timeframe.\n","properties":{"publicKey":{"$ref":"#/components/schemas/PKIPublicKey"}}},"InitiateMerchantSessionResponse":{"type":"object","required":["merchantSessionPromise"],"description":"The GetTransactionsResponse contains a set of already processed payment\ntransactions in the given timeframe.\n","properties":{"merchantSessionPromise":{"type":"string","minLength":1,"description":"The opaque merchant session object. Basically it is a JSON Object.\n","example":"{\n  \"nonce\": \"1f39c07a\",\n  \"retries\": 0,\n  \"operationalAnalyticsIdentifier\": \"Apple Pay Demo:A77873CD368A460BD5D3325AD76B01C16BB7F838CFFF654F9A993F4B6A9B4098\",\n  \"displayName\": \"Apple Pay Demo\",\n  \"domainName\": \"applepaydemo.apple.com\",\n  \"merchantIdentifier\": \"REDACTED\",\n  \"epochTimestamp\": 1639123825804,\n  \"expiresAt\": 1639127425804,\n  \"merchantSessionIdentifier\": \"REDACTED\",\n  \"signature\": \"REDACTED\"\n}\n"}}},"CreateDeviceRequest":{"type":"object","required":["deviceData"],"description":"This request creates and initializes an external device such as a mobile device or a POS terminal.\n","properties":{"deviceData":{"$ref":"#/components/schemas/DeviceData"}}},"UpdateDeviceRequest":{"type":"object","required":["deviceData"],"description":"This request creates and initializes an external device such as a mobile device or a POS terminal.\n","properties":{"deviceData":{"$ref":"#/components/schemas/DeviceData"}}},"DevicesResponse":{"type":"object","required":["devices"],"description":"The Transaction Response contains an array with links to the\ntransactions\n","properties":{"devices":{"type":"array","items":{"$ref":"#/components/schemas/DeviceData"}}}},"DeviceInfoResponse":{"type":"object","required":["deviceData"],"description":"The Returns the device info.\n","properties":{"deviceData":{"$ref":"#/components/schemas/DeviceData"}}},"ParticipantName":{"type":"object","properties":{"firstName":{"type":"string","minLength":1,"maxLength":35,"description":"This field contains participant's first name","example":"John"},"middleName":{"type":"string","minLength":1,"maxLength":35,"description":"This field contains participant's middle name","example":"A"},"lastName":{"type":"string","minLength":1,"maxLength":35,"description":"This field contains participant's last name","example":"Doe"}}},"ParticipantIdentification":{"type":"object","required":["idType","idNumber"],"properties":{"idType":{"type":"string","enum":["CUSTOMER_IDENTIFICATION","NATIONAL_IDENTIFICATION_ID","PASSPORT","DRIVERS_LICENSE","TAX_ID","COMPANY_REGISTRATION_NO","PROXY_ID","SOCIAL_SECURITY_NO","ALIEN_REGISTRATION","LAW_ENFORCEMENT","MILITARY_ID","TRAVEL_ID","EMAIL","PHONE_NO","DATE_OF_BIRTH"],"description":"This field will contain the type of participant identification."},"idNumber":{"type":"string","minLength":1,"maxLength":35,"description":"This field will contain a value associated with the Identification Type in field idType.","example":"1234567890"},"issueCountryCode":{"$ref":"#/components/schemas/CountryCode"},"ownerType":{"$ref":"#/components/schemas/OwnerType","description":"This field denotes whether the Tax ID is a business or individual's Tax ID \nwhen idType contains the value of TAX_ID (Tax identification).\n"}}},"ParticipantAncillaryDetails":{"allOf":[{"$ref":"#/components/schemas/ParticipantName"}]},"OwnerType":{"type":"string","enum":["BUSINESS","INDIVIDUAL"],"description":"This field identifies if an entity is for a business or an individual."},"CurrencyExchangeRate":{"type":"object","required":["rate","decimals"],"properties":{"rate":{"type":"integer","format":"int64"},"decimals":{"type":"integer"}}},"SettlementInfo":{"type":"object","required":["settlementAmount"],"properties":{"settlementAmount":{"$ref":"#/components/schemas/Amount"},"exchangeRate":{"$ref":"#/components/schemas/CurrencyExchangeRate","description":"Exchange Rate used to convert the transaction amount to settlement amount in case of multi-currency.\n"}}},"ProcessingType":{"type":"object","required":["requestType"],"properties":{"requestType":{"type":"string","enum":["NOT_DEFERRED","ORIGINATOR_HOLD","PAYMENT_PROVIDER_DEFERRED","RECYCLING_PAYOUT"],"description":"The type of a card based transaction, which can be one of the following:<br>\n<ul>\n    <li>NOT_DEFERED - Not deferred transaction</li>\n    <li>ORIGANATOR_HOLD - This value indicates that the originating acquirer has held the transaction for \n    a period of time before sending to payment provider and is requesting for payment provider \n    to treat the transaction as a deferred transaction.</li>\n    <li>PAYMENT_PROVIDER_DEFERRED - This value indicates that the originating acquirer is requesting \n    payment provider to apply the default holding period (if deferredDataTime is not set) upon receipt and process the request as a deferred transaction.</li>\n    <li>RECYCLING_PAYOUT</li>\n</ul>\n","example":"NOT_DEFERRED"},"deferredDateTime":{"type":"string","format":"date-time","description":"The field identifies when the transaction needs to be processed by payment provider.<br>\nA timestamp containing date and a time as defined by RFC3339\ntime.<br> Please see: <a href=\"https://tools.ietf.org/html/rfc3339\">Date and Time on the Internet: Timestamps</a>\n","example":"2018-04-28T06:14:50.142Z"}}}}},"security":[{"bearerAuth":[]},{"openId":[]}]}