{ "openapi" : "3.0.1", "info" : { "title" : "Merchant-Server II REST Services API", "version" : "v2" }, "servers" : [ { "url" : "https://testmerch.directpos.de/rest-api/services/v2/" } ], "security" : [ { "bearerAuth" : [ ] } ], "tags" : [ { "name" : "Alias", "description" : "The alias API contains endpoints to add, update or delete aliases for means of payment." }, { "name" : "Forms", "description" : "The Forms API contains endpoints to initialize a form service interaction. It allows the merchant to redirect the customer to a customizable frontend page where the customer may enter sensitive payment data. After receipt of the necessary information, the frontend will carry out the transaction and redirect the customer back to the merchant’s page." }, { "name" : "Headless 3-D Secure", "description" : "The Headless 3-D Secure API contains endpoints to conduct headless 3-D Secure transactions." }, { "name" : "iFrame", "description" : "The iFrame API contains an endpoint to initialize an iFrame interaction. It allows the merchant to embed specific elements of a frontend page into their own web page. Entry of sensitive data is done in these elements so that they can be sent to the merchant without the merchant ever being in contact with it. After the API receives the entered data, it will inform the merchant who then calls the corresponding Payment API endpoint. " }, { "name" : "Info", "description" : "Information related operations." }, { "name" : "Payment", "description" : "The Payment API contains endpoints to add or modify payment transactions. When using the API, the merchant is only integrated to the API at the backend. All use cases are triggered via an API call. It is the merchant's responsibility to collect all relevant payment data via their own frontend. " } ], "paths" : { "/alias/bankaccount/{alias}" : { "get" : { "tags" : [ "Alias" ], "summary" : "Retrieves a bank account alias by its name.", "operationId" : "aliasBankAccountGet", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "alias", "in" : "path", "description" : "Name of the alias.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string" }, "example" : "da2c9029-b180-42a7-b473-50d182a01f8a" } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by information about the alias. Sensitive bank account data may be masked, depending on the configuration of the merchant's account. If the alias is unknown or in case of a known business or persistence error, only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasResponse" } } } } } }, "delete" : { "tags" : [ "Alias" ], "summary" : "Deletes a bank account alias.", "operationId" : "aliasBankAccountDelete", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "alias", "in" : "path", "description" : "Name of the alias.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string" }, "example" : "da2c9029-b180-42a7-b473-50d182a01f8a" } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, indicating whether or not the operation was successful.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BaseResponse" } } } } } }, "patch" : { "tags" : [ "Alias" ], "summary" : "Updates the address attached to a bank account alias.", "description" : "In most SEPA countries, address data is not required for payment processing. However, some countries require addresses in addition to means of payment data for successful authorization. This endpoint provides functionality to update this address data.", "operationId" : "aliasBankAccountAddressPatch", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "alias", "in" : "path", "description" : "Name of the alias.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string" }, "example" : "da2c9029-b180-42a7-b473-50d182a01f8a" } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CommonAddress" }, "examples" : { "sample20" : { "summary" : "Sample SEPA address.", "description" : "Sample SEPA address.", "value" : { "street" : "newStreet", "streetNumber" : "21", "postalCode" : "98765", "city" : "newCity", "country" : "DE" } } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by information about the updated alias. Sensitive bank account data may be masked, depending on the configuration of the merchant's account. If the alias was unknown or in case of a known business or persistence error, only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasResponse" } } } } } } }, "/alias/bankaccount" : { "post" : { "tags" : [ "Alias" ], "summary" : "Creates a new bank account alias.", "description" : "Clients may specify a bank account alias themselves by submitting the desired value in the alias field. If the alias field is left blank, an alias will be generated. Bank account aliases may also be created during payment processing. The bank account field of the request requires an iban to be present. All other fields are optional. In most SEPA countries, address data is not required for payment processing. However, some countries require addresses in addition to means of payment data for successful authorization. This is why this endpoint provides an option to specify additional address data which will be stored along with the new alias if present. Bank accounts and aliases have a 1:1 relation, that is if an alias is assigned to a bank account creating another alias for the same bank account results in an error, as does assigning an existing alias to another bank account.", "operationId" : "aliasBankAccountCreatePost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasBankAccountRequest" }, "example" : { "alias" : "example-dd-alias", "bank_account" : { "iban" : "DE39123456790009290701", "account_holder" : "Rene Holder" } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by information about the created alias. Sensitive bank account data may be masked, depending on the configuration of the merchant's account. In case of a known business or persistence error, only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasResponse" } } } } } } }, "/alias/bankaccount/get" : { "post" : { "tags" : [ "Alias" ], "summary" : "Retrieves a bank account alias by bank account data.", "description" : "Due to security reasons, this is a _GET with body payload_ (see https://opensource.zalando.com/restful-api-guidelines/#get-with-body) operation. No resources will be created.", "operationId" : "aliasBankAccountGetPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BankAccount" }, "example" : { "iban" : "DE39123456790009290701", "account_holder" : "Rene Holder" } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by information about the alias. Sensitive bank account data may be masked, depending on the configuration of the merchant's account. In case of a known business or persistence error, only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasResponse" } } } } } } }, "/alias/creditcard" : { "post" : { "tags" : [ "Alias" ], "summary" : "Creates a new credit card alias.", "description" : "Clients may specify a card number alias themselves by submitting the desired value in the alias field. If the alias field is left blank, an alias will be generated. Card number aliases may also be created during payment processing. The credit card field of the request requires a number and an expiry date to be present. All other fields are optional. Credit cards and aliases have a 1:1 relation, that is if an alias is assigned to a credit card creating another alias for the same card results in an error, as does assigning an existing alias to another credit card.", "operationId" : "aliasCreditCardCreatePost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasCreditCardRequest" }, "example" : { "alias" : "example-cc-alias", "credit_card" : { "number" : "4111111111111111", "code" : "123", "cardHolder" : "Card T. Holder", "expiry_date" : { "year" : 2029, "month" : 11 } } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by information about the created alias. Sensitive credit card data may be masked, depending on the configuration of the merchant's account. In case of a known business or persistence error, only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasResponse" } } } } } } }, "/alias/creditcard/{alias}" : { "get" : { "tags" : [ "Alias" ], "summary" : "Retrieves a credit card alias by its name.", "operationId" : "aliasCreditCardGet", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "alias", "in" : "path", "description" : "Name of the alias.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string" }, "example" : "da2c9029-b180-42a7-b473-50d182a01f8a" } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by information about the alias. Sensitive credit card data may be masked, depending on the configuration of the merchant's account. In case of a known business or persistence error, only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasResponse" } } } } } }, "delete" : { "tags" : [ "Alias" ], "summary" : "Deletes a credit card alias.", "operationId" : "aliasCreditCardDelete", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "alias", "in" : "path", "description" : "Name of the alias.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string" }, "example" : "da2c9029-b180-42a7-b473-50d182a01f8a" } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, indicating whether or not the operation was successful.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BaseResponse" } } } } } } }, "/alias/creditcard/get" : { "post" : { "tags" : [ "Alias" ], "summary" : "Retrieves a credit card alias by credit card data.", "description" : "Due to security reasons, this is a _GET with body payload_ (see https://opensource.zalando.com/restful-api-guidelines/#get-with-body) operation. No resources will be created.", "operationId" : "aliasCreditCardGetPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CreditCard" }, "example" : { "number" : "4111111111111111", "code" : "123", "cardHolder" : "Card T. Holder", "expiry_date" : { "year" : 2029, "month" : 11 } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by information about the alias. Sensitive credit card data may be masked, depending on the configuration of the merchant's account. If the credit card data did not match a known credit card or in case of a known business or persistence error, only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasResponse" } } } } } } }, "/alias/{alias}" : { "get" : { "tags" : [ "Alias" ], "summary" : "Retrieves a credit card or bank account alias by its name.", "description" : "This is a generalized variant of the other GET alias endpoints of this API. May be used by clients that cannot or do not want to decide on the type of alias to be retrieved.", "operationId" : "aliasGet", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "alias", "in" : "path", "description" : "Name of the alias.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string" }, "example" : "da2c9029-b180-42a7-b473-50d182a01f8a" } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by information about the alias. Depending on the type of means of payment this alias is connected to, the appropriate fields will be set in the response. Sensitive means of payment data may be masked, depending on the configuration of the merchant's account. If the alias is unknown or in case of a known business or persistence error, only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/AliasResponse" } } } } } }, "delete" : { "tags" : [ "Alias" ], "summary" : "Deletes a credit card or bank account alias.", "description" : "This is a generalized variant of the other DELETE alias endpoints of this API. May be used by clients that cannot or do not want to decide on the type of alias to be deleted.", "operationId" : "aliasDelete", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "alias", "in" : "path", "description" : "Name of the alias.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string" }, "example" : "da2c9029-b180-42a7-b473-50d182a01f8a" } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, indicating whether or not the operation was successful.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/BaseResponse" } } } } } } }, "/form/alias/bankaccount" : { "post" : { "tags" : [ "Forms" ], "summary" : "Creates a form to enter bank account data and create an alias for it.", "operationId" : "formAliasBankAccountPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormRegisterAliasRequest" }, "example" : { "alias" : "AL1234_XY", "form_customer_continuation" : { "success_url" : "https://www.example.com/target.php?success", "error_url" : "https://www.example.com/target.php?error", "notification_failed_url" : "https://www.example.com/target.php?notifyfailed" }, "callback" : { "notify_url" : "http://www.example.com/notify" } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Values required to initialize a form interaction. No transaction is created.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormNoTxResponse" } } } } } } }, "/form/alias/creditcard" : { "post" : { "tags" : [ "Forms" ], "summary" : "Creates a form to enter credit card data and create an alias for it.", "operationId" : "formAliasCreditCardPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormRegisterAliasRequest" }, "example" : { "alias" : "AL1234_XY", "form_customer_continuation" : { "success_url" : "https://www.example.com/target.php?success", "error_url" : "https://www.example.com/target.php?error", "notification_failed_url" : "https://www.example.com/target.php?notifyfailed" }, "callback" : { "notify_url" : "http://www.example.com/notify" } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Values required to initialize a form interaction. No transaction is created.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormNoTxResponse" } } } } } } }, "/form/event/{event_id}/checkout/{tx_action}" : { "post" : { "tags" : [ "Forms" ], "summary" : "Creates a redirect to a checkout page where the customer may choose one of the offered means of payments \n (for instance credit card or Request to Pay) and then continue the payment.", "operationId" : "formCheckoutPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } }, { "name" : "tx_action", "in" : "path", "description" : "The action of an initial transaction.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "enum" : [ "authorization", "preauthorization" ] } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormCheckoutRequest" }, "example" : { "checkout_page_configuration" : { "direct_debit_data" : { "mandate" : { "reference" : "MDT1620213727383XY", "mandate_name" : "Sample mandate name", "signed_on" : "2020-12-30", "mandate_sequence_type" : "ONEOFF" } }, "request_to_pay_data" : { "customer_id" : "testCustrID" }, "checkout_entry_sorting_order" : [ "DIRECTDEBIT", "REQUEST_TO_PAY" ] }, "amount_total" : { "amount" : 100, "currency" : "EUR" }, "form_customer_continuation" : { "success_url" : "https://www.example.com/target.php?success", "error_url" : "https://www.example.com/target.php?error", "notification_failed_url" : "https://www.example.com/target.php?notifyfailed" }, "callback" : { "notify_url" : "http://www.example.com/notify" } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Values required to initialize a form interaction, a return code and a message. In case of a known business or persistence error,\n only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormResponse" } } } } } } }, "/form/event/{event_id}/creditcard/{tx_action}" : { "post" : { "tags" : [ "Forms" ], "summary" : "Creates a form to enter credit card data and then proceed with the transaction (pre-authorization, authorization, or verify MOP).", "operationId" : "formCreditCardPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } }, { "name" : "tx_action", "in" : "path", "description" : "The action of an initial transaction.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "enum" : [ "authorization", "preauthorization", "verify-mop" ] } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormCreditCardRequest" }, "examples" : { "exampleccv2a" : { "summary" : "Sample initialization of a credit card transaction.", "description" : "Redirect the customer to the URL received in the result.", "value" : { "amount_total" : { "amount" : 100, "currency" : "EUR" }, "form_customer_continuation" : { "success_url" : "https://www.example.com/target.php?success", "error_url" : "https://www.example.com/target.php?error", "notification_failed_url" : "https://www.example.com/target.php?notifyfailed" }, "callback" : { "notify_url" : "http://www.example.com/notify" }, "basket_id" : "basketId1639066152435" } } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Values required to initialize a form interaction, a return code and a message. In case of a known business or persistence error,\n only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormResponse" } } } } } } }, "/form/event/{event_id}/directdebit/{tx_action}" : { "post" : { "tags" : [ "Forms" ], "summary" : "Creates a form to enter bank account data and then proceed with an SDD transaction (pre-authorization, authorization, or verify MOP).", "operationId" : "formDirectDebitPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } }, { "name" : "tx_action", "in" : "path", "description" : "The action of an initial transaction.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "enum" : [ "authorization", "preauthorization", "verify-mop" ] } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormDirectDebitRequest" }, "example" : { "amount_total" : { "amount" : 100, "currency" : "EUR" }, "direct_debit_data" : { "mandate" : { "reference" : "MDT1620213727383XY", "mandate_name" : "Sample mandate name", "signed_on" : "2020-12-30", "mandate_sequence_type" : "ONEOFF" } }, "form_customer_continuation" : { "success_url" : "https://www.example.com/target.php?success", "error_url" : "https://www.example.com/target.php?error", "notification_failed_url" : "https://www.example.com/target.php?notifyfailed" }, "callback" : { "notify_url" : "http://www.example.com/notify" } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Values required to initialize a form interaction, a return code and a message. \n In case of a known business or persistence error,\n only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormResponse" } } } } } } }, "/form/event/{event_id}/paypal/{tx_action}" : { "post" : { "tags" : [ "Forms" ], "summary" : "Initializes a PayPal transaction (pre-authorization or authorization).", "description" : "Start a new PayPal transaction sequence. Customers should be redirected to the returned URL.", "operationId" : "formPayPalInitPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } }, { "name" : "tx_action", "in" : "path", "description" : "The action of an initial transaction.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "enum" : [ "authorization", "preauthorization" ] } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormPayPalRequest" }, "example" : { "form_customer_continuation" : { "success_url" : "https://www.example.com/target.php?success", "error_url" : "https://www.example.com/target.php?error", "notification_failed_url" : "https://www.example.com/target.php?notifyfailed" }, "callback" : { "notify_url" : "http://www.example.com/notify" }, "amount_total" : { "amount" : 100, "currency" : "EUR" } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by an appropriate redirect URL. In case of a known business or persistence error,\n only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormResponse" } } } } } } }, "/form/event/{event_id}/psd2/account_info" : { "post" : { "tags" : [ "Forms" ], "summary" : "Initializes a PSD2 account information transaction.", "operationId" : "formPsd2AccountInfoPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormPSD2AccountInfoRequest" }, "example" : { "bank_id" : "bG0E", "requested_details" : [ "OWNER" ], "form_customer_continuation" : { "success_url" : "https://www.example.com/target.php?success", "error_url" : "https://www.example.com/target.php?error", "notification_failed_url" : "https://www.example.com/target.php?notifyfailed" }, "callback" : { "skip" : true } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Values required to initialise a form interaction.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormResponse" } } } } } } }, "/form/event/{event_id}/credittransfer" : { "post" : { "tags" : [ "Forms" ], "summary" : "Initializes a Request to Pay transaction (authorization).", "operationId" : "formRequestToPayPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormRequestToPayRequest" }, "example" : { "amount_total" : { "amount" : 100, "currency" : "EUR" }, "callback" : { "notify_url" : "http://www.example.com/notify" }, "form_customer_continuation" : { "success_url" : "https://www.example.com/target.php?success", "error_url" : "https://www.example.com/target.php?error", "notification_failed_url" : "https://www.example.com/target.php?notifyfailed" }, "form_data" : { "locale" : "fr" }, "request_to_pay_data" : { "processing_options" : [ "INSTANT_IF_POSSIBLE" ] } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Values required to initialize a form interaction, a return code and a message. In case of a known business or persistence error,\n only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormResponse" } } } } } } }, "/form/event/{event_id}/sofort" : { "post" : { "tags" : [ "Forms" ], "summary" : "Initializes a Sofortüberweisung transaction (authorization).", "description" : "Start a new Sofortüberweisung sequence. Customers should be redirected to the returned URL.", "operationId" : "formSofortUeberweisungInitPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormSofortUeberweisungRequest" }, "examples" : { "sample20" : { "summary" : "Sample Sofortüberweisung initialization request.", "description" : "Start a new Sofortüberweisung sequence.", "value" : { "form_customer_continuation" : { "success_url" : "https://www.example.com/target.php?success", "error_url" : "https://www.example.com/target.php?error", "notification_failed_url" : "https://www.example.com/target.php?notifyfailed" }, "callback" : { "notify_url" : "http://www.example.com/notify" }, "amount_total" : { "amount" : 100, "currency" : "EUR" }, "basket_id" : "basketId1639066152435" } } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "A return code and a message, accompanied by an appropriate redirect URL. In case of a known business or persistence error,\n only error code and message are provided.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/FormResponse" } } } } } } }, "/headless3DSecure/event/{event_id}/final" : { "post" : { "tags" : [ "Headless 3-D Secure" ], "summary" : "Step 3 of a headless 3-D Secure transaction: finalizes transaction.", "operationId" : "headless3DSecureFinalPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event. Use the same value as in the predecessor transaction the current transaction relates to.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Headless3DSecureFinalRequest" }, "example" : { "cres" : "ew0KICAiZXhhbXBsZSIgOiAicmVxdWVzdCINCn0=" } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Information about the outcome of the transaction.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentResponse" }, "example" : { "amount_total" : { "amount" : 100, "currency" : "EUR" }, "event_id" : "id1628241998006", "kind" : "CREDITCARD_3DS20", "tx_action" : "preauthorization", "tx_id" : "7P6cconB5vYqBQqGjyO8yR", "back_rc" : "00", "transaction_info" : { "type" : "creditcard", "transaction_creditcard_info" : { "credit_card" : { "number" : "401200******4444", "expiry_date" : { "year" : 2034, "month" : 12 }, "cardholder" : "Card Holder" } } }, "rc" : "0", "message" : "Transaction successful." } } } } } } }, "/headless3DSecure/event/{event_id}/{tx_action}/initialize" : { "post" : { "tags" : [ "Headless 3-D Secure" ], "summary" : "Step 1 of a headless 3-D Secure transaction (authorization, pre-authorization, credit, verify MOP): initializes transaction.", "operationId" : "headless3DSecureInitializePost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } }, { "name" : "tx_action", "in" : "path", "description" : "The action of an initial transaction.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "enum" : [ "authorization", "preauthorization", "credit", "verify-mop" ] } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Headless3DSecureInitializeRequest" }, "examples" : { "sample20" : { "summary" : "Sample headless 3-D Secure initial request.", "description" : "Sample headless 3-D Secure initial request.", "value" : { "means_of_payment" : { "credit_card" : { "number" : "4012001037167778", "expiry_date" : { "year" : 2034, "month" : 12 }, "code" : "123", "cardholder" : "Card Holder" } }, "tds_20_data" : { "browser_data" : { "accept_header" : "accept", "color_depth" : "B16", "ip" : "1.1.1.1", "java_enabled" : false, "java_script_enabled" : true, "language" : "de", "screen_height" : 1000, "screen_width" : 1000, "tz" : -120, "user_agent" : "ua" }, "communication_data" : { "method_notification_url" : "https://example.com/method_notification_url", "cres_notification_url" : "https://example.com/cres_notification_url" }, "merchant_risk_indicators" : { "delivery_email_address" : "delivery@example.com", "delivery_timeframe" : "ELECTRONIC", "gift_card_amount" : "900", "gift_card_count" : "1", "gift_card_currency" : "EUR", "pre_order_purchase_indicator" : "AVAILABLE", "reordered_items_indicator" : "FIRST", "shipping_indicator" : "DIGITAL" } }, "amount_total" : { "amount" : 100, "currency" : "EUR" } } } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Information about the outcome of the transaction.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Headless3DSecureResponse" }, "examples" : { "sample_response_to_initial_request_-_transaction_processed" : { "summary" : "Transaction has been processed, no further actions required.", "description" : "Transaction has been processed, no further actions required.", "value" : { "outcome" : "PROCESSED", "processed" : { "amount_total" : { "amount" : 100, "currency" : "EUR" }, "event_id" : "id1628241502404", "kind" : "CREDITCARD_3DS20", "tx_action" : "preauthorization", "tx_id" : "fCDszGoUje8piOUC2tVVU9", "back_rc" : "00", "transaction_info" : { "type" : "creditcard", "transaction_creditcard_info" : { "credit_card" : { "number" : "401200******7778", "expiry_date" : { "year" : 2034, "month" : 12 }, "cardholder" : "Card Holder" } } }, "rc" : "0", "message" : "Transaction successful." }, "rc" : "0", "message" : "Transaction successful." } }, "sample_response_to_initial_request_-_method_flow_required" : { "summary" : "Proceed with 3-D Secure method flow.", "description" : "Proceed with 3-D Secure method flow.", "value" : { "outcome" : "METHOD_REQUIRED", "method_required" : { "method_request" : "ew0KICAiY29udGVudCIgOiAiZHVtbXkiDQp9" }, "rc" : "1548", "message" : "Transaction is pending." } }, "sample_response_to_initial_request_-_challenge_flow_required" : { "summary" : "Proceed with 3-D Secure challenge flow.", "description" : "Proceed with 3-D Secure challenge flow.", "value" : { "outcome" : "CHALLENGE_REQUIRED", "challenge_required" : { "acs_url" : "https://acs.example.com/acs/challenge/ew0KICAiZHVtbXkiIDogImR1bW15Ig0KfQ==", "creq" : "ew0KICAiZHVtbXkiIDogImNvbnRlbnQiDQp9" }, "rc" : "1548", "message" : "Transaction is pending." } } } } } } } } }, "/headless3DSecure/event/{event_id}/method_completed/{completed}" : { "post" : { "tags" : [ "Headless 3-D Secure" ], "summary" : "Step 2 of a headless 3-D Secure transaction: processes method completion.", "operationId" : "headless3DSecureMethodCompletedPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event. Use the same value as in the predecessor transaction the current transaction relates to.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } }, { "name" : "completed", "in" : "path", "description" : "Indicates if the shop has received a request from the ACS to the methodNotificationURL within 10 seconds (true) or not (false).", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "boolean" } } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Information about the outcome of the transaction.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Headless3DSecureResponse" }, "examples" : { "sample_response_to_method_request_-_transaction_processed" : { "summary" : "Transaction has been processed, no further actions required.", "description" : "Transaction has been processed, no further actions required.", "value" : { "outcome" : "PROCESSED", "processed" : { "amount_total" : { "amount" : 100, "currency" : "EUR" }, "event_id" : "id1628241502404", "kind" : "CREDITCARD_3DS20", "tx_action" : "preauthorization", "tx_id" : "fCDszGoUje8piOUC2tVVU9", "back_rc" : "00", "transaction_info" : { "type" : "creditcard", "transaction_creditcard_info" : { "credit_card" : { "number" : "401200******7778", "expiry_date" : { "year" : 2034, "month" : 12 }, "cardholder" : "Card Holder" } } }, "rc" : "0", "message" : "Transaction successful." }, "rc" : "0", "message" : "Transaction successful." } }, "sample_response_to_method_request_-_challenge_flow_required" : { "summary" : "Proceed with 3-D Secure challenge flow.", "description" : "Proceed with 3-D Secure challenge flow.", "value" : { "outcome" : "CHALLENGE_REQUIRED", "challenge_required" : { "acs_url" : "https://acs.example.com/acs/challenge/ew0KICAiZHVtbXkiIDogImR1bW15Ig0KfQ==", "creq" : "ew0KICAiZHVtbXkiIDogImNvbnRlbnQiDQp9" }, "rc" : "1548", "message" : "Transaction is pending." } } } } } } } } }, "/iframe/initialize" : { "post" : { "tags" : [ "iFrame" ], "summary" : "Prepares an iFrame interaction.", "operationId" : "iFrameInitializePost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IFrameInitializeRequest" }, "example" : { "amount_total" : { "amount" : 100, "currency" : "EUR" } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Values required to initialize an iFrame interaction.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/IFrameInitializeResponse" } } } } } } }, "/info/banks/psd2" : { "get" : { "tags" : [ "Info" ], "summary" : "Retrieves how banks matching the given search criteria support PSD 2 account information services.", "description" : "Finds and returns banks which match the given query parameter.\nUse either _name_ or _bic_ or _bank_code_ or _any_ for filtering. If you use _any_ banks including\nthe given value in any of the fields _name_, _bic_ or _bank_code_ will be returned. Searching is\ncarried out case-insensitive.", "operationId" : "infoBanksPSD2Get", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "name", "in" : "query", "description" : "Fragment of bank name.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "string" }, "example" : "Sparkasse" }, { "name" : "bic", "in" : "query", "description" : "Fragment of BIC (business identifier code).", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "string" } }, { "name" : "bank_code", "in" : "query", "description" : "Fragment of German bank code (Bankleitzahl, BLZ).", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "string" } }, { "name" : "any", "in" : "query", "description" : "Fragment of either bank name, BIC or bank code.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "string" } }, { "name" : "offset", "in" : "query", "description" : "Number of rows to skip at the beginning of the total result set.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "default" : 0 } }, { "name" : "limit", "in" : "query", "description" : "Maximum number of result items to be returned.", "required" : false, "style" : "form", "explode" : true, "schema" : { "type" : "integer", "format" : "int32", "default" : 10 } } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Paged response with matching banks.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PSD2BankResults" }, "example" : { "metadata" : { "limit" : 10, "offset" : 0, "total" : 2 }, "banks" : [ { "name" : "Sparkasse KölnBonn", "town" : "Köln", "bic" : "COLSDE33XXX", "bank_code" : "37050198", "psd2_supported" : false }, { "id" : "lsw", "name" : "Stadt- und Kreissparkasse Leipzig", "town" : "Leipzig", "bic" : "WELADE8LXXX", "bank_code" : "86055592", "psd2_supported" : true, "capabilities" : [ "AVAILABLE_ACCOUNTS", "AVAILABLE_ACCOUNTS_WITH_BALANCE", "GLOBAL_CONSENT" ] } ] } } } } } } }, "/info/event/{event_id}/psd2/account_info" : { "get" : { "tags" : [ "Info" ], "summary" : "Retrieves bank account details which were stored in a previous PSD 2 account information transaction.", "operationId" : "infoPsd2AccountInfoGet", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Bank account details which were stored in a previous step.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PSD2AccountInfoResponse" } } } } } } }, "/payment/event/{event_id}/creditcard/{tx_action}" : { "post" : { "tags" : [ "Payment" ], "summary" : "Creates an initial creditcard payment transaction (authorization, pre-authorization, credit, or verify MOP).", "operationId" : "paymentCreditCardPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } }, { "name" : "tx_action", "in" : "path", "description" : "The action of an initial transaction.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "enum" : [ "authorization", "preauthorization", "credit", "verify-mop" ] } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentCreditCardRequestInitial" }, "example" : { "amount_total" : { "amount" : 100, "currency" : "EUR" }, "means_of_payment" : { "credit_card" : { "number" : "4111111111111111", "expiry_date" : { "year" : 2027, "month" : 12 }, "code" : "111", "card_holder" : "Rene Meier" } } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "Information about the payment", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentResponse" } } } } } } }, "/payment/event/{event_id}/directdebit/{tx_action}" : { "post" : { "tags" : [ "Payment" ], "summary" : "Creates an initial SDD payment transaction (pre-authorization, authorization, credit, or verify MOP).", "operationId" : "paymentDirectDebitPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } }, { "name" : "tx_action", "in" : "path", "description" : "The action of an initial transaction.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "enum" : [ "authorization", "preauthorization", "credit", "verify-mop" ] } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentDirectDebitRequestInitial" }, "example" : { "amount_total" : { "amount" : 100, "currency" : "EUR" }, "means_of_payment" : { "bank_account" : { "account_holder" : "Rene Meier", "iban" : "DE39123456790009290701" } }, "mandate" : { "reference" : "MDT1620213727383XY", "mandate_name" : "Sample mandate name", "signed_on" : "2020-12-30", "mandate_sequence_type" : "ONEOFF" } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "The request has been processed.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentResponse" } } } } } } }, "/payment/event/{event_id}" : { "get" : { "tags" : [ "Payment" ], "summary" : "Retrieves details of an event (consisting of one or more transactions).", "operationId" : "paymentEventGet", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "The request has been processed.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentDiagnosisEventResponse" } } } } } } }, "/payment/event/{event_id}/tx/{tx_id}/{tx_action}" : { "post" : { "tags" : [ "Payment" ], "summary" : "Creates a subsequent transaction (capture, reversal, or refund) referencing a predecessor transaction (pre-authorization, authorization, or credit).", "operationId" : "paymentTxActionPost", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "event_id", "in" : "path", "description" : "A unique ID for the event. Use the same value as in the predecessor transaction the current transaction relates to.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string" } }, { "name" : "tx_id", "in" : "path", "description" : "A reference to a transaction retrieved in a response (tx_reference_id).", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[/0-9a-zA-Z=_-]+", "type" : "string" }, "example" : "020LMG10jxSI8FN0OC4vLR" }, { "name" : "tx_action", "in" : "path", "description" : "The action of a subsequent transaction.", "required" : true, "style" : "simple", "explode" : false, "schema" : { "type" : "string", "enum" : [ "capture", "reversal", "refund" ] } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentRequestSubsequent" }, "examples" : { "sample2" : { "summary" : "Sample credit card subsequent transaction", "description" : "Sample credit card subsequent transaction", "value" : { "kind" : "CREDITCARD" } } } } } }, "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "The request has been processed.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentResponse" } } } } } } }, "/payment/tx/{tx_id}" : { "get" : { "tags" : [ "Payment" ], "summary" : "Retrieves details of a (single) transaction.", "operationId" : "paymentTxGet", "parameters" : [ { "name" : "Merchant-ID", "in" : "header", "description" : "Unique identification of the merchant for whom the transaction is carried out. This parameter is required if the `Merchant-ID` cannot be derived from the `client_id` you used for authentication.", "required" : false, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 10, "minLength" : 10, "pattern" : "[0-9]+", "type" : "string" } }, { "name" : "tx_id", "in" : "path", "description" : "A reference to a transaction retrieved in a response (tx_reference_id).", "required" : true, "style" : "simple", "explode" : false, "schema" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[/0-9a-zA-Z=_-]+", "type" : "string" }, "example" : "020LMG10jxSI8FN0OC4vLR" } ], "responses" : { "400" : { "description" : "Response in case of an error. Includes a response code and an error message.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "401" : { "description" : "Unauthorized request. Response body may be empty.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ErrorModel" } } } }, "200" : { "description" : "The request has been processed.", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/PaymentResponse" } } } } } } } }, "components" : { "schemas" : { "ErrorModel" : { "required" : [ "message", "rc" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Four digit response code.", "example" : "4001" }, "message" : { "type" : "string", "description" : "Describes the error.", "example" : "unexpected error" } }, "description" : "Includes data returned in case of an error." }, "AliasInfo" : { "type" : "object", "properties" : { "alias" : { "type" : "string", "description" : "Name of the alias.", "example" : "da2c9029-b180-42a7-b473-50d182a01f8a" }, "credit_card" : { "$ref" : "#/components/schemas/CreditCardInfo" }, "bank_account" : { "$ref" : "#/components/schemas/BankAccount" }, "address" : { "$ref" : "#/components/schemas/CommonAddress" } }, "description" : "Contains information about the created or updated alias. This field is null if the there was no 'alias_info' in the request." }, "AliasResponse" : { "required" : [ "message", "rc" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." }, "alias_info" : { "$ref" : "#/components/schemas/AliasInfo" } }, "description" : "Common response of all alias requests." }, "BankAccount" : { "required" : [ "iban" ], "type" : "object", "properties" : { "bic" : { "maxLength" : 11, "minLength" : 11, "pattern" : "[A-Z]{6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3}", "type" : "string", "description" : "The business identifier code (BIC) of a bank account. If the branch identifier\n (positions 9 to 11) is not applicable, it is set to \"XXX\". ", "example" : "VZVDDED1XXX" }, "iban" : { "maxLength" : 34, "minLength" : 15, "pattern" : "[A-Z]{2}[0-9]{2}[A-Z0-9*]{11,30}", "type" : "string", "description" : "The international bank account number of a bank account.", "example" : "DE17215730140403340300" }, "account_holder" : { "maxLength" : 27, "minLength" : 1, "pattern" : ".*", "type" : "string", "description" : "The account holder of the bank account.", "example" : "Max Muster" }, "bank_name" : { "type" : "string", "description" : "Name of the bank.", "example" : "Musterbank" } }, "description" : "Information about a bank account." }, "CommonAddress" : { "type" : "object", "properties" : { "street" : { "type" : "string", "description" : "The street.", "example" : "Main Street" }, "street_number" : { "type" : "string", "description" : "The street number.", "example" : "123a" }, "postal_code" : { "maxLength" : 60, "minLength" : 0, "type" : "string", "description" : "Postal code of the address.", "example" : "80469" }, "city" : { "maxLength" : 60, "minLength" : 0, "type" : "string", "description" : "City of the address.", "example" : "Munich" }, "country" : { "maxLength" : 2, "minLength" : 2, "pattern" : "[A-Z]{2}", "type" : "string", "description" : "The ISO 3166 Alpha-2 country code (upper case) of the individual's homeland.", "example" : "DE" } }, "description" : "Address data as applicable to most use cases." }, "CreditCardInfo" : { "required" : [ "expiry_date", "number" ], "type" : "object", "properties" : { "number" : { "maxLength" : 19, "minLength" : 10, "pattern" : "[0-9]*", "type" : "string", "description" : "The credit card number (Primary Account Number). It is sometimes masked in response messages, for example 411111******1111.", "example" : "41111111111111111" }, "expiry_date" : { "$ref" : "#/components/schemas/ExpiryDate" }, "cardholder" : { "maxLength" : 27, "minLength" : 1, "type" : "string", "description" : "The holder of a credit card.", "example" : "Max Muster" } }, "description" : "Information about a credit card." }, "ExpiryDate" : { "required" : [ "month", "year" ], "type" : "object", "properties" : { "year" : { "maximum" : 2099, "minimum" : 2000, "type" : "integer", "description" : "The credit card expiry year.", "format" : "int32", "example" : 2021 }, "month" : { "maximum" : 12, "minimum" : 1, "type" : "integer", "description" : "The credit card expiry month.", "format" : "int32", "example" : 11 } }, "description" : "The credit card expiry date." }, "AliasBankAccountRequest" : { "type" : "object", "properties" : { "alias" : { "maxLength" : 50, "minLength" : 0, "type" : "string", "description" : "The alias value. If no value is set an alias is created by the system.", "example" : "221f56ca355d8e6c42517749cf79ceb8" }, "token" : { "maxLength" : 500, "minLength" : 0, "pattern" : "[a-zA-Z0-9/+=_-]*", "type" : "string", "description" : "The token value.", "example" : "eyJ0IjoiSFcyaS13cTB3PT0iLCJzIjoiaWIybzFRMHEifQ" }, "bank_account" : { "$ref" : "#/components/schemas/BankAccount" }, "address" : { "$ref" : "#/components/schemas/CommonAddress" } }, "description" : "Contains information used to create an alias for a bank account. Either `token` or `bank_account` must be specified." }, "BaseResponse" : { "required" : [ "message", "rc" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." } } }, "AliasCreditCardRequest" : { "type" : "object", "properties" : { "alias" : { "maxLength" : 50, "minLength" : 0, "type" : "string", "description" : "The alias value. If no value is set an alias is created by the system.", "example" : "221f56ca355d8e6c42517749cf79ceb8" }, "token" : { "maxLength" : 500, "minLength" : 0, "pattern" : "[a-zA-Z0-9/+=_-]*", "type" : "string", "description" : "The token value.", "example" : "eyJ0IjoiSFcyaS13cTB3PT0iLCJzIjoiaWIybzFRMHEifQ" }, "credit_card" : { "$ref" : "#/components/schemas/CreditCard" } }, "description" : "Contains information used to create an alias for a credit card. Either `token` or `credit_card` must be specified." }, "CreditCard" : { "required" : [ "expiry_date", "number" ], "type" : "object", "properties" : { "number" : { "maxLength" : 19, "minLength" : 10, "pattern" : "[0-9]*", "type" : "string", "description" : "The credit card number (Primary Account Number). It is sometimes masked in response messages, for example 411111******1111.", "example" : "41111111111111111" }, "expiry_date" : { "$ref" : "#/components/schemas/ExpiryDate" }, "code" : { "maxLength" : 4, "minLength" : 3, "pattern" : "[0-9]*", "type" : "string", "description" : "Card verification number of the credit card (also CVV or CVC).", "example" : "332" }, "cardholder" : { "maxLength" : 27, "minLength" : 1, "type" : "string", "description" : "The holder of a credit card.", "example" : "Max Muster" } }, "description" : "Information about a credit card." }, "FormNoTxResponse" : { "required" : [ "message", "rc" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." }, "redirect_url" : { "maxLength" : 1024, "minLength" : 0, "type" : "string", "description" : "URL to redirect the customer to.", "example" : "https://staging.pushpayments.db.com/pay/eyJwYXlsb2FkIjp7InYiOjEsImlwaS" } }, "description" : "Values required to initialize a form interaction." }, "Callback" : { "type" : "object", "properties" : { "notify_url" : { "maxLength" : 500, "minLength" : 1, "type" : "string", "description" : "URL for the shop notification.", "example" : "https://www.example.com/notify/e1234123489" }, "additional_data" : { "maxLength" : 255, "minLength" : 0, "type" : "string", "description" : "Freely allocatable field. Will be returned in the shop notification.", "example" : "SESSION_1234X" }, "skip" : { "type" : "boolean", "description" : "If true the shop notification is skipped.", "default" : false } }, "description" : "Data for the shop notification." }, "FormCustomerContinuation" : { "required" : [ "success_url" ], "type" : "object", "properties" : { "redirect" : { "type" : "boolean", "description" : "If `true` the customer will be redirected directly. If `false` a page with a link \"back to the shop\" is shown to the customer. \nFor paydirekt and PayPal the customer will always be redirected directly to the shop.", "example" : true }, "success_url" : { "type" : "string", "description" : "URL the customer should be redirected to after a successful form service payment.", "example" : "https://www.example.com/success" }, "error_url" : { "type" : "string", "description" : "URL the customer should be redirected to after a failed form service payment.", "example" : "https://www.example.com/error" }, "notification_failed_url" : { "type" : "string", "description" : "URL the customer should be redirected to after a successful form service transaction for which the notification of your application failed.", "example" : "https://www.example.com/notificationFailed" } }, "description" : "Includes data for redirecting a customer after a form service payment." }, "FormData" : { "type" : "object", "properties" : { "retries" : { "maximum" : 100, "minimum" : 0, "type" : "integer", "description" : "Specifies how often the customer may retry the payment if the payment fails. Default: 0.", "format" : "int32" }, "locale" : { "type" : "string", "description" : "Language of the form to be displayed according to ISO 639-1. The following languages are available:\n `bg` - Bulgarian,\n `ca` - Catalan,\n `cs` - Czech,\n `da` - Danish,\n `de` - German,\n `el` - Greek,\n `en` - English,\n `es` - Spanish,\n `et` - Estonian,\n `eu` - Basque,\n `fi` - Finnish,\n `fr` - French,\n `gl` - Galician,\n `hr` - Croatian,\n `hu` - Hungarian,\n `it` - Italian,\n `ja` - Japanese,\n `lt` - Lithuanian,\n `lv` - Latvian,\n `mt` - Maltese,\n `nl` - Dutch,\n `pl` - Polish,\n `pt` - Portuguese,\n `ro` - Romanian,\n `ru` - Russian,\n `sk` - Slovak,\n `sl` - Slovenian,\n `sv` - Swedish.\n If not submitted, the German form will be displayed. Additional \"locales\" with\n modified text exist for donations: `de_DE_sp` (donation, German) and `en_GB_sp`\n (donation, English).", "example" : "en" }, "merchant_name" : { "type" : "string", "description" : "Merchant name to be displayed in the form. If empty, no merchant name will be displayed. If this element is omitted the merchant name configured in the system is displayed." }, "label" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/FormLabel" } }, "theme_properties" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/FormThemeProperty" } } }, "description" : "Data to customize forms with labels, theme, style properties etc." }, "FormLabel" : { "required" : [ "key", "value" ], "type" : "object", "properties" : { "key" : { "type" : "string", "description" : "The form label ID to be modified.", "enum" : [ "LABEL_AMOUNT", "LABEL_DATE", "LABEL_CANCEL", "LABEL_IBAN", "LABEL_MERCHANT", "LABEL_SUBMIT", "LABEL_WAIT", "MESSAGE_PAYMENT_CANCELED", "MESSAGE_PLEASE_GO", "MESSAGE_BACK_TO_CHECKOUT", "MERCHANTNAME", "TITLE_PAYMENT_DATA", "TITLE_PAYMENT_SUCCESSFUL", "TITLE_PSD2_ACCOUNT_INFO", "TITLE_PSD2_AUTHORISATION_REQUIRED", "TITLE_PSD2_AUTHORISE_AIS", "TITLE_PSD2_AUTHORISE_PIS", "TITLE_PAYMENT_CANCELED", "TITLE_CHECKOUT" ] }, "value" : { "type" : "string", "description" : "The new form label value." } }, "description" : "Custom label to be displayed in the form instead of the standard text." }, "FormRegisterAliasRequest" : { "required" : [ "form_customer_continuation" ], "type" : "object", "properties" : { "alias" : { "maxLength" : 50, "minLength" : 0, "type" : "string", "description" : "The alias value. If no value is set an alias is created by the system.", "example" : "221f56ca355d8e6c42517749cf79ceb8" }, "form_data" : { "$ref" : "#/components/schemas/FormData" }, "form_customer_continuation" : { "$ref" : "#/components/schemas/FormCustomerContinuation" }, "callback" : { "$ref" : "#/components/schemas/Callback" } }, "description" : "Request data to register a means of payment alias using the form service." }, "FormThemeProperty" : { "required" : [ "selector", "value" ], "type" : "object", "properties" : { "selector" : { "type" : "string", "description" : "For a number of elements custom CSS attributes can be applied.\n \nProperties ending with `ZINDEX`, `BOX_SHADOW`, `FONT_FAMILY`, `LETTER_SPACING` or `COLOR` refer\nto the following CSS attributes:\n\n\n* https://www.w3schools.com/cssref/pr_pos_z-index.asp[`z-index`] Example: `4321`\n* https://www.w3.org/TR/css-backgrounds-3/#box-shadow[`box-shadow`] Example: `0rem 0.375rem 1.5rem 0rem rgba(16,32,64,0.8)`\n* https://www.w3.org/TR/css-fonts-3/#font-family-desc[`font-family`] Example: `IBM Plex Sans`\n* https://www.w3.org/TR/CSS22/text.html#spacing-props[`letter-spacing`] Example: `0.027rem`\n* https://www.w3.org/TR/css-color-3/#rgb-color[`color`] Example: `srgb(192,32,32)`\n\nName of the theme properties:\n\n\n* `PREDEFINED`: the main theming. Available options are `dark` or `bright`\n* `GLOBAL_ZINDEX`: Global z-index. This z-index has to be higher than any z-index that may occur on page.\n* `POPUP_BOX_SHADOW`: Box shadow for whole popup.\n* `GLOBAL_FONT_FAMILY`: The one and only font family to use for any text in popup.\n* `GLOBAL_LETTER_SPACING`: Letter spacing for regular text.\n* `GLOBAL_FINEPRINT_LETTER_SPACING`: Letter spacing for fine print like caption above input fields.\n* `GLOBAL_INTERACTIVE_COLOR` Interactive color for elements like buttons or links.\n* `GLOBAL_INTERACTIVE_HOVER_COLOR` Color to use for hovering above interactive elements.\n* `MODAL_BACKGROUND_COLOR` Background color for modal element that covers everything below the popup.\n* `CARD_BACKGROUND_COLOR` Background color for main card.\n* `CARD_COLOR` Text color for main card. In css notation.\n* `HEADER_BACKGROUND_COLOR` Background color for header.\n* `FOOTER_BACKGROUND_COLOR` Background color for footer. Important for mobile view.\n* `BUTTON_SECONDARY_BACKGROUND_COLOR` Secondary colors may have a special background color instead of being transparent.\n* `BUTTON_PRIMARY_COLOR` Text color for primary buttons.\n* `INPUT_BACKGROUND_COLOR` Background color for input fields.\n* `INPUT_CAPTION_COLOR` Text color of captions above input fields.\n* `INPUT_PLACEHOLDER_COLOR` Text color for placeholders inside input fields.\n* `INPUT_BORDER_COLOR` The border color around input fields.\n* `INPUT_TEXT_COLOR` The text color for user entered values.\n\n", "enum" : [ "PREDEFINED", "GLOBAL_ZINDEX", "POPUP_BOX_SHADOW", "GLOBAL_FONT_FAMILY", "GLOBAL_LETTER_SPACING", "GLOBAL_FINEPRINT_LETTER_SPACING", "GLOBAL_INTERACTIVE_COLOR", "GLOBAL_INTERACTIVE_HOVER_COLOR", "MODAL_BACKGROUND_COLOR", "CARD_BACKGROUND_COLOR", "CARD_COLOR", "HEADER_BACKGROUND_COLOR", "FOOTER_BACKGROUND_COLOR", "BUTTON_SECONDARY_BACKGROUND_COLOR", "BUTTON_PRIMARY_COLOR", "INPUT_BACKGROUND_COLOR", "INPUT_CAPTION_COLOR", "INPUT_PLACEHOLDER_COLOR", "INPUT_BORDER_COLOR", "INPUT_TEXT_COLOR" ] }, "value" : { "type" : "string", "description" : "The property value." } }, "description" : "Custom theme property to be displayed in the form instead of the standard presentation." }, "FormResponse" : { "required" : [ "message", "rc" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." }, "redirect_url" : { "maxLength" : 1024, "minLength" : 0, "type" : "string", "description" : "URL to redirect the customer to.", "example" : "https://staging.pushpayments.db.com/pay/eyJwYXlsb2FkIjp7InYiOjEsImlwaS" }, "tx_id" : { "type" : "string", "description" : "Unique transaction identifier. Can be used to reference this transaction.", "example" : "020LMG10jxSI8FN0OC4vLR" } }, "description" : "Values required to initialize a form interaction. Contains a reference to the created transaction." }, "AmountCurrency" : { "required" : [ "amount", "currency" ], "type" : "object", "properties" : { "amount" : { "type" : "integer", "description" : "Minor currency value of an amount of money.", "format" : "int64", "example" : 200 }, "currency" : { "maxLength" : 3, "minLength" : 3, "pattern" : "[A-Z]{3}", "type" : "string", "description" : "ISO 4217 currency code, three uppercase letters.", "example" : "EUR" } }, "description" : "An amount and a currency." }, "EnhancedMandate" : { "required" : [ "reference", "signed_on" ], "type" : "object", "properties" : { "reference" : { "maxLength" : 35, "minLength" : 1, "pattern" : "[0-9a-zA-Z +?/\\-:().,']+", "type" : "string", "description" : "Reference number, unique identification of the SEPA mandate. A forward slash '/' is not allowed as the first or last character of the mandate reference number. Inside the mandate reference number two consecutive forward slashes are not allowed.", "example" : "M2013-987/1-AB" }, "mandate_name" : { "maxLength" : 70, "minLength" : 1, "pattern" : "[0-9a-zA-Z +?/\\-:().,']+", "type" : "string", "description" : "Name of the recipient that was used in the SEPA mandate. If not submitted, the name that is configured in the standing data of the shop will be used.", "example" : "Smith and Jones" }, "signed_on" : { "type" : "string", "description" : "Date when the SEPA mandate was issued. Only needed for provided mandates. Full-date notation as defined by RFC 3339, section 5.6", "format" : "date", "example" : "2017-01-01" }, "mandate_sequence_type" : { "type" : "string", "description" : "Sequence type of a payment. If not submitted a single payment is assumed.\n\n * `ONEOFF`: single payment\n * `FIRST`: first payment of a sequence\n * `RECURRING`: follow-up payment\n * `FINAL`: last payment of a sequence\n", "example" : "FIRST", "enum" : [ "ONEOFF", "FIRST", "RECURRING", "FINAL" ] }, "previous_reference" : { "maxLength" : 35, "minLength" : 1, "pattern" : "[0-9a-zA-Z +?/\\-:().,']+", "type" : "string", "description" : "Previous mandate reference number if the SEPA mandate is modified. Only in the case of recurring payments with the first payment after the mandate changed. A forward slash '/' is not allowed as the first or last character of the mandate reference number. Inside the mandate reference number two consecutive forward slashes are not allowed.", "example" : "M2013-987/1-AB" }, "previous_creditor_id" : { "type" : "string", "description" : "Previous creditor ID if the SEPA mandate is modified. Only in the case of recurring payments with the first payment after the mandate changed." }, "previous_bic" : { "maxLength" : 11, "minLength" : 11, "pattern" : "[A-Z]{6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3}", "type" : "string", "description" : "Previous BIC of the customer if the SEPA mandate is modified. Only in the case of recurring payments with the first payment after the mandate changed. Is determined by {phrase-directpos} in the case of a German previous IBAN. Mandatory in case of a previous IBAN (field previous_iban) from another country.", "example" : "VZVDDED1XXX" }, "previous_iban" : { "maxLength" : 34, "minLength" : 15, "pattern" : "[A-Z]{2}[0-9]{2}[A-Z0-9*]{11,30}", "type" : "string", "description" : "Previous IBAN of the customer if the SEPA mandate is modified. Only in the case of recurring payments with the first payment after the mandate changed.", "example" : "DE17215730140403340300" } } }, "FormCheckoutConfiguration" : { "required" : [ "checkout_entry_sorting_order" ], "type" : "object", "properties" : { "credit_card_data" : { "$ref" : "#/components/schemas/FormCheckoutCreditCardData" }, "direct_debit_data" : { "$ref" : "#/components/schemas/FormDirectDebitData" }, "request_to_pay_data" : { "$ref" : "#/components/schemas/FormRequestToPayData" }, "sofort_data" : { "$ref" : "#/components/schemas/FormSofortUeberweisungData" }, "paypal_data" : { "$ref" : "#/components/schemas/FormPayPalData" }, "checkout_entry_sorting_order" : { "type" : "array", "items" : { "type" : "string", "description" : "The order in which the payment methods of the checkout_page_configuration are displayed. Possible values: \n \n* `CREDITCARD`\n* `DIRECTDEBIT`\n* `REQUEST_TO_PAY`\n* `SOFORTUEBERWEISUNG`\n* `PAYPAL`\n", "example" : "CREDITCARD", "enum" : [ "CREDITCARD", "DIRECTDEBIT", "REQUEST_TO_PAY", "SOFORTUEBERWEISUNG", "PAYPAL" ] } } }, "description" : "Contains required and optional data for each payment method that should be offered." }, "FormCheckoutCreditCardData" : { "type" : "object", "properties" : { "tds_20_data" : { "$ref" : "#/components/schemas/TDS20Data" }, "recurring_payment" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[/0-9a-zA-Z_.:,+*$%-]+", "type" : "string", "description" : "Identifier of a recurring credit card payment.", "example" : "07H987Tx3PF9VxL5G7RfNp" }, "series_flag" : { "type" : "string", "description" : "Designates a payment as part of a series of payments.\n\n* `INSTALMENT`: for example in the case of paying a fixed sum in multiple partial payments.\n* `RECURRING`: for example in the case of a subscription or standing order.\n* `UCOF`: when a card number alias is created for future payments with the same credit card. In this case use _alias_action_ with _action_ `CREATE` with the first payment and the card number alias with the following payments. You can use the _tx_action_ `verify-mop` with the first UCOF transaction to register a card number alias without a payment.", "enum" : [ "INSTALMENT", "RECURRING", "UCOF" ] }, "sequence_type" : { "type" : "string", "description" : "If this payment is part of a sequence of payments\n\n * `FIRST`: first payment of a sequence\n * `RECURRING`: follow-up payment\n * `FINAL`: last payment of a sequence\n", "enum" : [ "FINAL", "FIRST", "RECURRING" ] }, "processing_options" : { "type" : "array", "description" : "Defines an additional processing option for credit card.", "example" : [ "RISKCHECK" ], "items" : { "type" : "string", "description" : "Additional processing option for a credit card transaction.\n\n* `RISKCHECK`: before the transaction a risk check is performed. Only available if this \noption has been activated for the shop.\n ", "example" : "RISKCHECK", "enum" : [ "RISKCHECK" ] } } }, "description" : "Base credit card data to initialize a form checkout service interaction." }, "FormCheckoutRequest" : { "required" : [ "form_customer_continuation" ], "type" : "object", "properties" : { "form_data" : { "$ref" : "#/components/schemas/FormData" }, "form_customer_continuation" : { "$ref" : "#/components/schemas/FormCustomerContinuation" }, "callback" : { "$ref" : "#/components/schemas/Callback" }, "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "basket_id" : { "type" : "string", "description" : "Dependent on the backend services the value might be shortened or special characters might be removed before sending.\n\ngiropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.", "example" : "basket123456" }, "checkout_page_configuration" : { "$ref" : "#/components/schemas/FormCheckoutConfiguration" } }, "description" : "Request data that is being used after selecting a payment method on the checkout page." }, "FormDirectDebitData" : { "required" : [ "mandate" ], "type" : "object", "properties" : { "mandate" : { "$ref" : "#/components/schemas/EnhancedMandate" }, "address" : { "$ref" : "#/components/schemas/CommonAddress" }, "due_date" : { "type" : "string", "description" : "Due date of a direct debit payment. Full-date notation as defined by\nRFC 3339, section 5.6. The due date has to be at least three TARGET2 business days (not on weekends or the so\ncalled TARGET2 or TARGET holidays) after the current date. If you leave this field empty the direct debit is carried\nout as soon as possible.", "format" : "date" }, "debit_method" : { "type" : "string", "description" : "Direct debit method. If not specified, an SDD will be carried out.\n\n\n* `SDD`: SEPA Core Direct Debit\n* `B2B`: SEPA Business to Business Direct Debit\n\n\n ", "example" : "B2B", "enum" : [ "SDD", "B2B" ] }, "processing_options" : { "type" : "array", "description" : "Defines an additional processing option for direct debit.", "example" : [ "CHECKLIST", "RISKCHECK" ], "items" : { "type" : "string", "description" : "Additional processing option for direct debit.\n\n* `CHECKLIST`: before the direct debit a blacklist is checked. Only available if this\noption has been activated for the shop.\n* `RISKCHECK`: before the direct debit a risk check is performed. Only available if this \noption has been activated for the shop.\n ", "example" : "CHECKLIST", "enum" : [ "CHECKLIST", "RISKCHECK" ] } } }, "description" : "Data to initialize a direct debit form service interaction." }, "FormPayPalData" : { "type" : "object", "description" : "Data to initialize a PayPal form service interaction." }, "FormRequestToPayData" : { "type" : "object", "properties" : { "customer_id" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string", "description" : "Technical identification number of a customer.", "example" : "C1234-AX" }, "iban" : { "maxLength" : 34, "minLength" : 15, "pattern" : "[A-Z]{2}[0-9]{2}[A-Z0-9*]{11,30}", "type" : "string", "description" : "The international bank account number of a bank account.", "example" : "DE17215730140403340300" }, "processing_options" : { "type" : "array", "items" : { "type" : "string", "description" : "Defines an additional processing option for credit transfers. One of\n\n * `INSTANT`: Process as instant payment.\n * `INSTANT_IF_POSSIBLE`: Process as instant payment if possible.\n", "enum" : [ "INSTANT", "INSTANT_IF_POSSIBLE" ] } } }, "description" : "Data to initialize a request to pay form service interaction." }, "FormSofortUeberweisungData" : { "type" : "object", "properties" : { "bank_account" : { "$ref" : "#/components/schemas/BankAccount" } }, "description" : "Data to initialize a Sofortüberweisung form service interaction." }, "MerchantRiskIndicators" : { "type" : "object", "properties" : { "delivery_email_address" : { "type" : "string", "description" : "The delivery email address." }, "delivery_timeframe" : { "type" : "string", "description" : "The delivery time frame for this order.", "enum" : [ "ELECTRONIC", "MORE_THAN_ONE_DAY", "OVERNIGHT", "SAME_DAY" ] }, "gift_card_amount" : { "type" : "string", "description" : "The gift card amount." }, "gift_card_count" : { "type" : "string", "description" : "The gift card count." }, "gift_card_currency" : { "type" : "string", "description" : "The gift card currency." }, "pre_order_date" : { "type" : "string", "description" : "The preorder date. Full-date notation as defined by RFC 3339 section 5.6.", "format" : "date" }, "pre_order_purchase_indicator" : { "type" : "string", "description" : "The preorder purchase indicator.", "enum" : [ "AVAILABLE", "FUTURE" ] }, "reordered_items_indicator" : { "type" : "string", "description" : "The reordered items indicator.", "enum" : [ "FIRST", "REORDERED" ] }, "shipping_indicator" : { "type" : "string", "description" : "The shipping indicator.", "enum" : [ "DIGITAL", "OTHER", "BILLING_ADDRESS", "DIFFERENT_ADDRESS", "STORE", "VERIFIED_ADDRESS" ] } } }, "TDS20Address" : { "required" : [ "city", "country", "postal_code", "street" ], "type" : "object", "properties" : { "city" : { "type" : "string", "description" : "City of the address.", "example" : "Munich" }, "country" : { "maxLength" : 2, "minLength" : 2, "pattern" : "[A-Z]{2}", "type" : "string", "description" : "The ISO 3166 Alpha-2 country code (upper case) of the individual's homeland.", "example" : "DE" }, "postal_code" : { "type" : "string", "description" : "Postal code of the address.", "example" : "80469" }, "state" : { "type" : "string", "description" : "State or province of the address.", "example" : "BY" }, "street" : { "type" : "string", "description" : "The street." }, "street_number" : { "type" : "string", "description" : "The street number." }, "additional1" : { "type" : "string", "description" : "An additional first line." }, "additional2" : { "type" : "string", "description" : "An additional second line." } }, "description" : "Address data for 3DS 2.0 transactions." }, "TDS20BrowserData" : { "type" : "object", "properties" : { "accept" : { "type" : "string", "description" : "The browser MIME types." }, "accept_header" : { "type" : "string", "description" : "The browser MIME types." }, "color_depth" : { "type" : "string", "description" : "The browser color depth.", "enum" : [ "B1", "B4", "B8", "B15", "B16", "B24", "B32", "B48" ] }, "ip" : { "type" : "string", "description" : "The browser IP address." }, "java_enabled" : { "type" : "boolean", "description" : "Is Java enabled on client browser." }, "java_script_enabled" : { "type" : "boolean", "description" : "Is JavaScript enabled on client browser." }, "language" : { "type" : "string", "description" : "The browser language." }, "screen_height" : { "type" : "integer", "description" : "The browser screen height.", "format" : "int32" }, "screen_width" : { "type" : "integer", "description" : "The browser screen width.", "format" : "int32" }, "tz" : { "type" : "integer", "description" : "The client time zone.", "format" : "int32" }, "user_agent" : { "type" : "string", "description" : "The user agent string to enable identification of browser and operating system." }, "user_agent_header" : { "type" : "string", "description" : "The user agent string to enable identification of browser and operating system." } } }, "TDS20CardHolderAccountInfo" : { "type" : "object", "properties" : { "account_id" : { "type" : "string", "description" : "The account ID." }, "account_age_indicator" : { "type" : "string", "description" : "The account age indicator.", "enum" : [ "LESS_30", "MORE_30_LESS_60", "MORE_60", "NEVER", "NOW" ] }, "password_change_indicator" : { "type" : "string", "description" : "The account password change indicator.", "enum" : [ "LESS_30", "MORE_30_LESS_60", "MORE_60", "NEVER", "NOW" ] }, "payment_account_age_indicator" : { "type" : "string", "description" : "The payment account age indicator.", "enum" : [ "LESS_30", "MORE_30_LESS_60", "MORE_60", "NEVER", "NOW" ] }, "account_change" : { "type" : "string", "description" : "The account change.", "enum" : [ "LESS_30", "MORE_30_LESS_60", "MORE_60", "NOW" ] }, "shipping_address_age_indicator" : { "type" : "string", "description" : "The shipping address age indicator.", "enum" : [ "LESS_30", "MORE_30_LESS_60", "MORE_60", "NOW" ] }, "account_change_date" : { "type" : "string", "description" : "The account change date.", "format" : "date" }, "account_opened_date" : { "type" : "string", "description" : "The account opened date.", "format" : "date" }, "password_change_date" : { "type" : "string", "description" : "The password change date.", "format" : "date" }, "payment_account_age" : { "type" : "string", "description" : "The payment account age.", "format" : "date" }, "shipping_address_age" : { "type" : "string", "description" : "The shipping address age.", "format" : "date" }, "purchases_six_month_count" : { "type" : "integer", "description" : "The 6 month purchases counter", "format" : "int32" }, "provisioning_day_count" : { "type" : "integer", "description" : "The provisioning day counter", "format" : "int32" }, "transactions_day_count" : { "type" : "integer", "description" : "The transaction day counter", "format" : "int32" }, "transactions_year_count" : { "type" : "integer", "description" : "The transaction year counter", "format" : "int32" }, "shipping_name_indicator" : { "type" : "string", "description" : "The shipping name indicator.", "enum" : [ "DIFFERENT", "IDENTICAL" ] }, "suspicious_account_activity" : { "type" : "string", "description" : "The suspicious account activity.", "enum" : [ "OBSERVED", "NOT_OBSERVED" ] } } }, "TDS20CommunicationData" : { "type" : "object", "properties" : { "method_notification_url" : { "type" : "string", "description" : "The URL to send the method notification to." }, "cres_notification_url" : { "type" : "string", "description" : "The URL to send the CRes to." } } }, "TDS20CustomerData" : { "type" : "object", "properties" : { "billing_address" : { "$ref" : "#/components/schemas/TDS20Address" }, "shipping_address" : { "$ref" : "#/components/schemas/TDS20Address" }, "home_phone_number" : { "$ref" : "#/components/schemas/TDS20PhoneNumber" }, "mobile_phone_number" : { "$ref" : "#/components/schemas/TDS20PhoneNumber" }, "work_phone_number" : { "$ref" : "#/components/schemas/TDS20PhoneNumber" }, "cardholder_account_info" : { "$ref" : "#/components/schemas/TDS20CardHolderAccountInfo" }, "cardholder_email" : { "type" : "string" }, "addresses_match" : { "type" : "string", "enum" : [ "MATCHES", "DOES_NOT_MATCH" ] } } }, "TDS20Data" : { "type" : "object", "properties" : { "customer_data" : { "$ref" : "#/components/schemas/TDS20CustomerData" }, "browser_data" : { "$ref" : "#/components/schemas/TDS20BrowserData" }, "communication_data" : { "$ref" : "#/components/schemas/TDS20CommunicationData" }, "merchant_risk_indicators" : { "$ref" : "#/components/schemas/MerchantRiskIndicators" }, "requestor_challenge_indicator" : { "type" : "string", "enum" : [ "NO_PREFERENCE", "NO_CHALLENGE_REQUESTED", "CHALLENGE_REQUESTED_3DS_REQUESTOR_PREFERENCE", "CHALLENGE_REQUESTED_MANDATE", "NO_CHALLENGE_REQUESTED_RISK_ANALYSIS_ALREADY_PERFORMED", "NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY", "NO_CHALLENGE_REQUESTED_STRONGER_CONSUMER_AUTHENTICATION_ALREADY_PERFORMED", "NO_CHALLENGE_REQUESTED_UTILISE_WHITELIST_EXEMPTION_IF_NO_CHALLENGE_REQUIRED", "CHALLENGE_REQUESTED_WHITELIST_PROMPT_REQUESTED_IF_CHALLENGE_REQUIRED" ] }, "transaction_attributes" : { "$ref" : "#/components/schemas/TDS20TransactionAttributes" } }, "description" : "3-D Secure data. Activates 3-D Secure processing if values are set." }, "TDS20PhoneNumber" : { "type" : "object", "properties" : { "country" : { "type" : "string", "description" : "The country code of the phone number." }, "regional" : { "type" : "string", "description" : "The regional part of the phone number." } }, "description" : "Phone number with country code." }, "TDS20TransactionAttributes" : { "type" : "object", "properties" : { "purchase_instalment_data" : { "maximum" : 999, "minimum" : 2, "type" : "integer", "description" : "Maximum number of authorizations permitted for instalment payments, must be > 1.", "format" : "int32" }, "recurring_expiry" : { "type" : "string", "description" : "Date after which no further authorizations shall be carried out.", "format" : "date" }, "recurring_frequency" : { "maximum" : 9999, "minimum" : 1, "type" : "integer", "description" : "Minimum number of days between authorizations.", "format" : "int32" }, "transaction_type" : { "type" : "string", "description" : "Type of 3-D Secure 2.0 payment.", "enum" : [ "PURCHASE", "CHECK_ACCEPTANCE", "ACCOUNT_FUNDING", "QUASI_CASH", "PREPAID_ACTIVATION" ] } } }, "AliasAction" : { "required" : [ "action" ], "type" : "object", "properties" : { "alias" : { "type" : "string", "description" : "The alias value. If no value is set an alias is created by the system.", "example" : "221f56ca355d8e6c42517749cf79ceb8" }, "action" : { "type" : "string", "description" : "What should be done.", "enum" : [ "CREATE", "UPDATE", "USE" ] } }, "description" : "Specifies an alias and an operation to perform on it." }, "FormCreditCardData" : { "type" : "object", "properties" : { "tds_20_data" : { "$ref" : "#/components/schemas/TDS20Data" }, "recurring_payment" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[/0-9a-zA-Z_.:,+*$%-]+", "type" : "string", "description" : "Identifier of a recurring credit card payment.", "example" : "07H987Tx3PF9VxL5G7RfNp" }, "series_flag" : { "type" : "string", "description" : "Designates a payment as part of a series of payments.\n\n* `INSTALMENT`: for example in the case of paying a fixed sum in multiple partial payments.\n* `RECURRING`: for example in the case of a subscription or standing order.\n* `UCOF`: when a card number alias is created for future payments with the same credit card. In this case use _alias_action_ with _action_ `CREATE` with the first payment and the card number alias with the following payments. You can use the _tx_action_ `verify-mop` with the first UCOF transaction to register a card number alias without a payment.", "enum" : [ "INSTALMENT", "RECURRING", "UCOF" ] }, "sequence_type" : { "type" : "string", "description" : "If this payment is part of a sequence of payments\n\n * `FIRST`: first payment of a sequence\n * `RECURRING`: follow-up payment\n * `FINAL`: last payment of a sequence\n", "enum" : [ "FINAL", "FIRST", "RECURRING" ] }, "processing_options" : { "type" : "array", "description" : "Defines an additional processing option for credit card.", "example" : [ "RISKCHECK" ], "items" : { "type" : "string", "description" : "Additional processing option for a credit card transaction.\n\n* `RISKCHECK`: before the transaction a risk check is performed. Only available if this \noption has been activated for the shop.\n ", "example" : "RISKCHECK", "enum" : [ "RISKCHECK" ] } } }, "description" : "Base credit card for a form service interaction." }, "FormCreditCardRequest" : { "required" : [ "form_customer_continuation" ], "type" : "object", "properties" : { "form_data" : { "$ref" : "#/components/schemas/FormData" }, "form_customer_continuation" : { "$ref" : "#/components/schemas/FormCustomerContinuation" }, "callback" : { "$ref" : "#/components/schemas/Callback" }, "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "basket_id" : { "type" : "string", "description" : "Dependent on the backend services the value might be shortened or special characters might be removed before sending.\n\ngiropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.", "example" : "basket123456" }, "alias_action" : { "$ref" : "#/components/schemas/AliasAction" }, "credit_card_data" : { "$ref" : "#/components/schemas/FormCreditCardData" } }, "description" : "Request data to initialize a form service interaction." }, "FormDirectDebitRequest" : { "required" : [ "form_customer_continuation" ], "type" : "object", "properties" : { "form_data" : { "$ref" : "#/components/schemas/FormData" }, "form_customer_continuation" : { "$ref" : "#/components/schemas/FormCustomerContinuation" }, "callback" : { "$ref" : "#/components/schemas/Callback" }, "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "basket_id" : { "type" : "string", "description" : "Dependent on the backend services the value might be shortened or special characters might be removed before sending.\n\ngiropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.", "example" : "basket123456" }, "alias_action" : { "$ref" : "#/components/schemas/AliasAction" }, "direct_debit_data" : { "$ref" : "#/components/schemas/FormDirectDebitData" } }, "description" : "Request data to initialize a form service direct debit interaction." }, "FormPayPalRequest" : { "required" : [ "form_customer_continuation" ], "type" : "object", "properties" : { "form_data" : { "$ref" : "#/components/schemas/FormData" }, "form_customer_continuation" : { "$ref" : "#/components/schemas/FormCustomerContinuation" }, "callback" : { "$ref" : "#/components/schemas/Callback" }, "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "basket_id" : { "type" : "string", "description" : "Dependent on the backend services the value might be shortened or special characters might be removed before sending.\n\ngiropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.", "example" : "basket123456" }, "paypal_data" : { "$ref" : "#/components/schemas/FormPayPalData" } } }, "FormPSD2AccountInfoRequest" : { "required" : [ "form_customer_continuation" ], "type" : "object", "properties" : { "bic" : { "maxLength" : 11, "minLength" : 11, "pattern" : "[A-Z]{6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3}", "type" : "string", "description" : "The business identifier code (BIC) of the bank. Identifies the bank if `bank_id` is not submitted.", "example" : "VZVDDED1XXX" }, "bank_code" : { "maxLength" : 8, "minLength" : 8, "pattern" : "[0-9]{8}", "type" : "string", "description" : "The bank code (Bankleitzahl, BLZ) of the bank. In rare cases the bank code is required in\naddition to the BIC to identify the bank.", "example" : "38011000" }, "bank_id" : { "maxLength" : 16, "minLength" : 1, "pattern" : "[A-Za-z0-9_-]+", "type" : "string", "description" : "The ID of a bank as returned in the response of a previous bank search.", "example" : "bG0E" }, "requested_details" : { "type" : "array", "description" : "To request additional details of the bank account, for example the owner.", "example" : [ "OWNER" ], "items" : { "type" : "string", "description" : "Specifies which additional bank account details are requested.\n\n* `OWNER`: the account owner\n* `BALANCE`: the account balance,\n* `TRANSACTIONS`: transactions of the bank account", "example" : "OWNER", "enum" : [ "OWNER", "BALANCE", "TRANSACTIONS" ] } }, "form_data" : { "$ref" : "#/components/schemas/FormData" }, "form_customer_continuation" : { "$ref" : "#/components/schemas/FormCustomerContinuation" }, "callback" : { "$ref" : "#/components/schemas/Callback" }, "transaction_filter" : { "$ref" : "#/components/schemas/PSD2TransactionFilter" } }, "description" : "Includes data to find a customer's bank account details." }, "PSD2TransactionFilter" : { "type" : "object", "properties" : { "date_from" : { "type" : "string", "description" : "Starting date of the transaction list. Full-date notation as defined by RFC 3339, section 5.6.", "format" : "date", "example" : "2021-07-13" }, "date_to" : { "type" : "string", "description" : "End date of the transaction list. Full-date notation as defined by RFC 3339, section 5.6.", "format" : "date", "example" : "2021-07-14" }, "booking_status" : { "type" : "array", "description" : "The requested booking status(es). Not all banks allow `PENDING` or `BOOKED` and `PENDING`.", "example" : [ "BOOKED" ], "items" : { "type" : "string", "description" : "Booking status of a transaction\n\n* `BOOKED`\n* `PENDING`", "example" : "BOOKED", "enum" : [ "BOOKED", "PENDING" ] } } }, "description" : "Contains properties to filter the transactions if `requested_details` includes `TRANSACTIONS`.\nIf `booking_status` is not submitted `BOOKED` transactions will be requested from the customer's bank." }, "FormRequestToPayRequest" : { "required" : [ "form_customer_continuation" ], "type" : "object", "properties" : { "form_data" : { "$ref" : "#/components/schemas/FormData" }, "form_customer_continuation" : { "$ref" : "#/components/schemas/FormCustomerContinuation" }, "callback" : { "$ref" : "#/components/schemas/Callback" }, "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "basket_id" : { "type" : "string", "description" : "Dependent on the backend services the value might be shortened or special characters might be removed before sending.\n\ngiropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.", "example" : "basket123456" }, "request_to_pay_data" : { "$ref" : "#/components/schemas/FormRequestToPayData" } } }, "FormSofortUeberweisungRequest" : { "required" : [ "form_customer_continuation" ], "type" : "object", "properties" : { "form_data" : { "$ref" : "#/components/schemas/FormData" }, "form_customer_continuation" : { "$ref" : "#/components/schemas/FormCustomerContinuation" }, "callback" : { "$ref" : "#/components/schemas/Callback" }, "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "basket_id" : { "type" : "string", "description" : "Dependent on the backend services the value might be shortened or special characters might be removed before sending.\n\ngiropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.", "example" : "basket123456" }, "sofort_data" : { "$ref" : "#/components/schemas/FormSofortUeberweisungData" } } }, "MandateResponse" : { "required" : [ "signed_on" ], "type" : "object", "properties" : { "mandate_id" : { "maxLength" : 32, "minLength" : 32, "type" : "string", "description" : "Unique identification of the SEPA mandate. Use it for managed and already created mandates.", "example" : "89c3d6b532be80339839f1605201f2c7" }, "signed_on" : { "type" : "string", "description" : "Date when the SEPA mandate was issued. Full-date notation as defined by RFC 3339, section 5.6.", "format" : "date", "example" : "2017-01-01" } } }, "PaymentResponse" : { "required" : [ "event_id", "message", "rc", "timestamp", "tx_id" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." }, "event_id" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string", "description" : "A unique ID for the event.", "example" : "E5686585867636541231230" }, "tx_id" : { "type" : "string", "description" : "Unique transaction identifier. Can be used to reference this transaction.", "example" : "020LMG10jxSI8FN0OC4vLR" }, "riskmanagement_info" : { "$ref" : "#/components/schemas/RiskmanagementInfoResponse" }, "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "kind" : { "type" : "string", "description" : "The type of transaction.", "enum" : [ "DIRECTDEBIT", "CREDITCARD", "CREDITCARD_3DS20", "CREDITTRANSFER", "SOFORTUEBERWEISUNG", "PAYPAL", "PAYDIREKT", "WECHATPAY", "P24", "GIROPAY", "KLARNA", "PSD2" ] }, "tx_action" : { "type" : "string", "description" : "The action of a transaction.", "enum" : [ "authorization", "capture", "credit", "preauthorization", "refund", "reversal", "risk_check", "verify-mop", "payment", "avs", "avspayment" ] }, "alias_info" : { "$ref" : "#/components/schemas/AliasInfo" }, "back_rc" : { "maxLength" : 255, "minLength" : 0, "type" : "string", "description" : "Response code of a backend system, for example the GICC response code.", "example" : "00" }, "timestamp" : { "type" : "string", "description" : "Timestamp of the transaction.", "format" : "date-time" }, "transaction_info" : { "$ref" : "#/components/schemas/TransactionInfo" } } }, "RiskmanErrorInformation" : { "type" : "object", "description" : "Detailed error information including fields which had been the reasons for unsuccessful processing." }, "RiskmanagementInfoResponse" : { "type" : "object", "properties" : { "case_priority" : { "type" : "string", "description" : "Riskcheck information regarding the case priority.", "example" : "1" }, "error_information" : { "$ref" : "#/components/schemas/RiskmanErrorInformation" }, "event_id" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string", "description" : "A unique ID for the event.", "example" : "E5686585867636541231230" }, "infocodes_address" : { "type" : "array", "items" : { "type" : "string", "description" : "Riskcheck information regarding the address risk check. See user guide for details and all possible values.", "example" : "[\"COR-BA\",\"COR-SA\",\"MM-A\",\"MM-Z\"]" } }, "infocodes_customerlist" : { "type" : "array", "items" : { "type" : "string", "description" : "Riskcheck information regarding the customer list risk check. See user guide for details and all possible values.", "example" : "[\"CONPOSNEG\",\"NEG-BCO\"]" } }, "infocodes_device_behaviour" : { "type" : "array", "items" : { "type" : "string", "description" : "Indicates the device behavior information code(s) returned from device fingerprinting. See user guide for details and all possible values.", "example" : "[\"MouseOffPageDetected\"]" } }, "infocodes_globalvelocity" : { "type" : "array", "items" : { "type" : "string", "description" : "Riskcheck information regarding the velocity risk check. See user guide for details and all possible values.", "example" : "[\"VEL-ADDR\",\"VELS-FP\"]" } }, "infocodes_identitychange" : { "type" : "array", "items" : { "type" : "string", "description" : "Riskcheck information regarding the identity change. See user guide for details and all possible values.", "example" : "[\"ID-M-HPOS\"]" } }, "infocodes_internet" : { "type" : "array", "items" : { "type" : "string", "description" : "Riskcheck information regarding the internet check. See user guide for details and all possible values.", "example" : "[\"FREE-EM\"]" } }, "infocodes_phone" : { "type" : "array", "items" : { "type" : "string", "description" : "Riskcheck information regarding the phone risk check. See user guide for details and all possible values.", "example" : "[\"MMACBST, \"UNV-PH\" ]" } }, "infocodes_suspicious" : { "type" : "array", "items" : { "type" : "string", "description" : "Riskcheck information regarding suspicious risk. See user guide for details and all possible values.", "example" : "[\"BAD-FP\",\"MUL-EM\"]" } }, "infocodes_velocity" : { "type" : "array", "items" : { "type" : "string", "description" : "List of information codes triggered by the order. These information codes were generated when you created\nthe order and product velocity rules and are returned so that you can associate them with the rules. See user guide for details and all possible values.", "example" : "[\"GVEL-R20\",\"GVEL-R21\"]" } }, "localtime" : { "type" : "string", "description" : "Riskcheck information regarding the local time of the risk check.", "example" : "55083" }, "profile_destination_queue" : { "type" : "string", "description" : "Riskcheck information regarding the profile destination queue of the risk check.", "example" : "dst-queue" }, "profile_name" : { "type" : "string", "description" : "Riskcheck information regarding the profile of the risk check.", "example" : "example-profile" }, "profile_selectorrule" : { "type" : "string", "description" : "Riskcheck information regarding the profile selector rule risk check.", "example" : "example-rule" }, "providers" : { "type" : "array", "items" : { "type" : "string", "description" : "Providers used to calculate the risk.", "example" : "[\"provider1\",\"provider2\"]" } }, "rules" : { "type" : "array", "items" : { "type" : "string", "description" : "Riskcheck information regarding the matched rules in risk check.", "example" : "[\"example-rule\"]" } }, "score" : { "type" : "string", "description" : "Calculated risk score of request data.", "example" : "14" }, "score_factor_codes" : { "type" : "array", "items" : { "type" : "string", "description" : "Riskcheck information regarding the profile factor codes of the risk check. See user guide for all possible values.", "example" : "[\"G\",\"H\",\"Y\",\"Z\"]" } }, "score_model_used" : { "type" : "string", "description" : "Name of the score model used for the transaction. This field contains the name of risk management’s selected model.", "example" : "default_eu" }, "travel_actual_final_dst_country" : { "type" : "string", "description" : "Actual country of final destination of the travel.", "example" : "US" }, "travel_actual_final_dst_locality" : { "type" : "string", "description" : "Actual city of final destination of the travel.", "example" : "Chicago" }, "travel_first_departure_country" : { "type" : "string", "description" : "First departure country of the travel.", "example" : "US" }, "travel_first_departure_locality" : { "type" : "string", "description" : "First departure city of the travel.", "example" : "San Francisco" }, "tx_risk_status" : { "type" : "string", "description" : "Status result of an external risk management transaction. See user guide for all possible values.", "example" : "ACCEPTED" }, "tx_scoring_id" : { "type" : "string", "description" : "Unique scoring transaction identifier. Can be used to reference the depending scoring transaction.", "example" : "6373172383866963604006" }, "utc_time" : { "type" : "string", "description" : "Riskcheck information regarding the UTC time of the risk check, used in error cases.", "example" : "2021-12-21T14:18:04Z" } } }, "TransactionBankAccountInfo" : { "type" : "object", "properties" : { "bank_account" : { "$ref" : "#/components/schemas/BankAccount" } } }, "TransactionCreditCardInfo" : { "type" : "object", "properties" : { "credit_card" : { "$ref" : "#/components/schemas/CreditCardInfo" }, "recurring_payment" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[/0-9a-zA-Z_.:,+*$%-]+", "type" : "string", "description" : "Identifier of a recurring credit card payment.", "example" : "07H987Tx3PF9VxL5G7RfNp" } } }, "TransactionInfo" : { "type" : "object", "properties" : { "type" : { "type" : "string", "enum" : [ "creditcard", "bankaccount" ] }, "transaction_creditcard_info" : { "$ref" : "#/components/schemas/TransactionCreditCardInfo" }, "transaction_bankaccount_info" : { "$ref" : "#/components/schemas/TransactionBankAccountInfo" }, "mandate_data" : { "$ref" : "#/components/schemas/MandateResponse" }, "back_state" : { "type" : "string", "description" : "State of a transaction according to the response of a backend system. \n This value is available on some backend systems. The use of this field requires an explicit activation. Please contact customer support. Possible values:\n \n* `DECLINED`\n* `AUTHORIZED`\n* `REVERSED`\n* `CAPTURED`\n* `SETTLED`\n", "example" : "REVERSED", "enum" : [ "DECLINED", "AUTHORIZED", "REVERSED", "CAPTURED", "SETTLED" ] }, "ip_address" : { "type" : "string", "description" : "The customer's IP address associated with this transaction. The use of this field requires an explicit activation. Please contact customer support." } } }, "Headless3DSecureFinalRequest" : { "type" : "object", "properties" : { "PaRes" : { "type" : "string", "description" : "3-D Secure Payer Authentication Response received from the ACS." }, "cres" : { "type" : "string", "description" : "3-D Secure challenge response data received from the ACS." } }, "description" : "3-D Secure challenge response data. Make sure only one of the attributes are set depending on the 3-D Secure version." }, "Headless3DSecure20ChallengeRequiredResponse" : { "required" : [ "acs_url" ], "type" : "object", "properties" : { "PaReq" : { "type" : "string", "description" : "3-D Secure Payer Authentication Request that has to be sent to the ACS." }, "acs_url" : { "type" : "string", "description" : "The URL to which the customer should be redirected." }, "creq" : { "type" : "string", "description" : "3-D Secure challenge request data that has to be sent to the ACS." } } }, "Headless3DSecure20MethodRequiredResponse" : { "type" : "object", "properties" : { "method_request" : { "type" : "string" }, "method_url" : { "type" : "string" } } }, "Headless3DSecureResponse" : { "required" : [ "message", "outcome", "rc" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." }, "outcome" : { "type" : "string", "description" : "Indicates the outcome of the current headless 3-D Secure transaction.\n \n* `PROCESSED`: The transaction has been processed, no further action required. \n Consult attribute `processed` for details of the processed transaction.\n* `METHOD_REQUIRED`: 3-D Secure method flow needs to be started.\n Consult attribute `method_required` for required data.\n* `CHALLENGE_REQUIRED`: 3-D Secure challenge flow needs to be started.\n Consult attribute `challenge_required` for required data. \n", "example" : "PROCESSED", "enum" : [ "PROCESSED", "METHOD_REQUIRED", "CHALLENGE_REQUIRED" ] }, "challenge_required" : { "$ref" : "#/components/schemas/Headless3DSecure20ChallengeRequiredResponse" }, "method_required" : { "$ref" : "#/components/schemas/Headless3DSecure20MethodRequiredResponse" }, "processed" : { "$ref" : "#/components/schemas/PaymentResponse" } } }, "Headless3DSecureInitializeRequest" : { "required" : [ "amount_total", "means_of_payment", "tds_20_data" ], "type" : "object", "properties" : { "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "alias_action" : { "$ref" : "#/components/schemas/AliasAction" }, "basket_id" : { "maxLength" : 140, "minLength" : 0, "type" : "string", "description" : "Dependent on the backend services the value might be shortened or special characters might be removed before sending.\n\ngiropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.", "example" : "basket123456" }, "means_of_payment" : { "$ref" : "#/components/schemas/MeansOfPaymentCreditCard" }, "recurring_payment" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[/0-9a-zA-Z_.:,+*$%-]+", "type" : "string", "description" : "Identifier of a recurring credit card payment.", "example" : "07H987Tx3PF9VxL5G7RfNp" }, "series_flag" : { "type" : "string", "description" : "Designates a payment as part of a series of payments.\n\n* `INSTALMENT`: for example in the case of paying a fixed sum in multiple partial payments.\n* `RECURRING`: for example in the case of a subscription or standing order.\n* `UCOF`: when a card number alias is created for future payments with the same credit card. In this case use _alias_action_ with _action_ `CREATE` with the first payment and the card number alias with the following payments. You can use the _tx_action_ `verify-mop` with the first UCOF transaction to register a card number alias without a payment.", "enum" : [ "INSTALMENT", "RECURRING", "UCOF" ] }, "sequence_type" : { "type" : "string", "description" : "If this payment is part of a sequence of payments\n\n * `FIRST`: first payment of a sequence\n * `RECURRING`: follow-up payment\n * `FINAL`: last payment of a sequence\n", "enum" : [ "FINAL", "FIRST", "RECURRING" ] }, "tds_20_data" : { "$ref" : "#/components/schemas/TDS20Data" }, "processing_options" : { "uniqueItems" : true, "type" : "array", "description" : "Defines an additional processing option for headless 3-D Secure transactions.", "example" : [ "FALLBACK_ON_SSL", "RISKCHECK" ], "items" : { "type" : "string", "description" : "Additional processing option for headless 3-D Secure transactions.\n\n* `FALLBACK_ON_SSL`: process the transaction flagged as channel-encrypted (SSL, 3-D Secure authentication \nwas not performed) instead of 3-D Secure in case 3-D Secure authentication could not be performed.\n* `RISKCHECK`: process risk check transaction before start of 3-D Secure authentication. In case of declined risk check\nno credit card transaction is started\n", "example" : "FALLBACK_ON_SSL", "enum" : [ "FALLBACK_ON_SSL", "RISKCHECK" ] } } } }, "MeansOfPaymentCreditCard" : { "type" : "object", "properties" : { "token" : { "maxLength" : 500, "minLength" : 0, "pattern" : "[a-zA-Z0-9/+=_-]*", "type" : "string", "description" : "The token value.", "example" : "eyJ0IjoiSFcyaS13cTB3PT0iLCJzIjoiaWIybzFRMHEifQ" }, "alias" : { "type" : "string", "description" : "A previously registered alias.", "example" : "221f56ca355d8e6c42517749cf79ceb8" }, "credit_card" : { "$ref" : "#/components/schemas/CreditCard" } }, "description" : "The means of payment that will be used. Exactly one of the given means is valid." }, "IFrameInitializeResponse" : { "required" : [ "message", "rc" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." }, "client_session" : { "maxLength" : 255, "minLength" : 0, "pattern" : "[a-zA-Z0-9/+=_-]*", "type" : "string", "description" : "The iFrame client session ID.", "example" : "8qOMTG3gdTwb8cjQtKW8fx" }, "client_configuration" : { "maxLength" : 2000, "minLength" : 0, "pattern" : "[a-zA-Z0-9/+=_-]*", "type" : "string", "description" : "The iFrame client configuration.", "example" : "eyJob3N0IjoiaHR0cDovL2hvc3Q6ODA4MCIsIm9wdGlvbnMiLi4u" } }, "description" : "Contains data to initialize an iFrame interaction with JavaScript." }, "IFrameInitializeRequest" : { "required" : [ "amount_total" ], "type" : "object", "properties" : { "tds_20_data" : { "$ref" : "#/components/schemas/TDS20Data" }, "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "processing_options" : { "type" : "array", "description" : "Defines an additional processing option for iFrame interaction.", "example" : [ "MOTO" ], "items" : { "type" : "string", "description" : "Additional processing option for an iFrame interaction.\n\n* `MOTO`: A credit card token should be created for use in a MOTO payment transaction. \n This skips the 3D-Secure process.", "example" : "MOTO", "enum" : [ "MOTO" ] } } }, "description" : "Request data to initialize an iFrame interaction." }, "PSD2Bank" : { "required" : [ "name", "psd2_supported" ], "type" : "object", "properties" : { "id" : { "type" : "string", "description" : "Temporary system identifier for this bank - if PSD2 is supported." }, "name" : { "type" : "string", "description" : "Name of the bank." }, "town" : { "type" : "string", "description" : "Town where the bank is located." }, "bic" : { "maxLength" : 11, "minLength" : 8, "pattern" : "[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?", "type" : "string", "description" : "BIC (business identifier code)." }, "bank_code" : { "type" : "string", "description" : "German bank code (Bankleitzahl, BLZ)." }, "psd2_supported" : { "type" : "boolean", "description" : "If true this bank can be used for the PSD2 account information and payment initiation services." }, "capabilities" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/PSD2CapabilityEnum" } } }, "description" : "Contains bank details." }, "PSD2BankResults" : { "type" : "object", "properties" : { "metadata" : { "$ref" : "#/components/schemas/PagedMetadata" }, "banks" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/PSD2Bank" } } } }, "PSD2CapabilityEnum" : { "type" : "string", "description" : " * `AVAILABLE_ACCOUNTS`: PSD2 account information service AIS can be used to find all the customer's accounts with this bank.\n * `AVAILABLE_ACCOUNTS_WITH_BALANCE`: AIS can be used to find all the customer's account including the balances\n * `BANK_OFFERED_CONSENT`: AIS can be used to find the customer's accounts with this bank. If the customer has more than one account the bank will display the list of accounts and the customer chooses the accounts for which she/he wants to grant access.\n * `GLOBAL_CONSENT`: AIS can be used to get the customer's consent to access all accounts.", "enum" : [ "AVAILABLE_ACCOUNTS", "AVAILABLE_ACCOUNTS_WITH_BALANCE", "BANK_OFFERED_CONSENT", "GLOBAL_CONSENT" ] }, "PagedMetadata" : { "type" : "object", "properties" : { "limit" : { "type" : "integer", "format" : "int32" }, "offset" : { "type" : "integer", "format" : "int32" }, "total" : { "type" : "integer", "format" : "int32" } } }, "PSD2Account" : { "type" : "object", "properties" : { "iban" : { "maxLength" : 34, "minLength" : 15, "pattern" : "[A-Z]{2}[0-9]{2}[A-Z0-9*]{11,30}", "type" : "string", "description" : "The international bank account number of a bank account.", "example" : "DE17215730140403340300" }, "bban" : { "type" : "string", "description" : "Used for payment accounts which have no IBAN." }, "pan" : { "maxLength" : 35, "minLength" : 0, "type" : "string", "description" : "Primary Account Number (PAN) of a card, can be tokenized by the ASPSP due to PCI DSS\nrequirements." }, "masked_pan" : { "maxLength" : 35, "minLength" : 0, "type" : "string", "description" : "Primary Account Number (PAN) of a card in a masked form." }, "msisdn" : { "maxLength" : 35, "minLength" : 0, "type" : "string", "description" : "An alias to access a payment account via a registered mobile phone number." }, "currency" : { "pattern" : "[A-Z]{3}", "type" : "string", "description" : "ISO 4217 currency code, three uppercase letters.", "example" : "EUR" } } }, "PSD2AccountDetails" : { "type" : "object", "properties" : { "iban" : { "type" : "string", "description" : "The international bank account number of a bank account.", "example" : "DE17215730140403340300" }, "currency" : { "pattern" : "[A-Z]{3}", "type" : "string", "description" : "ISO 4217 currency code, three uppercase letters.", "example" : "EUR" }, "name" : { "maxLength" : 35, "minLength" : 0, "type" : "string", "description" : "Name of the account given by the bank or the PSU in online-banking." }, "owner_name" : { "maxLength" : 140, "minLength" : 0, "type" : "string", "description" : "Name(s) of the account owner(s)." }, "product" : { "maxLength" : 35, "minLength" : 0, "type" : "string", "description" : "Product name of the bank for this account, proprietary definition." }, "status" : { "type" : "string", "description" : "Status of the account\n\n* `ENABLED`: account is available\n* `DELETED`: account is terminated\n* `BLOCKED`: account is blocked for example for legal reasons", "enum" : [ "ENABLED", "DELETED", "BLOCKED" ] }, "usage" : { "type" : "string", "description" : "Specifies the usage of the account\n\n* `PRIV`: private personal account\n* `ORGA`: professional account\n* `TEST_USAGE`: returned by Sparkassen sandbox", "enum" : [ "PRIV", "ORGA", "TEST_USAGE" ] }, "details" : { "maxLength" : 500, "minLength" : 0, "type" : "string", "description" : "Specifications that might be provided by the ASPSP such as characteristics of the account or\ncharacteristics of the relevant card." }, "balances" : { "type" : "array", "description" : "Balance(s) of the account. There might be more than one balance with different types.", "items" : { "$ref" : "#/components/schemas/PSD2Balance" } }, "transactions" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/PSD2Transaction" } } }, "description" : "Contains details of a customer's bank account." }, "PSD2AccountInfoResponse" : { "required" : [ "message", "rc" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." }, "accounts_as_of" : { "type" : "string", "description" : "Date and time of the account information request. Date-time notation as defined by RFC 3339,\nsection 5.6.", "format" : "date-time", "example" : "2021-07-14T08:59:12Z" }, "transaction_filter" : { "$ref" : "#/components/schemas/PSD2TransactionFilter" }, "accounts" : { "type" : "array", "description" : "Bank account details which were stored in a previous step.", "items" : { "$ref" : "#/components/schemas/PSD2AccountDetails" } } } }, "PSD2Balance" : { "required" : [ "amount", "type" ], "type" : "object", "properties" : { "amount" : { "$ref" : "#/components/schemas/AmountCurrency" }, "type" : { "type" : "string", "description" : "The following balance types are excluding credit limits unless the `credit_limit_included` element\nis present and equals true in the corresponding balance element.\nThis definition is following ISO20022 logic for defining balance types.\n\n* `CLOSING_BOOKED`: Balance of the account at the end of the pre-agreed account reporting\nperiod. It is the sum of the opening booked balance at the beginning of\nthe period and all entries booked to the account during the pre-agreed\naccount reporting period. For card-accounts, this is composed of invoiced, but not yet paid entries\n* `EXPECTED`: Balance composed of booked entries and pending items known at the\ntime of calculation, which projects the end of day balance if everything\nis booked on the account and no other entry is posted.\nFor card accounts, this is composed of invoiced, but not yet paid entries,\nnot yet invoiced but already booked entries and pending items (not yet booked),\n* `OPENING_BOOKED`: Book balance of the account at the beginning of the account reporting\nperiod. It always equals the closing book balance from the previous\nreport.\n* `INTERIM_AVAILABLE`: Available balance calculated in the course of the account servicer’s\nbusiness day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis\nof booked credit and debit items during the calculation time/period\nspecified.\nFor card-accounts, this is composed of invoiced, but not yet paid entries and not yet invoiced but already booked entries\n* `INTERIM_BOOKED`: Balance calculated in the course of the account servicer's business day,\nat the time specified, and subject to further changes during the business\nday. The interim balance is calculated on the basis of booked credit and\ndebit items during the calculation time/period specified.\n* `FORWARD_AVAILABLE`: Forward available balance of money that is at the disposal of the\naccount owner on the date specified.\n* `NON_INVOICED`: Only for card accounts, to be defined yet.\n* `PREVIOUSLY_CLOSED`: Balance of the account at the previously closed account reporting period.", "example" : "CLOSING_BOOKED", "enum" : [ "CLOSING_BOOKED", "EXPECTED", "OPENING_BOOKED", "INTERIM_AVAILABLE", "INTERIM_BOOKED", "FORWARD_AVAILABLE", "NON_INVOICED", "PREVIOUSLY_CLOSED" ] }, "credit_limit_included" : { "type" : "boolean", "description" : "A flag indicating if the credit limit of the corresponding account is included in\n the calculation of the balance, where applicable." }, "last_change" : { "type" : "string", "description" : "This data element might be used to indicate for example with the expected or\nbooked balance that no action is known on the account, which is not yet booked.\nDate-time notation as defined by RFC 3339, section 5.6.", "format" : "date-time", "example" : "2021-07-14T08:59:12Z" }, "reference_date" : { "type" : "string", "description" : "Indicates the date of the balance. Full-date notation as defined by RFC 3339, section 5.6.", "format" : "date", "example" : "2021-07-14" } } }, "PSD2CurrencyExchange" : { "type" : "object", "properties" : { "source_currency" : { "type" : "string", "description" : "Currency from which an amount is to be converted in a currency conversion.", "example" : "USD" }, "exchange_rate" : { "type" : "string", "description" : "Factor used to convert an amount from one currency into another. This reflects the\nprice at which one currency was bought with another currency." }, "unit_currency" : { "pattern" : "[A-Z]{3}", "type" : "string", "description" : "Currency in which the rate of exchange is expressed in a currency exchange. In the\nexample 1 EUR = xxx CUR, the unit currency is EUR.", "example" : "EUR" }, "target_currency" : { "pattern" : "[A-Z]{3}", "type" : "string", "description" : "Currency into which an amount is to be converted in a currency conversion.", "example" : "EUR" }, "quotation_date" : { "type" : "string", "description" : "Date at which an exchange rate is quoted.", "format" : "date" }, "contract_identification" : { "type" : "string", "description" : "Unique identification to unambiguously identify the foreign exchange contract." } } }, "PSD2Remittance" : { "type" : "object", "properties" : { "reference" : { "maxLength" : 35, "minLength" : 0, "type" : "string" }, "reference_type" : { "maxLength" : 35, "minLength" : 0, "type" : "string" }, "reference_issuer" : { "maxLength" : 35, "minLength" : 0, "type" : "string" } } }, "PSD2Transaction" : { "required" : [ "amount", "booking_status" ], "type" : "object", "properties" : { "end_to_end_id" : { "maxLength" : 35, "minLength" : 0, "type" : "string", "description" : "Unique end to end identifier." }, "mandate_id" : { "maxLength" : 35, "minLength" : 0, "type" : "string", "description" : "Identification of mandates, for example, a SEPA mandate ID." }, "check_id" : { "maxLength" : 35, "minLength" : 0, "type" : "string", "description" : "Identification of a check." }, "creditor_id" : { "maxLength" : 35, "minLength" : 0, "type" : "string", "description" : "Identification of creditors, for example, a SEPA Creditor ID." }, "booking_date" : { "type" : "string", "description" : "The date when an entry is posted to an account on the ASPSPs books.", "format" : "date" }, "value_date" : { "type" : "string", "description" : "Date at which assets become available to the account owner in case\nof a credit entry, or cease to be available to the account owner in case of a debit entry.\nUsage: If entry status is pending and value date is present, then the value date refers to an expected/requested\nvalue date.", "format" : "date" }, "amount" : { "$ref" : "#/components/schemas/AmountCurrency" }, "currency_exchange" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/PSD2CurrencyExchange" } }, "creditor_name" : { "maxLength" : 70, "minLength" : 0, "type" : "string", "description" : "Name of the creditor of a \"debited\" transaction." }, "creditor_account" : { "$ref" : "#/components/schemas/PSD2Account" }, "creditor_agent" : { "maxLength" : 11, "minLength" : 11, "pattern" : "[A-Z]{6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3}", "type" : "string", "description" : "A BIC.", "example" : "VZVDDED1XXX" }, "ultimate_creditor" : { "maxLength" : 70, "minLength" : 0, "type" : "string", "description" : "Name of the ultimate creditor of a \"debited\" transaction." }, "debtor_name" : { "maxLength" : 70, "minLength" : 0, "type" : "string", "description" : "Name of the debtor of a \"credited\" transaction." }, "debtor_account" : { "$ref" : "#/components/schemas/PSD2Account" }, "debtor_agent" : { "maxLength" : 11, "minLength" : 11, "pattern" : "[A-Z]{6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3}", "type" : "string", "description" : "A BIC.", "example" : "VZVDDED1XXX" }, "ultimate_debtor" : { "maxLength" : 70, "minLength" : 0, "type" : "string", "description" : "Name of the ultimate debtor of a \"credited\" transaction." }, "remittance_information_unstructured" : { "type" : "array", "description" : "Unstructured remittance information.", "items" : { "type" : "string", "description" : "Unstructured remittance information." } }, "remittance_information_structured" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/PSD2Remittance" } }, "entry_reference" : { "type" : "string", "description" : "Entry reference, for example from camt.052 message." }, "additional_information" : { "type" : "string", "description" : "Might be used by the ASPSP to transport additional transaction related\n information to the PSU." }, "purpose_code" : { "type" : "string", "description" : "ExternalPurpose1Code according to ISO 20022." }, "bank_transaction_code" : { "type" : "string", "description" : "Bank transaction code as used by the ASPSP and using the sub-elements of\nthis structured code defined by ISO20022." }, "proprietary_bank_transaction_code" : { "type" : "string", "description" : "Proprietary bank transaction code as used within a community or within an\nASPSP, for example for MT94x based transaction reports." }, "balance_after_transaction" : { "$ref" : "#/components/schemas/PSD2Balance" }, "booking_status" : { "type" : "string", "description" : "Booking status of a transaction\n\n* `BOOKED`\n* `PENDING`", "example" : "BOOKED", "enum" : [ "BOOKED", "PENDING" ] } }, "description" : "A transaction of a bank account." }, "PaymentCreditCardRequestInitial" : { "required" : [ "amount_total", "means_of_payment" ], "type" : "object", "properties" : { "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "alias_action" : { "$ref" : "#/components/schemas/AliasAction" }, "basket_id" : { "maxLength" : 140, "minLength" : 0, "type" : "string", "description" : "Dependent on the backend services the value might be shortened or special characters might be removed before sending.\n\ngiropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.", "example" : "basket123456" }, "aid" : { "maxLength" : 32, "minLength" : 0, "type" : "string", "description" : "Approval number of authorizing party.", "example" : "a34232" }, "means_of_payment" : { "$ref" : "#/components/schemas/MeansOfPaymentCreditCard" }, "recurring_payment" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[/0-9a-zA-Z_.:,+*$%-]+", "type" : "string", "description" : "Identifier of a recurring credit card payment.", "example" : "07H987Tx3PF9VxL5G7RfNp" }, "series_flag" : { "type" : "string", "description" : "Designates a payment as part of a series of payments.\n\n* `INSTALMENT`: for example in the case of paying a fixed sum in multiple partial payments.\n* `RECURRING`: for example in the case of a subscription or standing order.\n* `UCOF`: when a card number alias is created for future payments with the same credit card. In this case use _alias_action_ with _action_ `CREATE` with the first payment and the card number alias with the following payments. You can use the _tx_action_ `verify-mop` with the first UCOF transaction to register a card number alias without a payment.", "enum" : [ "INSTALMENT", "RECURRING", "UCOF" ] }, "sequence_type" : { "type" : "string", "description" : "If this payment is part of a sequence of payments\n\n * `FIRST`: first payment of a sequence\n * `RECURRING`: follow-up payment\n * `FINAL`: last payment of a sequence\n", "enum" : [ "FINAL", "FIRST", "RECURRING" ] }, "entry_channel" : { "type" : "string", "description" : "Indicates the channel where the credit card data is recorded. The transaction is \n processed as an eCommerce transaction if no value is set.\n\n * `ECOM`: eCommerce\n * `MOTO`: Mail Order/Telephone Order\n", "enum" : [ "ECOM", "MOTO" ] }, "tds_external_data" : { "$ref" : "#/components/schemas/TDSExternalData" }, "processing_options" : { "type" : "array", "description" : "Defines an additional processing option for credit card.", "example" : [ "RISKCHECK" ], "items" : { "type" : "string", "description" : "Additional processing option for a credit card transaction.\n\n* `RISKCHECK`: before the transaction a risk check is performed. Only available if this \noption has been activated for the shop.\n ", "example" : "RISKCHECK", "enum" : [ "RISKCHECK" ] } } } }, "TDS10ExternalData" : { "type" : "object", "properties" : { "cavv" : { "maxLength" : 28, "minLength" : 0, "type" : "string", "description" : "3-D Secure field. Determined by ACS. Contains a 20 byte value that has beenBase64 encoded, giving a 28 character result.", "example" : "AAABAElUFUhRd3IHRFQVAAAAAAA=" }, "ucaf" : { "maxLength" : 80, "minLength" : 0, "type" : "string", "description" : "3-D Secure field. Base64 encoded binary data.", "example" : "jA/edkhsKdv1ARADDZlme6PCY+Y=" }, "xid" : { "maxLength" : 28, "minLength" : 0, "type" : "string", "description" : "3-D Secure field. Unique transaction identifier determined by merchant. Contains a 20 byte statistically unique value that has been Base64 encoded, giving a 28 character result.", "example" : "ICAgICAgIDExOTAwMTg3MTUxMzc" } }, "description" : "3-D Secure data provided by an MPI for 3DS version 1." }, "TDS20ExternalData" : { "type" : "object", "properties" : { "tds_ds_trans_id" : { "maxLength" : 36, "minLength" : 0, "type" : "string", "description" : "Unique transaction identifier assigned by the 3-D Secure 2.0 Directory Server.", "example" : "f81d4fae-7dec-11d0-a765-00a0c91e6bf6" }, "tds_authentication_value" : { "maxLength" : 28, "minLength" : 0, "pattern" : "[a-zA-Z0-9+/]*={0,2}", "type" : "string", "description" : "Assigned by the 3-D Secure 2.0 Directory Server or ACS (authenticationValue).Contains a 20 byte value that has been Base64 encoded, giving a 28 characterresult.", "example" : "ICAgICAgIDExOTAwMTg3MTUxMzc=" }, "tds_eci" : { "maxLength" : 2, "minLength" : 2, "type" : "string", "description" : "The Electronic Commerce Indicator (eci) provided by the 3-D Secure 2.0 directory server or ACS." } }, "description" : "3-D Secure data provided by a 3DS Server for 3DS version 2." }, "TDSExternalData" : { "type" : "object", "properties" : { "tds_20_external_data" : { "$ref" : "#/components/schemas/TDS20ExternalData" }, "tds_10_external_data" : { "$ref" : "#/components/schemas/TDS10ExternalData" }, "tds_trans_status" : { "type" : "string", "description" : "The 3D-Secure transaction status.\n\n* `Y`: Full\n* `A`: Attempt\n", "example" : "A", "enum" : [ "Y", "A" ] }, "tds_version" : { "type" : "string", "description" : "The 3D-Secure version.\n\n* `V1`: Version 1 (1.0.2)\n* `V2_1`: Version 2.1.0\n* `V2_2`: Version 2.2.0\n \n", "example" : "V2_1", "enum" : [ "V1", "V2_1", "V2_2" ] } }, "description" : "3-D Secure data provided by an MPI/3DS Server." }, "MeansOfPaymentDirectDebit" : { "type" : "object", "properties" : { "token" : { "maxLength" : 500, "minLength" : 0, "pattern" : "[a-zA-Z0-9/+=_-]*", "type" : "string", "description" : "The token value.", "example" : "eyJ0IjoiSFcyaS13cTB3PT0iLCJzIjoiaWIybzFRMHEifQ" }, "alias" : { "type" : "string", "description" : "A previously registered alias.", "example" : "221f56ca355d8e6c42517749cf79ceb8" }, "bank_account" : { "$ref" : "#/components/schemas/BankAccount" } }, "description" : "The means of payment that will be used. Exactly one of the given means is valid." }, "PaymentDirectDebitRequestInitial" : { "required" : [ "amount_total", "mandate", "means_of_payment" ], "type" : "object", "properties" : { "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "alias_action" : { "$ref" : "#/components/schemas/AliasAction" }, "basket_id" : { "maxLength" : 140, "minLength" : 0, "type" : "string", "description" : "Dependent on the backend services the value might be shortened or special characters might be removed before sending.\n\ngiropay: Will be displayed by giropay at the first row of the remittance information on the giropay form. Values longer than 27 characters will be cut off.", "example" : "basket123456" }, "means_of_payment" : { "$ref" : "#/components/schemas/MeansOfPaymentDirectDebit" }, "mandate" : { "$ref" : "#/components/schemas/EnhancedMandate" }, "address" : { "$ref" : "#/components/schemas/CommonAddress" }, "due_date" : { "type" : "string", "description" : "Due date of a direct debit payment. Full-date notation as defined by\nRFC 3339, section 5.6. The due date has to be at least three TARGET2 business days (not on weekends or the so\ncalled TARGET2 or TARGET holidays) after the current date. If you leave this field empty the direct debit is carried\nout as soon as possible.", "format" : "date" }, "debit_method" : { "type" : "string", "description" : "Direct debit method. If not specified, an SDD will be carried out.\n\n\n* `SDD`: SEPA Core Direct Debit\n* `B2B`: SEPA Business to Business Direct Debit\n\n\n ", "example" : "B2B", "enum" : [ "SDD", "B2B" ] }, "processing_options" : { "type" : "array", "description" : "Defines an additional processing option for direct debit.", "example" : [ "CHECKLIST", "RISKCHECK" ], "items" : { "type" : "string", "description" : "Additional processing option for direct debit.\n\n* `CHECKLIST`: before the direct debit a blacklist is checked. Only available if this\noption has been activated for the shop.\n* `RISKCHECK`: before the direct debit a risk check is performed. Only available if this \noption has been activated for the shop.\n ", "example" : "CHECKLIST", "enum" : [ "CHECKLIST", "RISKCHECK" ] } } } }, "PaymentDiagnosisEventResponse" : { "required" : [ "message", "rc" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." }, "transactions" : { "type" : "array", "description" : "All transactions that are assigned to this event.", "items" : { "$ref" : "#/components/schemas/PaymentDiagnosisResponse" } }, "payment_link_info" : { "$ref" : "#/components/schemas/PaymentLinkInfo" } }, "description" : "Response contains all transactions belonging to the event." }, "PaymentDiagnosisResponse" : { "required" : [ "event_id", "message", "rc", "timestamp", "tx_id" ], "type" : "object", "properties" : { "rc" : { "type" : "string", "description" : "Response code of the transaction. \"0\" in the case of a successful transaction. Other values signify errors.", "example" : "0" }, "message" : { "type" : "string", "description" : "Success or error message, text for the response code.", "example" : "Transaction approved." }, "event_id" : { "maxLength" : 50, "minLength" : 1, "pattern" : "[\\/0-9a-zA-Z_.:,\\-+*$%]+", "type" : "string", "description" : "A unique ID for the event.", "example" : "E5686585867636541231230" }, "tx_id" : { "type" : "string", "description" : "Unique transaction identifier. Can be used to reference this transaction.", "example" : "020LMG10jxSI8FN0OC4vLR" }, "riskmanagement_info" : { "$ref" : "#/components/schemas/RiskmanagementInfoResponse" }, "amount_total" : { "$ref" : "#/components/schemas/AmountCurrency" }, "kind" : { "type" : "string", "description" : "The type of transaction.", "enum" : [ "DIRECTDEBIT", "CREDITCARD", "CREDITCARD_3DS20", "CREDITTRANSFER", "SOFORTUEBERWEISUNG", "PAYPAL", "PAYDIREKT", "WECHATPAY", "P24", "GIROPAY", "KLARNA", "PSD2" ] }, "tx_action" : { "type" : "string", "description" : "The action of a transaction.", "enum" : [ "authorization", "capture", "credit", "preauthorization", "refund", "reversal", "risk_check", "verify-mop", "payment", "avs", "avspayment" ] }, "alias_info" : { "$ref" : "#/components/schemas/AliasInfo" }, "back_rc" : { "maxLength" : 255, "minLength" : 0, "type" : "string", "description" : "Response code of a backend system, for example the GICC response code.", "example" : "00" }, "timestamp" : { "type" : "string", "description" : "Timestamp of the transaction.", "format" : "date-time" }, "transaction_info" : { "$ref" : "#/components/schemas/TransactionInfo" }, "children" : { "type" : "array", "description" : "A list of all transactions that were sent as follow-up transactions.", "nullable" : true, "items" : { "$ref" : "#/components/schemas/PaymentDiagnosisResponse" } } }, "description" : "Response contains transaction details and all child transactions if present." }, "PaymentLinkInfo" : { "type" : "object", "properties" : { "status" : { "type" : "string", "description" : "The payment link status\n\n * `LINK_INITIALIZED`: payment link is initialized\n * `LINK_DEACTIVATED`: payment link is deactivated\n * `LINK_EXPIRED`: payment link has exceeded its validity period\n * `PAYMENT_SUCCESSFUL`: payment link was used for a successful payment\n", "example" : "PAYMENT_SUCCESSFUL", "enum" : [ "LINK_INITIALIZED", "LINK_DEACTIVATED", "LINK_EXPIRED", "PAYMENT_SUCCESSFUL" ] }, "expires" : { "type" : "string", "description" : "Specifies until when the payment link is usable.", "format" : "date-time" } }, "description" : "Contains information about the created or updated payment link." }, "PaymentRequestSubsequent" : { "required" : [ "kind" ], "type" : "object", "properties" : { "kind" : { "type" : "string", "description" : "The type of transaction.", "enum" : [ "DIRECTDEBIT", "CREDITCARD", "CREDITCARD_3DS20", "CREDITTRANSFER", "SOFORTUEBERWEISUNG", "PAYPAL", "PAYDIREKT", "WECHATPAY", "P24", "GIROPAY", "KLARNA", "PSD2" ] }, "changed_amount" : { "type" : "integer", "description" : "The changed transaction amount for follow-up transactions.", "format" : "int64", "example" : 200 }, "due_date" : { "type" : "string", "description" : "Optional in the case of a direct debit capture. Due date of a direct debit payment. Full-date notation as defined by\nRFC 3339, section 5.6. The due date has to be at least three TARGET2 business days (not on weekends or the so\ncalled TARGET2 or TARGET holidays) after the current date. If you leave this field empty the direct debit is carried\nout as soon as possible.", "format" : "date" }, "description" : { "type" : "string", "description" : "The description of the transaction.", "example" : "The description of the transaction." } } } }, "securitySchemes" : { "bearerAuth" : { "type" : "http", "scheme" : "bearer", "bearerFormat" : "JWT" } } } }