## Changelog ### 2025-10-13 One Time Passcode (OTP) We’ve added a new feature : One Time Passcode (OTP) — see details [here](https://docs.ratepay.com/docs/developer/otp/introduction/) . The [transactionManagement](/apis/payment/openapi/payment_api/transaction-management/createtransaction) endpoint now shows the transaction result (accepted, declined, or otp-required) along with related OTP decline reasons. Also, A new 202 status code is returned when result = OTP_REQUIRED, providing OTP validity, regeneration timing, localized messages, and verification endpoints. ### 2025-03-20 Optional header X-Partner A new optional header was added to ALL requests. See for example [create transaction](/apis/payment/openapi/payment_api/transaction-management/createtransaction) If you are using a single credential set for multiple integrations, such as countries or brands associated with one company, you can use this header to specify the correct partner-id you want to work with. ### 2024-10-07 Optional shop-transaction-id It is no longer required to include shop-transaction-id in each authorization request. This change introduces a new option to set shop-transaction-id value on [capture transaction](/apis/payment/openapi/payment_api/capture/capturetransaction/#!path=shop_transaction_id&t=request). This field must be included in at least one of the following requests: authorization or capture. ### 2024-08-01 Optional partner-transaction-id It is no longer required to include partner-transaction-id in each authorization request. This change introduces a new option to set partner-transaction-id value on [capture transaction](/apis/payment/openapi/payment_api/capture/capturetransaction/#!path=partner_transaction_id&t=request). This field must be included in at least one of the following requests: authorization or capture. ### 2024-04-09 Extension of the shop_baskets Object in the Authorization Operation This change introduces a new optional value `shop_merchant_id` for [shop basket](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=shop_baskets/partner_shop_id&t=request) object in the Authorization operation. It informs Ratepay systems that a shop has a connection to a specific merchant, so that merchant-level risk settings can be applied. ### 2024-03-07 Extension of the shops Object in the Authorization Operation This change introduces a new section for [merchant](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=shops/merchant&t=request) details within the [shops](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=shops&t=request) object in the Authorization operation. It enables the connection of shops to a specific merchant, allowing the configuration of a merchant-level set of settings in the Ratepay systems. ### 2023-10-13 Description of Expiration of Transactions A follow-up operation might get rejected because the transaction expired. We added a new page describing how [expiry](/docs/developer/api_integration/payment_2.0/expiry/) works and how you can prevent a transaction from expiring. ### 2023-08-24 Description of Basket Amount Validation Authorization a new transaction or any follow-up operation might be rejected if the gross amount of the basket doesn't match the sum of all items and special items given in the request. A new page describes in detail how [basket amount validation](/docs/developer/api_integration/payment_2.0/basket_validation/) works. ### 2023-08-23 Description of Key Identifiers Used A [new page was added describing the key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers) and their use-cases used in payment API like `ratepay_transaction_id`, `partner_shop_id`, `shop_buyer_id`, etc. ### 2023-08-02 Lookup Incremental Authorizations: New Endpoints to GET Incremental Authorizations Two new endpoints were added. 1. [Retrieve all incremental authorizations of a transaction](/apis/payment/openapi/payment_api/incremental-authorization/getallauthorizations). 2. [Retrieve a single incremental authorization of a transaction](/apis/payment/openapi/payment_api/incremental-authorization/getsingleauthorization) by providing the incremental authorization ID generated by Ratepay. An API client can control the amount of information returned by setting the corresponding representation request header. The responses only include accepted incremental authorizations. Hence, rejected incremental authorization attempts are not included in the response. ### 2023-07-14 Lookup Cancellations: New Endpoints to GET Cancellations Two new endpoints were added. 1. [Retrieve all cancellations of a transaction](/apis/payment/openapi/payment_api/cancellation/getallcancellations). 2. [Retrieve a single cancellation of a transaction](/apis/payment/openapi/payment_api/cancellation/getsinglecancellation) by providing the cancellation ID generated by Ratepay. An API client can control the amount of information returned by setting the corresponding representation request header. The responses only include accepted cancellations. Hence, rejected cancellation attempts are not included in the response. The transaction is automatically cancelled when it expired. This cancellation resource is also returned by the endpoints. ### 2023-07-11 Lookup Refunds: New Endpoints to GET Refunds Two new endpoints were added. 1. [Retrieve all refunds of a transaction](/apis/payment/openapi/payment_api/refund/getallrefunds). 2. [Retrieve a single refund of a transaction](/apis/payment/openapi/payment_api/refund/getsinglerefund) by providing the refund ID generated by Ratepay. An API client can control the amount of information returned by setting the corresponding representation request header. The responses only include accepted refunds. Hence, rejected refund attempts are not included in the response. ### 2023-07-03 Specify Buyer Return Fee in Refund Calls When creating a new refund, you can now specify a buyer return fee. To specify a buyer return fee, [add a special item of type RETURN FEE](/apis/payment/openapi/payment_api/refund/refundtransaction/#!path=special_items/type&t=request) with a negative amount. ### 2023-06-29 Lookup Captures: New Endpoints to GET Captures Two new endpoints were added. 1. [Retrieve all captures of a transaction](/apis/payment/openapi/payment_api/capture/getallcaptures). 2. [Retrieve a single capture of a transaction](/apis/payment/openapi/payment_api/capture/getsinglecapture) by providing the capture ID generated by Ratepay. An API client can control the amount of information returned by setting the corresponding representation request header. The responses only include accepted captures. Hence, rejected capture attempts are not included in the response. ### 2023-06-12 Lookup Transaction: New Endpoint to GET Transaction A new [endpoint to lookup a transaction](/apis/payment/openapi/payment_api/transaction-management/gettransaction) is now available. This endpoint returns structural information about the transaction like buyer and delivery details. The response also includes links to all existing follow-up resources like captures and refunds. An API client can control the amount of information returned by setting the corresponding representation request header. The endpoint supports declined transactions, i.e. transactions not accepted by Ratepay. In case of declined transactions, it might happen that not all attributes are returned if they were missing or syntactically incorrect in original request. Please note: This endpoint doesn't provide payment status information. ### 2023-05-15 Capture Transaction: New Optional Attribute - partner_invoice_id The partner's invoice ID can now be optionally included in the [capture call](/apis/payment/openapi/payment_api/capture/capturetransaction/#!path=partner_invoice_id&t=request). ### 2023-04-25 All Follow-up Operations now support Marketplace Transactions All follow-up operations like capture, refund, and cancellation can now be used on marketplace transactions. To identify the basket to capture, refund, cancel, etc., the basket's partner_shop_id must be included in the belonging request. API documentation was updated, see: * [capture](/apis/payment/openapi/payment_api/capture/capturetransaction/#!path=partner_shop_id&t=request) * [refund](/apis/payment/openapi/payment_api/refund/refundtransaction/#!path=partner_shop_id&t=request) * [cancellation](/apis/payment/openapi/payment_api/cancellation/canceltransaction/#!path=partner_shop_id&t=request) * [incremental authorization](/apis/payment/openapi/payment_api/incremental-authorization/incrementalauthorizationtransaction/#!path=partner_shop_id&t=request) ### 2023-03-09 Capture Transaction: New Optional Attribute - partner_shop_id The partner's shop ID can now be optionally included in the [capture call](/apis/payment/openapi/payment_api/capture/capturetransaction/#!path=partner_shop_id&t=request). The new attribute is required for marketplace transactions to denote which basket is getting captured. ### 2023-01-27 Payment References as a List When authorizing a new transaction, the response now contains a list of payment references. This is in preparation to allow transactions with multiple baskets, which require a different payment reference for each basket. For future integration, use new [ratepay_payment_references](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!c=201&path=payment_details/ratepay_payment_references&t=response) list. The single value field [ratepay_payment_reference](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!c=201&path=payment_details/ratepay_payment_reference&t=response) is deprecated as of now. ### 2022-10-21 Request Custom Authorization Expiry When creating a new transaction, you can now provide a [custom expiry time in the authorization request](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=authorization_expires&t=request). If the authorization request is accepted and the custom expiry time is within contractually agreed limits, the newly created transaction will expire at the given time. ### 2022-10-13 Change Transaction: Extend Authorization Expiry A new endpoint to [change existing transactions](/apis/payment/openapi/payment_api/transaction-management/change) is now available. It is now possible to extend authorization expiry if contractually agreed. ### 2022-09-29 New Slangs Supported: French & Dutch When providing correspondence settings for a shop while authorizing a transaction, it is now possible to [define French and Dutch slangs](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=shops/correspondence_settings/slangs&t=request). In addition, German slang is now optional. ### 2022-09-27 Optional Shop On-boarding It is no longer required to include [shop information](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=shops&t=request) in each authorization request. Shops can be on-boarded beforehand. Contact Ratepay to on-board your shop beforehand and get a valid partner shop ID. This ID must be used in the [shop basket](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=shop_baskets/partner_shop_id&t=request) as each basket must be related to a shop. ### 2022-08-25 New Payment Method: Pay Now with SEPA Direct Debit A new payment method is available. The buyer can pay immediately by SEPA direct debit. Besides specifying this [payment method and transfer type](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=payment_method&t=request) while authorizating a new transaction, also a debit bank account must be given in [payment details](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=payment_details&t=request). ### 2022-08-12 Specify Sales Channel during Transaction Authorization When authorizing a new transaction, a sales channel shall be provided. See [sales channel option](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=options/sales_channel&t=request) for details. ### 2022-06-09 Add Shipping Information to Capture It is now possible to add shipping information to an existing capture. See [add shipping information](/apis/payment/openapi/payment_api/shipping-information/addshippinginformation) for details. ### 2022-05-19 Add Support for Incremental Authorization It is now possible to increase the transaction amount after the transaction was created. You can extend the transaction with additional items by requesting an incremental authorization. See new endpoint [incremental authorization](/apis/payment/openapi/payment_api/incremental-authorization/incrementalauthorizationtransaction) for details. ### 2022-04-22 Add Support for Captures, Refunds and Cancellations with Items and Special Items All follow-up operations can now contain items and special items, which were captured, refunded or cancelled. - [Capture request](/apis/payment/openapi/payment_api/capture/capturetransaction/#!path=items&t=request) - [Refund request](/apis/payment/openapi/payment_api/refund/refundtransaction/#!path=items&t=request) - [Cancellation request](/apis/payment/openapi/payment_api/cancellation/canceltransaction/#!path=items&t=request) ### 2022-04-04 Regular Customer Support It is now possible to mark a buyer as a ```yaml openapi: 3.0.1 info: contact: email: info@ratepay.com name: Ratepay url: https://www.ratepay.com/ description: This is the documentation for the Ratepay Payment API v2. The API is still in development and subject to change. The documentation will evolve as the development of the API progresses. title: Payment OpenAPI Specification version: version 2 servers: - description: Ratepay Integration Platform url: https://api-integration.ratepay.com/transaction/management - description: Ratepay Production Platform url: https://api.ratepay.com/transaction/management security: - Bearer Authentication: [] paths: /v2/transactions: post: description: Perform an authorization request for a transaction. operationId: createTransaction parameters: - description: "ID generated by client to uniquely identify the request. It\ \ is highly recommended to use a UUID version 4. Do not reuse an idempotency\ \ key for different calls. See [Idempotency](/docs/developer/api_integration/payment_2.0/idempotency/)\ \ for further details." in: header name: Idempotency-Key required: false schema: type: string maxLength: 64 - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation requestBody: content: application/json: schema: $ref: '#/components/schemas/TransactionRequestDto' required: true responses: "201": content: application/hal+json: schema: $ref: '#/components/schemas/TransactionMinimalResponseDto' description: Transaction authorized "400": content: application/problem+json: schema: $ref: '#/components/schemas/TransactionBadRequestErrorDto' description: Bad request "422": content: application/problem+json: schema: $ref: '#/components/schemas/TransactionCreateRejectedErrorResponseDto' description: Transaction declined "500": description: Technical problem summary: Authorize transaction tags: - Transaction management /v2/transactions/{ratepay_transaction_id}: get: description: Retrieve attributes of an existing transaction including list of follow-up operations. operationId: getTransaction parameters: - description: "ID of transaction to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation responses: "200": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/LookupTransactionMinimalResponseDto' - $ref: '#/components/schemas/LookupTransactionFullResponseDto' description: Transaction retrieved "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Retrieve transaction tags: - Transaction management patch: description: Change attributes of an existing transaction. operationId: change parameters: - description: "ID of transaction to change. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string requestBody: content: application/merge-patch+json: schema: $ref: '#/components/schemas/ChangeDto' required: true responses: "204": content: '*/*': schema: type: object description: Transaction changed "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "422": content: application/problem+json: schema: $ref: '#/components/schemas/ChangeRejectedErrorResponseDto' description: Change declined "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Change transaction tags: - Transaction management /v2/transactions/{ratepay_transaction_id}/authorizations: get: description: Retrieve all authorization resources of an existing transaction including their attributes. operationId: getAllAuthorizations parameters: - description: "ID of transaction to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation responses: "200": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/LookupAllIncrementalAuthsMinimalResponseDto' - $ref: '#/components/schemas/LookupAllIncrementalAuthsFullResponseDto' description: Authorizations retrieved "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Retrieve all authorizations tags: - Incremental authorization post: description: Increase the amount of a previously authorized transaction operationId: incrementalAuthorizationTransaction parameters: - description: "ID of transaction to extend with additional authorization. Get\ \ an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "ID generated by client to uniquely identify the request. It\ \ is highly recommended to use a UUID version 4. Do not reuse an idempotency\ \ key for different calls. See [Idempotency](/docs/developer/api_integration/payment_2.0/idempotency/)\ \ for further details." in: header name: Idempotency-Key required: false schema: type: string maxLength: 64 - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation requestBody: content: application/json: schema: $ref: '#/components/schemas/IncrementalAuthorizationRequestDto' required: true responses: "201": content: application/hal+json: schema: $ref: '#/components/schemas/IncrementalAuthorizationMinimalResponseDto' description: Authorization created "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "422": content: application/problem+json: schema: $ref: '#/components/schemas/IncrementalAuthorizationCreateRejectedErrorResponseDto' description: Authorization declined "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Incrementally authorize transaction tags: - Incremental authorization /v2/transactions/{ratepay_transaction_id}/authorizations/{ratepay_authorization_id}: get: description: Retrieve an authorization resource of an existing transaction including its attributes. operationId: getSingleAuthorization parameters: - description: "ID of transaction to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "ID of authorization to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_authorization_id required: true schema: type: string - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation responses: "200": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/IncrementalAuthorizationMinimalResponseDto' - $ref: '#/components/schemas/IncrementalAuthorizationFullResponseDto' description: Authorization retrieved "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Retrieve an authorization tags: - Incremental authorization /v2/transactions/{ratepay_transaction_id}/cancellations: get: description: Retrieve all cancellation resources of an existing transaction including their attributes. operationId: getAllCancellations parameters: - description: "ID of transaction to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation responses: "200": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/LookupAllCancellationsMinimalResponseDto' - $ref: '#/components/schemas/LookupAllCancellationsFullResponseDto' description: Cancellations retrieved "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Retrieve all cancellations tags: - Cancellation post: description: Cancel a previously authorized transaction operationId: cancelTransaction parameters: - description: "ID of transaction to cancel. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "ID generated by client to uniquely identify the request. It\ \ is highly recommended to use a UUID version 4. Do not reuse an idempotency\ \ key for different calls. See [Idempotency](/docs/developer/api_integration/payment_2.0/idempotency/)\ \ for further details." in: header name: Idempotency-Key required: false schema: type: string maxLength: 64 - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation requestBody: content: application/json: schema: $ref: '#/components/schemas/CancellationRequestDto' required: true responses: "201": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/CancellationMinimalResponseDto' - $ref: '#/components/schemas/CancellationFullResponseDto' description: Cancellation created "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "422": content: application/problem+json: schema: $ref: '#/components/schemas/CancellationRejectedErrorResponseDto' description: Cancellation declined "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Cancel transaction tags: - Cancellation /v2/transactions/{ratepay_transaction_id}/cancellations/{ratepay_cancellation_id}: get: description: Retrieve a cancellation resource of an existing transaction including its attributes. operationId: getSingleCancellation parameters: - description: "ID of transaction to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "ID of cancellation to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_cancellation_id required: true schema: type: string - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation responses: "200": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/CancellationMinimalResponseDto' - $ref: '#/components/schemas/CancellationFullResponseDto' description: Cancellation retrieved "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Retrieve a cancellation tags: - Cancellation /v2/transactions/{ratepay_transaction_id}/captures: get: description: Retrieve all capture resources of an existing transaction including their attributes. operationId: getAllCaptures parameters: - description: "ID of transaction to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation responses: "200": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/LookupAllCapturesMinimalResponseDto' - $ref: '#/components/schemas/LookupAllCapturesFullResponseDto' description: Captures retrieved "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Retrieve all captures tags: - Capture post: description: Capture a previously authorized transaction operationId: captureTransaction parameters: - description: "ID of transaction to capture. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "ID generated by client to uniquely identify the request. It\ \ is highly recommended to use a UUID version 4. Do not reuse an idempotency\ \ key for different calls. See [Idempotency](/docs/developer/api_integration/payment_2.0/idempotency/)\ \ for further details." in: header name: Idempotency-Key required: false schema: type: string maxLength: 64 - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation requestBody: content: application/json: schema: $ref: '#/components/schemas/CaptureRequestDto' required: true responses: "201": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/CaptureMinimalResponseDto' - $ref: '#/components/schemas/CaptureFullResponseDto' description: Capture created "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "422": content: application/problem+json: schema: $ref: '#/components/schemas/CaptureCreateRejectedErrorResponseDto' description: Capture declined "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Capture transaction tags: - Capture /v2/transactions/{ratepay_transaction_id}/captures/{ratepay_capture_id}: get: description: Retrieve a capture resource of an existing transaction including its attributes. operationId: getSingleCapture parameters: - description: "ID of transaction to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "ID of capture to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_capture_id required: true schema: type: string - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation responses: "200": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/CaptureMinimalResponseDto' - $ref: '#/components/schemas/CaptureFullResponseDto' description: Capture retrieved "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Retrieve a capture tags: - Capture /v2/transactions/{ratepay_transaction_id}/captures/{ratepay_capture_id}/shipping-information: post: description: Add shipping information to previously captured transaction operationId: addShippingInformation parameters: - description: "ID of transaction. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "ID of capture the shipping information should be added to. Get\ \ an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_capture_id required: true schema: type: string - description: "ID generated by client to uniquely identify the request. It\ \ is highly recommended to use a UUID version 4. Do not reuse an idempotency\ \ key for different calls. See [Idempotency](/docs/developer/api_integration/payment_2.0/idempotency/)\ \ for further details." in: header name: Idempotency-Key required: false schema: type: string maxLength: 64 - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation requestBody: content: application/json: schema: $ref: '#/components/schemas/ShippingInformationRequestDto' required: true responses: "201": content: application/hal+json: schema: $ref: '#/components/schemas/ShippingInformationMinimalResponseDto' description: Shipping information added "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction or capture not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Add shipping information tags: - Shipping information /v2/transactions/{ratepay_transaction_id}/refunds: get: description: Retrieve all refund resources of an existing transaction including their attributes. operationId: getAllRefunds parameters: - description: "ID of transaction to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation responses: "200": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/LookupAllRefundsMinimalResponseDto' - $ref: '#/components/schemas/LookupAllRefundsFullResponseDto' description: Refunds retrieved "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Retrieve all refunds tags: - Refund post: description: Refund a previously authorized and captured transaction operationId: refundTransaction parameters: - description: "ID of transaction to refund. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "ID generated by client to uniquely identify the request. It\ \ is highly recommended to use a UUID version 4. Do not reuse an idempotency\ \ key for different calls. See [Idempotency](/docs/developer/api_integration/payment_2.0/idempotency/)\ \ for further details." in: header name: Idempotency-Key required: false schema: type: string maxLength: 64 - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation requestBody: content: application/json: schema: $ref: '#/components/schemas/RefundRequestDto' required: true responses: "201": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/RefundMinimalResponseDto' - $ref: '#/components/schemas/RefundFullResponseDto' description: Refund created "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "422": content: application/problem+json: schema: $ref: '#/components/schemas/RefundCreateRejectedErrorResponseDto' description: Refund declined "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Refund transaction tags: - Refund /v2/transactions/{ratepay_transaction_id}/refunds/{ratepay_refund_id}: get: description: Retrieve a refund resource of an existing transaction including its attributes. operationId: getSingleRefund parameters: - description: "ID of transaction to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_transaction_id required: true schema: type: string - description: "ID of refund to retrieve. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." in: path name: ratepay_refund_id required: true schema: type: string - description: "According to RFC 7240: Provide `return=representation` if you\ \ prefer that the response to a request includes the current state of the\ \ resource." in: header name: Prefer required: false schema: type: string enum: - return=representation responses: "200": content: application/hal+json: schema: oneOf: - $ref: '#/components/schemas/RefundMinimalResponseDto' - $ref: '#/components/schemas/RefundFullResponseDto' description: Refund retrieved "400": content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestErrorResponseDto' description: Bad request "404": content: application/problem+json: schema: $ref: '#/components/schemas/ResourceNotFoundErrorResponseDto' description: Transaction not found "451": content: application/problem+json: schema: $ref: '#/components/schemas/LegalErrorResponseDto' description: Legally not allowed "500": description: Technical problem summary: Retrieve a refund tags: - Refund components: schemas: AddressDto: type: object description: The address of the recipient. properties: city: type: string description: The city of the address. Must be at least 2 non whitespace characters. example: Berlin maxLength: 100 minLength: 2 country_code: type: string description: "The country of the address. Must conform with [ISO 3166-1\ \ alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: DE pattern: "[A-Z]{2}" street: type: string description: The name of the street. example: Schönhauser Allee maxLength: 100 minLength: 1 street_addition: type: string description: "Additional information about the address, e.g. 2nd floor,\ \ c/o John Doe." example: "Seitenflügel, 2. HH" maxLength: 50 minLength: 1 street_number: type: string description: The number describing where the building is located in the street. example: "84" maxLength: 30 minLength: 1 zip_code: type: string description: "The zip or post code of the address. Must be valid according\ \ to zip format of given country code. See [list of postal codes](https://en.wikipedia.org/wiki/List_of_postal_codes)." example: "10439" maxLength: 10 minLength: 1 required: - city - country_code - street - zip_code BadRequestDeclineDto: type: object description: Information about why transaction was not accepted and declined. properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: SYNTAX invalid_fields: type: array description: List of one or multiple entries describing each failed validation. Only present if reason is `INVALID_FIELDS`. items: $ref: '#/components/schemas/InvalidField' reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - INVALID_FIELDS items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"INVALID_FIELDS\"]" required: - category - reasons BadRequestErrorResponseDto: type: object properties: decline: $ref: '#/components/schemas/BadRequestDeclineDto' required: - decline BankDetailsRequestDto: type: object description: The bank account Ratepay will use to deduct captured transaction amounts. Applicable only in case of transfer-type SEPA_DIRECT_DEBIT. properties: bic: type: string description: "BIC of the bank, also known as SWIFT code, without any whitespaces.\ \ Format as specified by [ISO 9362:2014](https://en.wikipedia.org/wiki/ISO_9362)." example: EXBANKXXX pattern: "[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?" iban: type: string description: "IBAN of the bank account. Any whitespaces will be removed.\ \ Format as specified by [ISO 13616:2020](https://en.wikipedia.org/wiki/International_Bank_Account_Number)." example: DE12345678901234567890 maxLength: 34 minLength: 15 owner: type: string description: Owner of the bank account. example: Heinz Steeger maxLength: 100 minLength: 1 pattern: "[A-Za-zäöüÄÖÜß0-9/.,+\\- ]*" required: - iban - owner BankDetailsResponseDto: type: object description: The bank account the buyer has to transfer the money to. Applicable only in case of transfer type BANK_TRANSFER. properties: bank_name: type: string description: Name of the bank. example: Example Bank maxLength: 127 bic: type: string description: "BIC of the bank, also known as SWIFT code, without any whitespaces.\ \ Format as specified by [ISO 9362:2014](https://en.wikipedia.org/wiki/ISO_9362)." example: EXBANKXXX pattern: "[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?" iban: type: string description: "IBAN of the bank account. Format as specified by [ISO 13616:2020](https://en.wikipedia.org/wiki/International_Bank_Account_Number)." example: DE12345678901234567890 maxLength: 34 minLength: 15 owner: type: string description: Owner of the bank account. example: Ratepay GmbH maxLength: 100 pattern: "[A-Za-zäöüÄÖÜß0-9/.,+\\- ]*" required: - bank_name - bic - iban - owner BrandingSettingsDto: type: object description: Shop branding settings for buyer correspondences. properties: highlight_color: type: string description: "The color for the highlighted elements in buyer correspondences\ \ as HTML HEX color code, e.g. `#BADB11`." example: '#badb11' pattern: "#[a-fA-F0-9]{6}" logo_position: type: string description: Shop logo position in buyer correspondences. enum: - LEFT - RIGHT - CENTER example: RIGHT logo_url: type: string description: Publicly accessible shop logo to include in buyer correspondences. This must be a valid `https://` or `http://` URL. example: https://cdn.example.com/a/b/c/logo-fruits-and-more_400x65.png BrowserDto: type: object description: The browser used by the buyer. properties: language: type: string description: "The language used by the browser. Must conform to [BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag)." example: de-DE pattern: "^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2})?$" name: type: string description: The name of the used browser. example: Mozilla Firefox maxLength: 255 minLength: 1 version: type: string description: The version of the used browser. example: 94.0 (64-bit) maxLength: 255 minLength: 1 BuyerDto: type: object description: The buyer that wants to place the transaction. properties: billing_address: $ref: '#/components/schemas/AddressDto' company: $ref: '#/components/schemas/CompanyDto' contact: $ref: '#/components/schemas/ContactDto' language: type: string description: "The language in which the buyer prefers communication to be\ \ done. If the preferred language is not supported, the buyer communication\ \ will be in German. Must conform to [ISO 639-1 alpha 2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)." example: de pattern: "[a-z]{2}" person: $ref: '#/components/schemas/PersonDto' shop_buyer_id: type: string description: "The buyer ID of a regular customer. See [regular customer\ \ documentation](/docs/reporting/regular_customers/regular_customers_introduction/)\ \ for details. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: shop-buyer-id-1234 maxLength: 100 minLength: 1 required: - billing_address - contact CancellationFullResponseDto: type: object description: This response is returned if representation header is specified. Response includes all attributes of cancellation. properties: _links: $ref: '#/components/schemas/CancellationLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." gross_amount: type: number description: Amount to cancel given in currency of original transaction. example: 67.6 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 items: type: array description: List of cancelled items items: $ref: '#/components/schemas/ItemDto' partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: cancel-id-1234 maxLength: 255 minLength: 0 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API. This field is required in case of marketplace transaction." example: partner-shop-id-1 maxLength: 255 minLength: 1 ratepay_cancellation_id: type: string description: "ID of confirmed cancellation (generated by Ratepay). Get an\ \ [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: aa7rth5-__GG44rdsasf maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" special_items: type: array description: "List of cancelled special items, e.g. shipping costs or discounts." items: $ref: '#/components/schemas/SpecialItemDto' vats: type: array description: List of value-added tax (VAT) amounts. items: $ref: '#/components/schemas/VatDto' required: - _links - created - gross_amount - ratepay_cancellation_id CancellationLinks: type: object description: "Links related to the resource following specification by [IANA](https://www.iana.org/assignments/link-relations/link-relations.xhtml)." properties: self: $ref: '#/components/schemas/CancellationSelfLink' required: - self CancellationMinimalResponseDto: type: object description: Includes only minimal set of attributes generated by Ratepay during cancellation creation. properties: _links: $ref: '#/components/schemas/CancellationLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." ratepay_cancellation_id: type: string description: "ID of confirmed cancellation generated by Ratepay. Get an\ \ [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: aa7rth5-__GG44rdsasf maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - created - ratepay_cancellation_id CancellationRejectedDeclineDto: type: object properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: UNPROCESSABLE_OPERATION reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - CANCELLATION_AMOUNT_TOO_HIGH items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"CANCELLATION_AMOUNT_TOO_HIGH\"]" required: - category CancellationRejectedErrorResponseDto: type: object properties: decline: $ref: '#/components/schemas/CancellationRejectedDeclineDto' required: - decline CancellationRequestDto: type: object properties: gross_amount: type: number description: Amount to cancel given in currency of original transaction. example: 67.6 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 items: type: array description: List of cancelled items items: $ref: '#/components/schemas/ItemDto' partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: cancel-id-1234 maxLength: 255 minLength: 0 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API. This field is required in case of marketplace transaction." example: partner-shop-id-1 maxLength: 255 minLength: 1 special_items: type: array description: "List of cancelled special items, e.g. shipping costs or discounts." items: $ref: '#/components/schemas/SpecialItemDto' vats: type: array description: List of value-added tax (VAT) amounts. items: $ref: '#/components/schemas/VatDto' required: - gross_amount CancellationSelfLink: type: object description: The self relation identifying the cancellation resource itself. properties: href: type: string description: URI pointing to resource itself. example: https://api-integration.ratepay.com/transaction/management/v2/transactions/scwBgARW-nE93I7_ywhp/cancellations/aa7rth5-__GG44rdsasf required: - href CaptureCreateRejectedDeclineDto: type: object properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: UNPROCESSABLE_OPERATION reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - CAPTURE_AMOUNT_TOO_HIGH items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"CAPTURE_AMOUNT_TOO_HIGH\"]" required: - category CaptureCreateRejectedErrorResponseDto: type: object properties: decline: $ref: '#/components/schemas/CaptureCreateRejectedDeclineDto' required: - decline CaptureFullResponseDto: type: object description: This response is returned if representation header is specified. Response includes all attributes of capture. properties: _links: $ref: '#/components/schemas/CaptureLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." gross_amount: type: number description: Amount to capture given in currency of original transaction. example: 67.6 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 items: type: array description: List of captured items. items: $ref: '#/components/schemas/ItemDto' partner_invoice_id: type: string description: Arbitrary invoice ID generated by partner. example: partner-invoice-id-1234 maxLength: 50 minLength: 0 partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: capture-id-1234 maxLength: 255 minLength: 0 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API. This field is required in case of marketplace transaction." example: partner-shop-id-1 maxLength: 255 minLength: 1 ratepay_capture_id: type: string description: "ID of confirmed capture (generated by Ratepay). Get an [overview\ \ of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: BFNpWnim6LUDFQA8x3VN maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" special_items: type: array description: "List of captured special items, e.g. shipping costs or discounts." items: $ref: '#/components/schemas/SpecialItemDto' vats: type: array description: List of value-added tax (VAT) amounts. items: $ref: '#/components/schemas/VatDto' required: - _links - created - gross_amount - ratepay_capture_id CaptureLinks: type: object description: "Links related to the resource following specification by [IANA](https://www.iana.org/assignments/link-relations/link-relations.xhtml)." properties: self: $ref: '#/components/schemas/CaptureSelfLink' required: - self CaptureMinimalResponseDto: type: object description: Includes only minimal set of attributes generated by Ratepay during capture creation. properties: _links: $ref: '#/components/schemas/CaptureLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." ratepay_capture_id: type: string description: "ID of confirmed capture (generated by Ratepay). Get an [overview\ \ of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: BFNpWnim6LUDFQA8x3VN maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - created - ratepay_capture_id CaptureRequestDto: type: object properties: gross_amount: type: number description: Amount to capture given in currency of original transaction. example: 67.6 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 items: type: array description: List of captured items. items: $ref: '#/components/schemas/ItemDto' partner_invoice_id: type: string description: Arbitrary invoice ID generated by partner. example: partner-invoice-id-1234 maxLength: 50 minLength: 0 partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: capture-id-1234 maxLength: 255 minLength: 0 partner_transaction_id: type: string description: "The transaction ID generated by the partner. This field must be\ \ included in at least one of the following requests: authorization or capture.This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: partner-transaction-id-1234 maxLength: 50 minLength: 1 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API. This field is required in case of marketplace transaction." example: partner-shop-id-1 maxLength: 255 minLength: 1 special_items: type: array description: "List of captured special items, e.g. shipping costs or discounts." items: $ref: '#/components/schemas/SpecialItemDto' vats: type: array description: List of value-added tax (VAT) amounts. items: $ref: '#/components/schemas/VatDto' required: - gross_amount CaptureSelfLink: type: object description: The self relation identifying the capture resource itself. properties: href: type: string description: URI pointing to resource itself. example: https://api-integration.ratepay.com/transaction/management/v2/transactions/scwBgARW-nE93I7_ywhp/captures/BFNpWnim6LUDFQA8x3VN required: - href ChangeDto: type: object properties: authorization_expires: type: string format: date-time description: Timestamp when the transaction should expire. example: 2024-10-08T13:34:10.205+02:00 required: - authorization_expires ChangeRejectedErrorResponseDto: type: object properties: decline: $ref: '#/components/schemas/UnprocessableOperationNotAllowedForDeclinedTransaction' required: - decline CompanyDto: type: object description: The company that wants to place the transaction. This implies a B2B transaction. Either provide a person or company but not both. example: null properties: first_name: type: string description: The first name of the contact person within the company. example: Heinz maxLength: 100 minLength: 1 last_name: type: string description: The last name of the contact person within the company. example: Steeger maxLength: 100 minLength: 1 name: type: string description: "Official company name, should include legal form if applicable." example: Berlin Advertising Agency GmbH maxLength: 100 minLength: 1 vat_id: type: string description: Value-added tax ID of the company. This can be a European VAT ID or a local one. example: DE123456789 maxLength: 20 minLength: 1 required: - name ContactDto: type: object description: The contact information of the buyer. properties: email: type: string description: The email address of the buyer. example: heinz.steeger@example.org maxLength: 100 minLength: 1 pattern: "[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(\\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\\ .)+[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?" phone: type: string description: The phone number of the buyer. Has to have at least 6 digits without spaces. example: +49 177 44455553 maxLength: 60 minLength: 6 pattern: "[+0-9/\\\\\\- ().,;]*[0-9][+0-9/\\\\\\- ().,;]*" required: - email - phone CorrespondenceSettingsDto: type: object description: Settings for buyer correspondences. properties: branding_settings: $ref: '#/components/schemas/BrandingSettingsDto' slangs: $ref: '#/components/schemas/SlangsDto' DeclineDto: type: object description: Information about why transaction was not accepted and declined. properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: BUYER_DATA reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - INVALID_BILLING_ADDRESS items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"INVALID_BILLING_ADDRESS\"]" required: - category - reasons DeliveryDto: type: object description: The delivery address and additional delivery parameters. properties: address: $ref: '#/components/schemas/AddressDto' company: type: string description: The company name of the recipient. example: Berlin Advertising Agency maxLength: 100 minLength: 1 first_name: type: string description: "The first name of the recipient. You shall also provide a\ \ last name, but no full name." example: Heinz maxLength: 100 minLength: 1 full_name: type: string description: The full name of the recipient. You shall not provide first and last name. example: null maxLength: 200 minLength: 1 in_store_collect: $ref: '#/components/schemas/InStoreCollectDto' last_name: type: string description: "The last name of the recipient. You shall also provide a first\ \ name, but no full name." example: Steeger maxLength: 100 minLength: 1 pick_up_box: $ref: '#/components/schemas/PickUpBoxDto' pick_up_shop: $ref: '#/components/schemas/PickUpShopDto' DeviceDto: type: object description: The device used to initiate the transaction. properties: browser: $ref: '#/components/schemas/BrowserDto' finger_print: type: string description: "A unique fingerprint to identify the buyer's device. This\ \ fingerprint is generated by the partner. Provide this if you do not\ \ integrate [Ratepay's device fingerprinting feature](/docs/developer/device_fingerprinting/device_fingerprinting/).\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: bc47575c-7f93-4bae-84dc-282edf6a5d85 maxLength: 255 minLength: 1 geo_location: $ref: '#/components/schemas/GeoLocationDto' http_forwarded_ip_address: type: string description: The IP address given in the HTTP Forwarded header. Can be an IPv4 or IPv6 address. example: 123.123.123.123 maxLength: 255 minLength: 1 risk: $ref: '#/components/schemas/RiskDto' screen: $ref: '#/components/schemas/ScreenDto' source_ip_address: type: string description: The IP address of the network client initiating the connection to the web shop. Can be an IPv4 or IPv6 address. example: 10.17.1.1 maxLength: 255 minLength: 1 token: type: string description: "ID generated using [Ratepay's device fingerprinting feature](/docs/developer/device_fingerprinting/device_fingerprinting/).\ \ Include the generated token if you are using the device fingerprinting\ \ feature in your integration. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: ade028c1-d2a2-4189-9214-e21089cd47f1 maxLength: 255 minLength: 1 DeviceLookupResponseDto: type: object description: The device used to initiate the transaction. properties: token: type: string description: "ID generated using [Ratepay's device fingerprinting feature](/docs/developer/device_fingerprinting/device_fingerprinting/).\ \ Include the generated token if you are using the device fingerprinting\ \ feature in your integration. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: ade028c1-d2a2-4189-9214-e21089cd47f1 maxLength: 255 minLength: 1 GeoLocationDto: type: object description: The geographical position of the buyer's device. properties: latitude: type: number description: The latitude of the geographical position of the buyer's device. example: 52.518368 longitude: type: number description: The longitude of the geographical position of the buyer's device. example: 13.325109 InStoreCollectDto: type: object description: The information of the in-store collect. example: null properties: city: type: string description: The city of the address. Must be at least 2 non whitespace characters. example: Berlin maxLength: 100 minLength: 2 country_code: type: string description: "The country of the address. Must conform with [ISO 3166-1\ \ alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: DE pattern: "[A-Z]{2}" location_name: type: string description: The name of the collection location. example: Apotheke am Rathaus maxLength: 127 minLength: 1 street: type: string description: The name of the street. example: Hauptstraße maxLength: 100 minLength: 1 street_addition: type: string description: Additional information about the address. maxLength: 50 minLength: 1 street_number: type: string description: The number describing where the building is located in the street. example: "22" maxLength: 30 minLength: 1 zip_code: type: string description: "The zip or post code of the address. Must be valid according\ \ to zip format of given country code. See [list of postal codes](https://en.wikipedia.org/wiki/List_of_postal_codes)." example: "10439" maxLength: 10 minLength: 1 required: - city - country_code - street - zip_code IncrementalAuthorizationCreateRejectedDeclineDto: type: object properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: UNPROCESSABLE_OPERATION reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT\"]" required: - category IncrementalAuthorizationCreateRejectedErrorResponseDto: type: object properties: decline: $ref: '#/components/schemas/IncrementalAuthorizationCreateRejectedDeclineDto' required: - decline IncrementalAuthorizationFullResponseDto: type: object description: This response is returned if representation header is specified. Response includes all attributes of authorization. properties: _links: $ref: '#/components/schemas/IncrementalAuthorizationLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." gross_amount: type: number description: Amount to increase given in currency of original transaction. example: 67.6 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 items: type: array description: List of items to add. items: $ref: '#/components/schemas/ItemDto' partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: authorization-id-1234 maxLength: 255 minLength: 0 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API. This field is required in case of marketplace transaction." example: partner-shop-id-1 maxLength: 255 minLength: 1 ratepay_authorization_id: type: string description: "ID of confirmed authorization (generated by Ratepay). Get\ \ an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: 9wdn0Fvkb9Zxsfiql5l6 maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" special_items: type: array description: "List of special items to add, e.g. shipping costs or discounts." items: $ref: '#/components/schemas/SpecialItemDto' vats: type: array description: List of value-added tax (VAT) amounts. items: $ref: '#/components/schemas/VatDto' required: - _links - created - gross_amount - ratepay_authorization_id IncrementalAuthorizationLinks: type: object description: "Links related to the resource following specification by [IANA](https://www.iana.org/assignments/link-relations/link-relations.xhtml)." properties: self: $ref: '#/components/schemas/IncrementalAuthorizationSelfLink' required: - self IncrementalAuthorizationMinimalResponseDto: type: object description: Includes only minimal set of attributes generated by Ratepay during authorization creation. properties: _links: $ref: '#/components/schemas/IncrementalAuthorizationLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." ratepay_authorization_id: type: string description: "ID of confirmed authorization generated by Ratepay. Get an\ \ [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: 9wdn0Fvkb9Zxsfiql5l6 maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - created - ratepay_authorization_id IncrementalAuthorizationRequestDto: type: object properties: gross_amount: type: number description: Amount to increase given in currency of original transaction. example: 67.6 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 items: type: array description: List of items to add. items: $ref: '#/components/schemas/ItemDto' partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: authorization-id-1234 maxLength: 255 minLength: 0 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API. This field is required in case of marketplace transaction." example: partner-shop-id-1 maxLength: 255 minLength: 1 special_items: type: array description: "List of special items to add, e.g. shipping costs or discounts." items: $ref: '#/components/schemas/SpecialItemDto' vats: type: array description: List of value-added tax (VAT) amounts. items: $ref: '#/components/schemas/VatDto' required: - gross_amount IncrementalAuthorizationSelfLink: type: object description: The self relation identifying the authorization resource itself. properties: href: type: string description: URI pointing to resource itself. example: https://api-integration.ratepay.com/transaction/management/v2/transactions/scwBgARW-nE93I7_ywhp/authorizations/9wdn0Fvkb9Zxsfiql5l6 required: - href InvalidField: type: object description: List of one or multiple entries describing each failed validation. Only present if reason is `INVALID_FIELDS`. properties: json_path: type: string description: The JSON path pointing to the location where the validation failed. example: partner_operation_id message: type: string description: A message describing which constraint was violated. example: size must be between 0 and 255 required: - json_path - message ItemDto: type: object description: List of items to add. properties: article_number: type: string description: "The article number of the item, e.g. SKU. Not allowed to contain\ \ only whitespaces." example: kitchen-utils-1 maxLength: 255 minLength: 1 pattern: ".*[\\S].*" category: type: string description: Category for the item. example: household maxLength: 511 minLength: 0 description: type: string description: Description of the item. example: "fruit knife with curved blade, 8 cm" maxLength: 511 minLength: 0 gross_total_price: type: number description: Gross value including discount of these items after taxes. gross_total_price = (gross_unit_price + gross_unit_discount) * quantity example: 33.8 multipleOf: 0.01 gross_unit_discount: type: number description: Gross discount on one item after taxes. Needs to be a negative value. example: -1.55 exclusiveMaximum: false maximum: 0.0 multipleOf: 0.01 gross_unit_price: type: number description: Gross value of one item after taxes. example: 18.45 multipleOf: 0.01 name: type: string description: Name of the item. example: fruit knife maxLength: 255 minLength: 1 net_total_price: type: number description: Net value including discount of these items before taxes. net_total_price = (net_unit_price + net_unit_discount) * quantity example: 28.4 multipleOf: 0.01 net_unit_discount: type: number description: Net discount on one item before taxes. Needs to be a negative value. example: -1.3 exclusiveMaximum: false maximum: 0.0 multipleOf: 0.01 net_unit_price: type: number description: Net value of one item before taxes. example: 15.5 multipleOf: 0.01 quantity: type: number description: Ordered quantity of the item. example: 2 exclusiveMinimum: false minimum: 0.0 multipleOf: 0.00000000010 tax_rate: type: number description: Tax rate applicable for the item given in percent. example: 19.0 exclusiveMaximum: true exclusiveMinimum: false maximum: 1000 minimum: 0.0 multipleOf: 0.01 unit: type: string description: "Arbitrary measurement unit of the item, e.g. kg, litre, pieces." example: piece maxLength: 255 minLength: 0 required: - gross_unit_price - name - quantity - tax_rate LegalDeclineDto: type: object description: Information about why transaction was not accepted and declined. properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: LEGAL reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - ANONYMIZED_BY_BUYER items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"ANONYMIZED_BY_BUYER\"]" required: - category - reasons LegalErrorResponseDto: type: object properties: decline: $ref: '#/components/schemas/LegalDeclineDto' required: - decline LookupAllCancellationsFullResponseDto: type: object description: This response is returned if representation header is specified. Response includes all attributes of all cancellations. properties: _embedded: type: object properties: cancellations: type: array description: Embedded list of cancellations. items: $ref: '#/components/schemas/CancellationFullResponseDto' _links: $ref: '#/components/schemas/TransactionLinks' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - ratepay_transaction_id LookupAllCancellationsMinimalResponseDto: type: object description: Includes only minimal set of attributes generated by Ratepay. properties: _embedded: type: object properties: cancellations: type: array description: Embedded list of cancellations. items: $ref: '#/components/schemas/CancellationMinimalResponseDto' _links: $ref: '#/components/schemas/TransactionLinks' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - ratepay_transaction_id LookupAllCapturesFullResponseDto: type: object description: This response is returned if representation header is specified. Response includes all attributes of all captures. properties: _embedded: type: object properties: captures: type: array description: Embedded list of captures. items: $ref: '#/components/schemas/CaptureFullResponseDto' _links: $ref: '#/components/schemas/TransactionLinks' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - ratepay_transaction_id LookupAllCapturesMinimalResponseDto: type: object description: Includes only minimal set of attributes generated by Ratepay. properties: _embedded: type: object properties: captures: type: array description: Embedded list of captures. items: $ref: '#/components/schemas/CaptureMinimalResponseDto' _links: $ref: '#/components/schemas/TransactionLinks' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - ratepay_transaction_id LookupAllIncrementalAuthsFullResponseDto: type: object description: This response is returned if representation header is specified. Response includes all attributes of all incremental auths. properties: _embedded: type: object properties: authorizations: type: array description: Embedded list of incremental auths. items: $ref: '#/components/schemas/IncrementalAuthorizationFullResponseDto' _links: $ref: '#/components/schemas/TransactionLinks' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - ratepay_transaction_id LookupAllIncrementalAuthsMinimalResponseDto: type: object description: Includes only minimal set of attributes generated by Ratepay. properties: _embedded: type: object properties: authorizations: type: array description: Embedded list of incremental auths. items: $ref: '#/components/schemas/IncrementalAuthorizationMinimalResponseDto' _links: $ref: '#/components/schemas/TransactionLinks' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - ratepay_transaction_id LookupAllRefundsFullResponseDto: type: object description: This response is returned if representation header is specified. Response includes all attributes of all refunds. properties: _embedded: type: object properties: refunds: type: array description: Embedded list of refunds. items: $ref: '#/components/schemas/RefundFullResponseDto' _links: $ref: '#/components/schemas/TransactionLinks' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - ratepay_transaction_id LookupAllRefundsMinimalResponseDto: type: object description: Includes only minimal set of attributes generated by Ratepay. properties: _embedded: type: object properties: refunds: type: array description: Embedded list of refunds. items: $ref: '#/components/schemas/RefundMinimalResponseDto' _links: $ref: '#/components/schemas/TransactionLinks' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - ratepay_transaction_id LookupTransactionFullResponseDto: type: object description: "This response is returned if representation header is specified.\ \ Response includes all attributes of transaction plus links to related resources.\ \ Note that in case of a declined transaction, all attributes are optional\ \ as they may have not been present in the original request due to syntax\ \ error." properties: _links: $ref: '#/components/schemas/LookupTransactionLinks' authorization_expires: type: string format: date-time description: "The date and time when remaining un-cancelled and un-captured\ \ authorized amount will be automatically cancelled. Timestamp with offset\ \ according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." example: 2024-10-08T13:34:10.205+02:00 buyer: $ref: '#/components/schemas/BuyerDto' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." currency: type: string description: "The currency of all amounts pertaining to the transaction.\ \ Upper-case alphabetic code in accordance with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)." example: EUR pattern: "[A-Z]{3}" decline: $ref: '#/components/schemas/DeclineDto' delivery: $ref: '#/components/schemas/DeliveryDto' device: $ref: '#/components/schemas/DeviceLookupResponseDto' options: $ref: '#/components/schemas/OptionsDto' partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: partner-operation-id-1234 maxLength: 255 partner_transaction_id: type: string description: "The transaction ID generated by the partner. This field must be\ \ included in at least one of the following requests: authorization or capture.This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: partner-transaction-id-1234 maxLength: 50 minLength: 1 payment_details: $ref: '#/components/schemas/PaymentDetailsFullResponseDto' payment_method: $ref: '#/components/schemas/PaymentMethodDto' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" shop_baskets: type: array description: "One basket for each shop contained in the transaction. The\ \ definition of multiple shops is only relevant for marketplace integrations.\ \ If items and special items are included in the basket, gross amount\ \ must match the sum of all items. See [basket amount validation page](/docs/developer/api_integration/payment_2.0/basket_validation/)\ \ for additional details." items: $ref: '#/components/schemas/ShopBasketDto' shops: type: array description: "Enables eligible partners, usually PSPs (payment service providers),\ \ to submit necessary information for registering a new shop when processing\ \ their first transaction authorization or updating information for an\ \ already registered shop." items: $ref: '#/components/schemas/ShopLookupResponseDto' required: - _links - created - ratepay_transaction_id LookupTransactionLinks: type: object description: "Links related to the resource following specification by [IANA](https://www.iana.org/assignments/link-relations/link-relations.xhtml)." properties: authorizations: type: array description: List of additional authorization resources belonging to this transaction. items: $ref: '#/components/schemas/IncrementalAuthorizationSelfLink' cancellations: type: array description: List of cancellation resources belonging to this transaction. items: $ref: '#/components/schemas/CancellationSelfLink' captures: type: array description: List of capture resources belonging to this transaction. items: $ref: '#/components/schemas/CaptureSelfLink' refunds: type: array description: List of refund resources belonging to this transaction. items: $ref: '#/components/schemas/RefundSelfLink' self: $ref: '#/components/schemas/TransactionSelfLink' required: - authorizations - cancellations - captures - refunds - self LookupTransactionMinimalResponseDto: type: object description: Includes only minimal set of attributes plus links to related resources. properties: _links: $ref: '#/components/schemas/LookupTransactionLinks' authorization_expires: type: string format: date-time description: "The date and time when remaining un-cancelled and un-captured\ \ authorized amount will be automatically cancelled. Timestamp with offset\ \ according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." example: 2024-10-08T13:34:10.205+02:00 created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." decline: $ref: '#/components/schemas/DeclineDto' payment_details: $ref: '#/components/schemas/PaymentDetailsMinimalResponseDto' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - created - ratepay_transaction_id MerchantDto: type: object description: "This section contains optional details about a merchant managing\ \ a shop. A single merchant may operate one or more shops. By connecting shops\ \ to a specific merchant, it becomes possible to configure a merchant-level\ \ set of settings in the Ratepay systems. These settings will then be applied\ \ to all the associated shops." properties: merchant_id: type: string description: "This is the unique identifier for the merchant. Before using\ \ the merchant_id in the API payload request, it must be requested from\ \ Ratepay. Please refer to the [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in the payment API 2.0 for more details." example: ratepay-merchant-id-123 maxLength: 255 minLength: 1 merchant_name: type: string description: "This refers to the name of the merchant. It may vary from\ \ both the shop name and the legal name of the shop, both of which are\ \ also present in the current shops object." example: Merchant XYZ maxLength: 255 minLength: 1 OptionsDto: type: object description: The options controlling transaction processing. properties: sales_channel: type: string description: The sales channel the transaction originates from. enum: - WEBSHOP - POINT_OF_SALE - PHONE_OR_MAIL example: POINT_OF_SALE PaymentDetailsFullResponseDto: type: object description: Provides details about the payment to be either executed by the buyer or Ratepay depending on selected payment method. properties: debit_bank_account: $ref: '#/components/schemas/BankDetailsRequestDto' deposit_bank_account: $ref: '#/components/schemas/BankDetailsResponseDto' ratepay_payment_references: type: array description: List of payment references and the shop they belong to. items: $ref: '#/components/schemas/PaymentReferenceDto' PaymentDetailsMinimalResponseDto: type: object description: Provides details about the payment to be either executed by the buyer or Ratepay depending on selected payment method. properties: deposit_bank_account: $ref: '#/components/schemas/BankDetailsResponseDto' ratepay_payment_references: type: array description: List of payment references and the shop they belong to. items: $ref: '#/components/schemas/PaymentReferenceDto' PaymentDetailsMinimalResponseLegacyDto: type: object description: Provides details about the payment to be executed by the buyer (generated by Ratepay). properties: deposit_bank_account: $ref: '#/components/schemas/BankDetailsResponseDto' ratepay_payment_reference: type: string deprecated: true description: "Purpose to be indicated in the bank transfer (generated by\ \ Ratepay). This is deprecated in favor of ratepay_payment_references.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: ET1285368M8 maxLength: 127 minLength: 1 pattern: "[A-Za-z0-9 /-+]{1,127}" ratepay_payment_references: type: array description: List of payment references and the shop they belong to. items: $ref: '#/components/schemas/PaymentReferenceDto' PaymentDetailsRequestDto: type: object description: Provides details about the payment to be executed by Ratepay. Applicable only in case of transfer-type SEPA_DIRECT_DEBIT. example: null properties: debit_bank_account: $ref: '#/components/schemas/BankDetailsRequestDto' required: - debit_bank_account PaymentMethodDto: type: object description: The payment method selected by the buyer. properties: payment_option: type: string description: The payment option the buyer selected. enum: - OPEN_INVOICE - PAY_NOW example: OPEN_INVOICE transfer_type: type: string description: The transfer type the buyer selected. enum: - BANK_TRANSFER - SEPA_DIRECT_DEBIT example: BANK_TRANSFER required: - payment_option - transfer_type PaymentReferenceDto: type: object description: List of payment references and the shop they belong to. properties: partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: partner-shop-id-1 maxLength: 255 minLength: 1 ratepay_payment_reference: type: string description: "Purpose to be indicated in the bank transfer (generated by\ \ Ratepay). Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: ET1285368M8 maxLength: 127 minLength: 1 pattern: "[A-Za-z0-9 /-+]{1,127}" required: - partner_shop_id - ratepay_payment_reference PersonDto: type: object description: The person that wants to place the transaction. This implies a B2C transaction. Either provide a person or company but not both. properties: date_of_birth: type: string format: date description: "The date of birth of the person. Must be in format `YYYY-MM-DD`\ \ conforming to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." example: 1971-05-19 first_name: type: string description: The first name of the person. example: Heinz maxLength: 100 minLength: 1 last_name: type: string description: The last name of the person. example: Steeger maxLength: 100 minLength: 1 title: type: string description: The title of the person. example: Dr. maxLength: 45 minLength: 1 required: - date_of_birth - first_name - last_name PickUpBoxDto: type: object description: The information of the pick up box. example: null properties: carrier_name: type: string description: The name of the parcel carrier. example: DHL maxLength: 127 minLength: 1 city: type: string description: The city of the address. Must be at least 2 non whitespace characters. example: Berlin maxLength: 100 minLength: 2 country_code: type: string description: "The country of the address. Must conform with [ISO 3166-1\ \ alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: DE pattern: "[A-Z]{2}" location_id: type: string description: The ID of pick up location with the carrier. example: Packstation 985 maxLength: 127 minLength: 1 recipient_account_id: type: string description: "The ID of the receiver with the carrier. It is optional only\ \ for country_code AT, otherwise it is required." example: "445522299" maxLength: 127 minLength: 1 zip_code: type: string description: "The zip or post code of the address. Must be valid according\ \ to zip format of given country code. See [list of postal codes](https://en.wikipedia.org/wiki/List_of_postal_codes)." example: "10439" maxLength: 10 minLength: 1 required: - city - country_code - location_id - zip_code PickUpShopDto: type: object description: The information of the pick up shop. example: null properties: city: type: string description: The city of the address. Must be at least 2 non whitespace characters. example: Berlin maxLength: 100 minLength: 2 country_code: type: string description: "The country of the address. Must conform with [ISO 3166-1\ \ alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)." example: DE pattern: "[A-Z]{2}" location_name: type: string description: The name of the pick up shop. example: Kiosk am Stadtpark maxLength: 127 minLength: 1 street: type: string description: The name of the street. example: Fichtenweg maxLength: 100 minLength: 1 street_addition: type: string description: Additional information about the address. maxLength: 50 minLength: 1 street_number: type: string description: The number describing where the building is located in the street. example: 2b maxLength: 30 minLength: 1 zip_code: type: string description: "The zip or post code of the address. Must be valid according\ \ to zip format of given country code. See [list of postal codes](https://en.wikipedia.org/wiki/List_of_postal_codes)." example: "10439" maxLength: 10 minLength: 1 required: - city - country_code - street - zip_code RefundCreateRejectedDeclineDto: type: object properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: UNPROCESSABLE_OPERATION reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - REFUND_AMOUNT_TOO_HIGH items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"REFUND_AMOUNT_TOO_HIGH\"]" required: - category RefundCreateRejectedErrorResponseDto: type: object properties: decline: $ref: '#/components/schemas/RefundCreateRejectedDeclineDto' required: - decline RefundFullResponseDto: type: object description: This response is returned if representation header is specified. Response includes all attributes of refund. properties: _links: $ref: '#/components/schemas/RefundLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." gross_amount: type: number description: Amount to refund given in currency of original transaction. example: 67.6 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 items: type: array description: List of refunded items. items: $ref: '#/components/schemas/ItemDto' partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: refund-id-1234 maxLength: 255 minLength: 0 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API. This field is required in case of marketplace transaction." example: partner-shop-id-1 maxLength: 255 minLength: 1 ratepay_refund_id: type: string description: "ID of confirmed refund (generated by Ratepay). Get an [overview\ \ of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: 9FkZsddr-MaFFFx7gAs_ maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" special_items: type: array description: "List of refunded special items, e.g. shipping costs or discounts." items: $ref: '#/components/schemas/SpecialItemDto' vats: type: array description: List of value-added tax (VAT) amounts. items: $ref: '#/components/schemas/VatDto' required: - _links - created - gross_amount - ratepay_refund_id RefundLinks: type: object description: "Links related to the resource following specification by [IANA](https://www.iana.org/assignments/link-relations/link-relations.xhtml)." properties: self: $ref: '#/components/schemas/RefundSelfLink' required: - self RefundMinimalResponseDto: type: object description: Includes only minimal set of attributes generated by Ratepay during refund creation. properties: _links: $ref: '#/components/schemas/RefundLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." ratepay_refund_id: type: string description: "ID of confirmed refund generated by Ratepay. Get an [overview\ \ of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: 9FkZsddr-MaFFFx7gAs_ maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - created - ratepay_refund_id RefundRequestDto: type: object properties: gross_amount: type: number description: Amount to refund given in currency of original transaction. example: 67.6 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 items: type: array description: List of refunded items. items: $ref: '#/components/schemas/ItemDto' partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: refund-id-1234 maxLength: 255 minLength: 0 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API. This field is required in case of marketplace transaction." example: partner-shop-id-1 maxLength: 255 minLength: 1 special_items: type: array description: "List of refunded special items, e.g. shipping costs or discounts." items: $ref: '#/components/schemas/SpecialItemDto' vats: type: array description: List of value-added tax (VAT) amounts. items: $ref: '#/components/schemas/VatDto' required: - gross_amount RefundSelfLink: type: object description: The self relation identifying the refund resource itself. properties: href: type: string description: URI pointing to resource itself. example: https://api-integration.ratepay.com/transaction/management/v2/transactions/scwBgARW-nE93I7_ywhp/refunds/9FkZsddr-MaFFFx7gAs_ required: - href ResourceNotFoundDeclineDto: type: object description: Information about why transaction was not accepted and declined. properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: RESOURCE_NOT_FOUND reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - TRANSACTION_NOT_FOUND items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"TRANSACTION_NOT_FOUND\"]" required: - category - reasons ResourceNotFoundErrorResponseDto: type: object properties: decline: $ref: '#/components/schemas/ResourceNotFoundDeclineDto' required: - decline RiskDto: type: object description: The risk associated with the buyer's device. properties: reasons: type: array description: List of reasons for the estimated risk. example: - RISKY_DEVICE_BEHAVIOR items: type: string description: List of reasons for the estimated risk. example: "[\"RISKY_DEVICE_BEHAVIOR\"]" maxLength: 255 minLength: 1 score: type: integer description: A numerical value for the estimated risk. example: 123 maximum: 1000 minimum: 1 ScreenDto: type: object description: The dimensions of the buyer's screen. properties: height: type: integer description: The height of the buyer's screen in pixel. example: 1080 maximum: 2147483647 minimum: 0 width: type: integer description: The width of the buyer's screen in pixel. example: 1920 maximum: 2147483647 minimum: 0 ShippingInformationLinks: type: object description: "Links related to the resource following specification by [IANA](https://www.iana.org/assignments/link-relations/link-relations.xhtml)." properties: self: $ref: '#/components/schemas/ShippingInformationSelfLink' required: - self ShippingInformationMinimalResponseDto: type: object properties: _links: $ref: '#/components/schemas/ShippingInformationLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." ratepay_shipping_information_id: type: string description: "ID of added shipping information generated by Ratepay. Get\ \ an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: HR1iyZYradbGbvOQzZ79 maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - created - ratepay_shipping_information_id ShippingInformationRequestDto: type: object properties: carrier_name: type: string description: Name of carrier responsible for shipment. enum: - DHL - POST_AUSTRIA - UPS - DPD - SWISS_POST - GLS - ASENDIA - HERMES_LOGISTICS - FEDEX - OTHER_WITH_TRACKING - OTHER_WITHOUT_TRACKING example: DHL tracking_number: type: string description: "Tracking number for delivery. This field is mandatory for\ \ each carrier_name except: `OTHER_WITHOUT_TRACKING`" example: tracking-123456789 maxLength: 127 minLength: 1 required: - carrier_name ShippingInformationSelfLink: type: object description: The self relation identifying the shipping information resource itself. properties: href: type: string description: URI pointing to resource itself. example: https://api-integration.ratepay.com/transaction/management/v2/transactions/scwBgARW-nE93I7_ywhp/captures/BFNpWnim6LUDFQA8x3VN/shipping-information/HR1iyZYradbGbvOQzZ79 required: - href ShopBasketDto: type: object description: "One basket for each shop contained in the transaction. The definition\ \ of multiple shops is only relevant for marketplace integrations. If items\ \ and special items are included in the basket, gross amount must match the\ \ sum of all items. See [basket amount validation page](/docs/developer/api_integration/payment_2.0/basket_validation/)\ \ for additional details." properties: gross_amount: type: number description: "The amount for the basket including VAT given in the currency\ \ of the transaction. If items and special items are included in the basket,\ \ gross amount must match the sum of all items. See [basket amount validation\ \ page](/docs/developer/api_integration/payment_2.0/basket_validation/)\ \ for additional details." example: 67.6 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 items: type: array description: List of items contained in the transaction. items: $ref: '#/components/schemas/ItemDto' maxItems: 2147483647 minItems: 1 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: partner-shop-id-1 maxLength: 255 minLength: 1 shop_merchant_id: type: string description: "This is the unique identifier for the merchant. Before using\ \ the merchant_id in the shop_baskets object, it must be requested from\ \ Ratepay and connected with a respective partner_shop_id in the Ratepay\ \ systems. Please refer to the [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in the payment API 2.0 for more details." example: ratepay-merchant-id-123 maxLength: 255 minLength: 1 shop_transaction_id: type: string description: "The transaction ID generated by the shop. This ID must be\ \ known to the buyer and is used for buyer communication, e.g. correspondences\ \ and buyer support." example: shop-transaction-id-1234 maxLength: 127 minLength: 1 special_items: type: array description: "List of special items contained in the transaction, e.g. shipping\ \ costs or discounts." items: $ref: '#/components/schemas/SpecialItemDto' vats: type: array description: List of value-added tax (VAT) amounts. items: $ref: '#/components/schemas/VatDto' required: - gross_amount - items - partner_shop_id - shop_transaction_id - vats ShopDto: type: object description: "Enables eligible partners, usually PSPs (payment service providers),\ \ to submit necessary information for registering a new shop when processing\ \ their first transaction authorization or updating information for an already\ \ registered shop." properties: correspondence_settings: $ref: '#/components/schemas/CorrespondenceSettingsDto' legal: $ref: '#/components/schemas/ShopLegalDto' merchant: $ref: '#/components/schemas/MerchantDto' merchant_category_code: type: string description: "The branch of industry of the shop. Must conform to [ISO 18245](https://www.iso.org/standard/79450.html)." example: "5499" pattern: "[0-9]{4}" name: type: string description: The name of the shop. May differ from legal name. example: fruits and more maxLength: 255 minLength: 2 partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: partner-shop-id-1 maxLength: 255 minLength: 1 required: - legal - merchant_category_code - name - partner_shop_id ShopLegalDto: type: object description: Legal information about the shop. properties: commercial_register_number: type: string description: The registration number the shop is filed under. example: HRB 12345FF maxLength: 12 minLength: 2 legal_form: type: string description: "The legal form as which the shop is registered, e.g. Ltd.,\ \ GmbH, GbR, etc." example: GmbH maxLength: 255 minLength: 2 name: type: string description: The name of the shop as which it is registered. example: Fruits and more GmbH maxLength: 255 minLength: 2 required: - name ShopLookupResponseDto: type: object description: "Enables eligible partners, usually PSPs (payment service providers),\ \ to submit necessary information for registering a new shop when processing\ \ their first transaction authorization or updating information for an already\ \ registered shop." properties: merchant_category_code: type: string description: "The branch of industry of the shop. Must conform to [ISO 18245](https://www.iso.org/standard/79450.html)." example: "5499" pattern: "[0-9]{4}" partner_shop_id: type: string description: "The shop ID generated by the partner or provided upfront by\ \ Ratepay. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: partner-shop-id-1 maxLength: 255 minLength: 1 required: - merchant_category_code - partner_shop_id SlangDto: type: object properties: customer_service_contact: type: array description: List of 1 to 5 lines with correspondence information. Include how to reach customer support. example: - You can reach our customer service Mon - Sun 7 am to 8 pm - "by mail: customer-service@example.com" - "by phone: 030 / 123 456 789" - "contact form: example.com/contact" items: type: string description: List of 1 to 5 lines with correspondence information. Include how to reach customer support. example: "[\"You can reach our customer service Mon - Sun 7 am to 8 pm\"\ ,\"by mail: customer-service@example.com\",\"by phone: 030 / 123 456\ \ 789\",\"contact form: example.com/contact\"]" maxItems: 5 minItems: 1 formal_tone: type: string description: Formality level for the buyer correspondences. enum: - FORMAL - INFORMAL example: INFORMAL name_format: type: string description: Specifies how to visualize the buyer's name after the salutation in the buyer correspondences. enum: - EMPTY - FIRST_NAME - LAST_NAME - FIRST_LAST_NAME example: FIRST_LAST_NAME salutation: type: string description: "Word for salutation in the buyer correspondences in this language,\ \ e.g. Hi, Hello, Hallo, Guten Tag, etc." example: Hello maxLength: 2147483647 minLength: 1 transaction_type: type: string description: Specifies how to call the transaction in buyer correspondences. enum: - ORDER - BOOKING example: ORDER SlangsDto: type: object description: Language settings for buyer correspondences. properties: de: $ref: '#/components/schemas/SlangDto' en: $ref: '#/components/schemas/SlangDto' fr: $ref: '#/components/schemas/SlangDto' nl: $ref: '#/components/schemas/SlangDto' SpecialItemDto: type: object description: "List of special items to add, e.g. shipping costs or discounts." properties: article_number: type: string description: "The article number of the item, e.g. SKU. Not allowed to contain\ \ only whitespaces." example: kitchen-utils-1 maxLength: 255 minLength: 1 pattern: ".*[\\S].*" category: type: string description: Category for the item. example: household maxLength: 511 minLength: 0 description: type: string description: Description of the item. example: "fruit knife with curved blade, 8 cm" maxLength: 511 minLength: 0 gross_total_price: type: number description: Gross value including discount of these items after taxes. gross_total_price = (gross_unit_price + gross_unit_discount) * quantity example: 33.8 multipleOf: 0.01 gross_unit_discount: type: number description: Gross discount on one item after taxes. Needs to be a negative value. example: -1.55 exclusiveMaximum: false maximum: 0.0 multipleOf: 0.01 gross_unit_price: type: number description: Gross value of one item after taxes. example: 18.45 multipleOf: 0.01 name: type: string description: Name of the item. example: fruit knife maxLength: 255 minLength: 1 net_total_price: type: number description: Net value including discount of these items before taxes. net_total_price = (net_unit_price + net_unit_discount) * quantity example: 28.4 multipleOf: 0.01 net_unit_discount: type: number description: Net discount on one item before taxes. Needs to be a negative value. example: -1.3 exclusiveMaximum: false maximum: 0.0 multipleOf: 0.01 net_unit_price: type: number description: Net value of one item before taxes. example: 15.5 multipleOf: 0.01 quantity: type: number description: Ordered quantity of the item. example: 2 exclusiveMinimum: false minimum: 0.0 multipleOf: 0.00000000010 tax_rate: type: number description: Tax rate applicable for the item given in percent. example: 19.0 exclusiveMaximum: true exclusiveMinimum: false maximum: 1000 minimum: 0.0 multipleOf: 0.01 type: type: string description: The special item type the buyer selected. enum: - RETURN_FEE example: RETURN_FEE unit: type: string description: "Arbitrary measurement unit of the item, e.g. kg, litre, pieces." example: piece maxLength: 255 minLength: 0 required: - gross_unit_price - name - quantity - tax_rate TransactionBadRequestErrorDto: type: object properties: _links: $ref: '#/components/schemas/TransactionLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." decline: $ref: '#/components/schemas/BadRequestDeclineDto' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - created - decline - ratepay_transaction_id TransactionCreateRejectedDeclineDto: type: object description: Information about why transaction was not accepted and declined. properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: CONTRACT reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - CURRENCY_NOT_ALLOWED items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"CURRENCY_NOT_ALLOWED\"]" required: - category TransactionCreateRejectedErrorResponseDto: type: object properties: _links: $ref: '#/components/schemas/TransactionLinks' created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." decline: $ref: '#/components/schemas/TransactionCreateRejectedDeclineDto' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - created - decline - ratepay_transaction_id TransactionLinks: type: object description: "Links related to the resource following specification by [IANA](https://www.iana.org/assignments/link-relations/link-relations.xhtml)." properties: self: $ref: '#/components/schemas/TransactionSelfLink' required: - self TransactionMinimalResponseDto: type: object properties: _links: $ref: '#/components/schemas/TransactionLinks' authorization_expires: type: string format: date-time description: "The date and time when remaining un-cancelled and un-captured\ \ authorized amount will be automatically cancelled. Timestamp with offset\ \ according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." created: type: string format: date-time description: "Timestamp with offset according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)." payment_details: $ref: '#/components/schemas/PaymentDetailsMinimalResponseLegacyDto' ratepay_transaction_id: type: string description: "ID of transaction generated by Ratepay during authorization.\ \ A transaction ID is generated for both accepted and declined transactions.\ \ Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: scwBgARW-nE93I7_ywhp maxLength: 127 minLength: 20 pattern: "[A-Za-z0-9-_]{20,127}" required: - _links - authorization_expires - created - ratepay_transaction_id TransactionRequestDto: type: object properties: authorization_expires: type: string format: date-time description: "The date and time when remaining un-cancelled and un-captured\ \ authorized amount will be automatically cancelled. Timestamp with offset\ \ according to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). If\ \ not given, a default expiry time is generated." example: 2024-10-08T13:34:10.205+02:00 buyer: $ref: '#/components/schemas/BuyerDto' currency: type: string description: "The currency of all amounts pertaining to the transaction.\ \ Upper-case alphabetic code in accordance with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)." example: EUR pattern: "[A-Z]{3}" delivery: $ref: '#/components/schemas/DeliveryDto' device: $ref: '#/components/schemas/DeviceDto' options: $ref: '#/components/schemas/OptionsDto' partner_operation_id: type: string description: "Arbitrary ID of partner for the operation. This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: partner-operation-id-1234 maxLength: 255 minLength: 0 partner_transaction_id: type: string description: "The transaction ID generated by the partner. This field must be\ \ included in at least one of the following requests: authorization or capture.This ID can be\ \ displayed in settlement reports. Get an [overview of key identifiers](/docs/developer/api_integration/payment_2.0/key_identifiers/)\ \ used in payment API." example: partner-transaction-id-1234 maxLength: 50 minLength: 1 payment_details: $ref: '#/components/schemas/PaymentDetailsRequestDto' payment_method: $ref: '#/components/schemas/PaymentMethodDto' shop_baskets: type: array description: "One basket for each shop contained in the transaction. The\ \ definition of multiple shops is only relevant for marketplace integrations.\ \ If items and special items are included in the basket, gross amount\ \ must match the sum of all items. See [basket amount validation page](/docs/developer/api_integration/payment_2.0/basket_validation/)\ \ for additional details." items: $ref: '#/components/schemas/ShopBasketDto' shops: type: array description: "Enables eligible partners, usually PSPs (payment service providers),\ \ to submit necessary information for registering a new shop when processing\ \ their first transaction authorization or updating information for an\ \ already registered shop." items: $ref: '#/components/schemas/ShopDto' required: - buyer - currency - payment_method - shop_baskets TransactionSelfLink: type: object description: The self relation identifying the transaction resource itself. properties: href: type: string description: URI pointing to resource itself. example: https://api-integration.ratepay.com/transaction/management/v2/transactions/scwBgARW-nE93I7_ywhp required: - href UnprocessableOperationNotAllowedForDeclinedTransaction: type: object properties: category: type: string description: "Decline category, see [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ for details." enum: - BUYER_DATA - BUYER_IDENTITY - CONFLICT - CONTRACT - LEGAL - PAYMENT_ATTRIBUTE - RESOURCE_NOT_FOUND - RISK_DECISION - SYNTAX - TRANSACTION_RISK - UNPROCESSABLE_OPERATION example: UNPROCESSABLE_OPERATION reasons: type: array description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." example: - NOT_ALLOWED_FOR_DECLINED_TRANSACTION items: type: string description: "List of none, one or multiple reasons why the request was\ \ declined. See [Decline Categories](/docs/developer/api_integration/payment_2.0/declines/decline_categories/)\ \ to learn about possible reasons for each decline category." enum: - INVALID_FIELDS - INVALID_JSON - INVALID_BILLING_ADDRESS - INVALID_BILLING_ADDRESS_ZIP_CODE - INVALID_DELIVERY_ADDRESS - INVALID_DELIVERY_ADDRESS_ZIP_CODE - CURRENCY_NOT_ALLOWED - ANONYMIZED_BY_BUYER - CANCELLATION_AMOUNT_TOO_HIGH - CANCELLATION_NOT_FOUND - CAPTURE_AMOUNT_TOO_HIGH - CAPTURE_NOT_FOUND - REFUND_NOT_FOUND - AUTHORIZATION_NOT_FOUND - NOT_ALLOWED_FOR_DECLINED_TRANSACTION - REFUND_AMOUNT_TOO_HIGH - TRANSACTION_NOT_FOUND - WRONG_NUMBER_OF_SHOP_BASKETS - WRONG_NUMBER_OF_SHOPS - MULTIPLE_SHOP_BASKETS_WITH_SAME_SHOP_NOT_ALLOWED - BASKET_WITH_UNKNOWN_SHOP - BASKET_AMOUNT_TOO_LOW - BASKET_AMOUNT_TOO_HIGH - DELIVERY_COUNTRY_NOT_ALLOWED - BILLING_COUNTRY_NOT_ALLOWED - IDEMPOTENCY_KEY_ALREADY_USED - DELIVERY_TYPE_NOT_ALLOWED - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_TRANSACTION_AMOUNT - SUM_OF_ITEM_AMOUNTS_NOT_MATCHING_OPERATION_AMOUNT - B2C_BUYER_NOT_ALLOWED - B2B_BUYER_NOT_ALLOWED - INVALID_PERSON_DATA - SALES_CHANNEL_NOT_ALLOWED - INVALID_IBAN - PAYMENT_METHOD_NOT_ALLOWED - SHOP_CREATION_NOT_ALLOWED - MAXIMUM_EXPIRY_EXCEEDED - NOT_ALLOWED_FOR_EXPIRED_TRANSACTION - MULTIPLE_VAT_OBJECTS_PER_TAX_RATE_NOT_ALLOWED - MULTIPLE_RETURN_FEES_NOT_ALLOWED - RETURN_FEE_NOT_ALLOWED - PARTNER_SHOP_ID_MUST_BE_GIVEN_FOR_MARKETPLACE_TRANSACTIONS - DEVIATING_DELIVERY_ADDRESS_B2C_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2C_IN_STORE_COLLECT_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_REGULAR_ADDRESS_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_BOX_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_PICK_UP_SHOP_NOT_ALLOWED - DEVIATING_DELIVERY_ADDRESS_B2B_IN_STORE_COLLECT_NOT_ALLOWED example: "[\"NOT_ALLOWED_FOR_DECLINED_TRANSACTION\"]" required: - category VatDto: type: object description: List of value-added tax (VAT) amounts. properties: net_amount: type: number description: The net amount before taxes for the given tax rate. example: 56.81 exclusiveMinimum: true minimum: 0.0 multipleOf: 0.01 tax_amount: type: number description: The tax amount for the given tax rate. example: 10.79 exclusiveMinimum: false minimum: 0.0 multipleOf: 0.01 tax_rate: type: number description: Tax rate given as percentage on the net amount. example: 19 exclusiveMaximum: true exclusiveMinimum: false maximum: 1000 minimum: 0.0 multipleOf: 0.01 required: - net_amount - tax_amount - tax_rate securitySchemes: Bearer Authentication: bearerFormat: JWT description: "For each request, a valid access token must be provided in the\ \ Authorization header. See [Authentication API](/docs/developer/authentication/authentication/)\ \ for obtaining a valid token." scheme: bearer type: http ``` a [regular customer](/docs/reporting/regular_customers/regular_customers_introduction/) when creating a transaction by providing the shop's ID of that buyer. See [authorize transaction request](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=buyer/shop_buyer_id&t=request) for details. ### 2022-03-25 Added Support for Partial Captures It is now possible to only capture a partial amount of the original transaction. Before, captures with amount lower than original transaction amount were rejected. See [capture request documentation](/apis/payment/openapi/payment_api/capture/capturetransaction/). ### 2022-03-17 Added Support for Pick-Up Locations It is now possible to specify a pick-up location for delivery instead of a delivery address. The following types of pick-up locations are supported: - [pick-up box](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=delivery/pick_up_box&t=request) - buyer collecting delivery at a delivery station - [pick-up shop](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=delivery/pick_up_shop&t=request) - buyer collecting delivery at a post office or similar - [in-store collect](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=delivery/in_store_collect&t=request) - buyer collecting delivery at a store of the merchant ### 2022-02-25 Added Support for B2B A company can now be specified as buyer in authorization request. See [company section in buyer](/apis/payment/openapi/payment_api/transaction-management/createtransaction/#!path=buyer/company&t=request) . A buyer must either be a company or person, but not both. By providing a company as buyer, request is considered to be B2B.