{
  "openapi": "3.0.1",
  "info": {
    "title": "Transaction Status OpenAPI specification",
    "description": "The Transaction Status API enables merchants to provide their customers and service agents with Ratepay's                       payment details at any customer contact point. This allows the merchant to remain the face to                       customers while gaining additional supplier services.  The Transaction Status API is built around RESTful principles. It is HTTPS-based and uses JSON as the                       request and response format. It delivers standard HTTP response types.",
    "version": "version 1"
  },
  "servers": [
    {
      "url": "http://api.ratepay.com",
      "description": "Production environment"
    }
  ],
  "security": [
    {
      "Bearer Authentication": []
    }
  ],
  "paths": {
    "/transaction/status/v2/transactions/{transaction-id}": {
      "get": {
        "summary": "Get Transaction Status",
        "operationId": "getTransactionStatus",
        "description": "This endpoint allows you to get transaction information. The request can be configured to only return the data that is necessary for your specific use case.",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "example": "application/json"
            }
          },
          {
            "name": "Authorization",
            "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.",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transaction-id",
            "description": "The transaction id of the transaction for which the transaction status is requested. (The Ratepay Payment API returns this when an transaction is created.)",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "12-3456789123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Is returned if transaction status information is returned for the given transaction_id",
            "content": {
              "application/json;charset=UTF-8": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionStatusDto"
                }
              }
            }
          },
          "404": {
            "description": "Is returned if transaction_id is unknown."
          },
          "405": {
            "description": "Is returned if the endpoint is called with a request method other than GET"
          },
          "406": {
            "description": "Is returned if the request accept header does not specify JSON as an accepted content type for the response."
          },
          "415": {
            "description": "Is returned if the request does not contain content type headers or if the request content type is anything other than JSON."
          },
          "422": {
            "description": "Is returned incase Transaction Status API unable to process request."
          },
          "500": {
            "description": "Is returned in case of a technical server error at Ratepay. Try again later."
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "Bearer Authentication": {
        "type": "http",
        "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",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "BasketInformationDto": {
        "type": "object",
        "description": "This object is returned if `include` contains `basket`",
        "properties": {
          "partner_shop_id": {
            "type": "string",
            "description": "The shop ID generated by the partner or provided upfront by Ratepay",
            "example": "partner-shop-id-1"
          },
          "partner_shop_name": {
            "type": "string",
            "description": "The name of the shop. May differ from legal name.",
            "example": "fruits and more"
          },
          "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"
          },
          "gross_amount": {
            "type": "number",
            "description": "The initial basket transaction amount including tax before any changes, refunds, cancellations. Only the basket is considered here. Separate Ratepay buyer fees are not included.",
            "example": 170
          },
          "items": {
            "type": "array",
            "description": "List of items contained in the transaction.",
            "items": {
              "$ref": "#/components/schemas/ItemDto"
            }
          },
          "special_items": {
            "type": "array",
            "description": "List of special items contained in the transaction, e.g. shipping costs or discounts.",
            "items": {
              "$ref": "#/components/schemas/SpecialItemDto"
            }
          }
        }
      },
      "ClaimDtoBigDecimal": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of claim. Possible values:<br /><br />- `SHIPMENT` = items are shipped<br /><br />- `RETURN` = items are returned<br /><br />- `CANCEL` = items are cancelled"
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "The date that the claim was created (ISO 8601, `YYYY-MM-DD`)."
          },
          "amount": {
            "type": "number",
            "description": "The amount of the claim.<br />Positive for claims against the shopper (`type` is `SHIPMENT`).<br />Negative for claims against Ratepay (`type` is `RETURN` or `CANCEL`)"
          }
        }
      },
      "SettlementDtoBigDecimal": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of settlement. Possible values:<br /><br />- `CREDIT` = buyer received money / Ratepay paid money<br /><br />- `DEBIT` = buyer paid money / Ratepay received money"
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "The date that the settlement was done (ISO 8601, `YYYY-MM-DD`) i. e. the ate that money arrived in Ratepay's bank account (`type` is `DEBIT`) or the date the money was send from Ratepay's bank account (`type` is `CREDIT`)."
          },
          "amount": {
            "type": "number",
            "description": "The amount of the settlement.<br />Positive for `CREDIT`<br />Negative for `DEBIT`."
          }
        }
      },
      "ClaimDtoDetailAmountDto": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of fee. Possible values:<br />\n`amount.gross` is positive:<br />    - `PAY_LATER_FEE` = Pay Later was booked<br />- `SERVICE_CHARGE` = May be created with an instalment plan<br />- `DUNNING_FEE`<br />- `RETURN_DEBIT_NOTE_FEE`<br />- `INTEREST` = Interest amount for instalment plans<br /><br />`amount.gross` is negative:<br />- `PAY_LATER_WITHDRAWN`<br />- `SERVICE_CHARGE_RETURN`<br />- `DUNNING_FEE_RETURN`<br />- `RETURN_DEBIT_NOTE_FEE_RETURN`",
            "example": "RETURN_DEBIT_NOTE_FEE"
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "The date that the fee was created (ISO 8601, `YYYY-MM-DD`).",
            "example": "2020-03-10"
          },
          "amount": {
            "$ref": "#/components/schemas/DetailAmountDto"
          }
        }
      },
      "CurrentClaimDto": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The sum of all `shop_claims` and `ratepay_buyer_fees` and therefore the amount the shopper has to pay Ratepay at this moment without considering existing settlements:<br />`shop_claims.amount` + `ratepay_buyer_fees.amount.gross`<br />This is based on the actual financial claims in Ratepay's possesion and not on the basket value.<br /> Example: For invoices a claim is created when items are shipped. Before the shipment the open amount could be 0 even though the basket value is greater than 0.",
            "example": 150
          },
          "shop_claims": {
            "$ref": "#/components/schemas/ShopClaimsDto"
          },
          "ratepay_buyer_fees": {
            "$ref": "#/components/schemas/RatePayBuyerFeesDto"
          }
        }
      },
      "DetailAmountDto": {
        "type": "object",
        "properties": {
          "gross": {
            "type": "number",
            "description": "The amount of the fee:<br />Positive for new fees<br />Negative for cancelled fees",
            "example": 5
          }
        }
      },
      "DetailBuyerFeesAmountDto": {
        "type": "object",
        "properties": {
          "gross": {
            "type": "number",
            "description": "The sum of all gross amounts of all existing buyer_fees. The buyer_fees originate from Ratepay. Examples include dunning fees and return debit note fees.",
            "example": 5
          }
        }
      },
      "DetailsDto": {
        "type": "object",
        "properties": {
          "prepayment": {
            "type": "array",
            "description": "This is only part of the response if a prepayment exists, i.e. if `payment_method` is `PREPAYMENT`.",
            "items": {
              "$ref": "#/components/schemas/PrepaymentDto"
            }
          },
          "invoices": {
            "type": "array",
            "description": "A list of all currently active invoices of the current transaction. This is only part of the response if atleast one invoice exists. Most of the time this is only returned if `payment_method` is `INVOICE`. This list only contins more than one entry if more than one shipment for the transaction exists.",
            "items": {
              "$ref": "#/components/schemas/InvoiceDto"
            }
          },
          "payment_method": {
            "type": "string",
            "description": "The payment method for the current transaction. Possible values:<br /><br />- `INVOICE` (including product 'Invoice' and 'Direct Debit' therefore see `settlement_type`)<br />- `INSTALMENT` (including product 'Instalment' and 'Instalment Direct Debit' therefore see `settlement_type`)<br />- `PREPAYMENT`",
            "example": "INVOICE"
          },
          "settlement_type": {
            "type": "string",
            "description": "The settlement type for this transaction, i. e. how settlements are done. Possible values:<br /><br />- `BANK_TRANSFER`<br />- `DIRECT_DEBIT`",
            "example": "DIRECT_DEBIT"
          },
          "instalment_plans": {
            "type": "array",
            "description": "A list of all currently active instalment plans for the current transaction. This is only part of the response if atleast one instalment plan exists. Most of the time this is only returned if `payment_method` is `INSTALMENT`.",
            "items": {
              "$ref": "#/components/schemas/InstallmentPlanDto"
            }
          }
        }
      },
      "DunningBlockDto": {
        "type": "object",
        "description": "Contains the details of the currently existing dunning block. Is `null` if no dunning block currently exists.",
        "properties": {
          "blocked_from": {
            "type": "string",
            "format": "date",
            "description": "The date from which dunnings are blocked (ISO 8601, `YYYY-MM-DD`).",
            "example": "2020-03-25"
          },
          "blocked_until": {
            "type": "string",
            "format": "date",
            "description": "The data until when dunnings are blocked (ISO 8601, `YYYY-MM-DD`).",
            "example": "2020-04-01"
          },
          "blocking_reason": {
            "type": "string",
            "description": "The reason why this dunning block was set.",
            "example": "Zahlungsaufschub aus Kulanz"
          }
        }
      },
      "DunningStatusDto": {
        "type": "object",
        "description": "This object is only part of the response if `include` contains `dunning_status`.",
        "properties": {
          "ratepay_payment_reference": {
            "type": "string",
            "description": "The reference of the instalment plan. This is the unique identifier for each instalment plan. This is not the clearing reference as each instalment plan may encompass more than one `clearing_reference`",
            "example": "test-ref"
          },
          "current_transaction_dunning_level": {
            "type": "string",
            "description": "The current dunning level for the transaction as a whole. Possible values are:<br /><br />- `NO_DUNNING`<br />- `PAYMENT_REMINDER`<br />- `FIRST_DUNNING`<br />- `LAST_DUNNING`<br />- `COLLECTION`<br />- `COLLECTION_FINISHED`",
            "example": "PAYMENT_REMINDER"
          },
          "transaction_dunning_date": {
            "type": "string",
            "format": "date",
            "description": "The date the `current_transaction_dunning_level` was set (ISO 8601, `YYYY-MM-DD`). This is `null` if the `current_transaction_dunning_level` is `NO_DUNNING`",
            "example": "2020-03-24"
          },
          "current_dunning_fee": {
            "type": "number",
            "description": "The sum of all dunning fees up to now. For details about the dunning fee see `payment_status.open_claim.current_claim`<br />`ratepay_buyer_fees.buyer_fees`",
            "example": 0
          },
          "dunning_block": {
            "$ref": "#/components/schemas/DunningBlockDto",
            "description": "Contains the details of the currently existing dunning block. Is `null` if no dunning block currently exists."
          }
        }
      },
      "InstallmentDto": {
        "type": "object",
        "properties": {
          "amount_total": {
            "type": "number",
            "description": "The total amount of this instalment, i. e. the amount that has to be paid.",
            "example": 31.01
          },
          "due_date": {
            "type": "string",
            "format": "date",
            "description": "The due date of this instalment (ISO 8601, `YYYY-MM-DD`).",
            "example": "2020-04-08"
          },
          "amount_interest": {
            "type": "number",
            "description": "The interest amount that is paid with this instalment.",
            "example": 1.3
          },
          "amount_repayment": {
            "type": "number",
            "description": "The repayment amount that is paid with this instalment.",
            "example": 27.31
          },
          "amount_fee": {
            "type": "number",
            "description": "Optional. The amount of fees that is paid with this instalment.",
            "example": 2.4
          },
          "amount_unscheduled": {
            "type": "number",
            "description": "Optional. The amount of unscheduled repayment that was paid with this instalment.",
            "example": 1.6
          },
          "residual_debt": {
            "type": "number",
            "description": "The residual debt left after this instalment is paid. `null` for the last instalment as residual debt is 0.",
            "example": 186.07
          },
          "instalment_number": {
            "type": "integer",
            "format": "int32",
            "description": "The number of this instalment as part of the instalment plan. Starts with `1` and is incremented by one for each instalment until `number_of_instalments` for the last instalment.",
            "example": 1
          }
        }
      },
      "InstallmentPlanDto": {
        "type": "object",
        "properties": {
          "partner_shop_id": {
            "type": "string",
            "description": "The shop ID generated by the partner or provided upfront by Ratepay",
            "example": "partner-shop-id-1"
          },
          "ratepay_payment_reference": {
            "type": "string",
            "description": "The reference of the instalment plan. This is the unique identifier for each instalment plan. This is not the clearing reference as each instalment plan may encompass more than one `clearing_reference`",
            "example": "test-ref"
          },
          "creation_date": {
            "type": "string",
            "format": "date",
            "description": "The date at which the instalment plan was created at Ratepay. This may change if e. g. a new instalment plan is created because of unscheduled payments.",
            "example": "2020-04-08"
          },
          "amount_total": {
            "type": "number",
            "description": "The sum of `amount_credit` and `amount_fees`.",
            "example": 200.47
          },
          "amount_credit": {
            "type": "number",
            "description": "The amount without considering fees, interests etc. This amount changes with returns.",
            "example": 186.07
          },
          "amount_fees": {
            "type": "number",
            "description": "The sum of all fees.",
            "example": 14.4
          },
          "interest_rate": {
            "type": "number",
            "description": "The annual interest rate for this instalment plan.",
            "example": 5.99
          },
          "effective_interest_rate": {
            "type": "number",
            "description": "The effective annual interest rate for this instalment plan, i. e. including interests and all other costs.",
            "example": 3.33
          },
          "number_of_instalments": {
            "type": "integer",
            "format": "int32",
            "description": "The number of instalments for this instalment plan.",
            "example": 6
          },
          "instalments": {
            "type": "array",
            "description": "A list containing details about each individual instalment. This list has `number_of_instalments` elements.",
            "items": {
              "$ref": "#/components/schemas/InstallmentDto"
            }
          }
        }
      },
      "InvoiceDto": {
        "type": "object",
        "properties": {
          "partner_shop_id": {
            "type": "string",
            "description": "The shop ID generated by the partner or provided upfront by Ratepay",
            "example": "partner-shop-id-1"
          },
          "ratepay_payment_reference": {
            "type": "string",
            "description": "The Ratepay reference for this transaction, i. e. the reference that should be used when paying. This is always the same for all invoices of one transaction.",
            "example": "test-ref"
          },
          "amount": {
            "type": "number",
            "description": "The original amount that this invoice is created for. This amount is not changed after returns and cancellations. For the current claim amount refer to `payment_status`",
            "example": 170
          },
          "original_due_date": {
            "type": "string",
            "format": "date",
            "description": "The original due date for this invoice.",
            "example": "2020-03-24"
          },
          "current_due_date": {
            "type": "string",
            "format": "date",
            "description": "The current due date for this invoice. This only differs from `original_due_date` if the due date was moved by booking Pay Later (Pay Later is a separate Ratepay product and has to be explicitly configured for a shop).",
            "example": "2020-03-24"
          },
          "creation_date": {
            "type": "string",
            "format": "date",
            "description": "The date when the invoice was created at Ratepay, i. e. the date that the corresponding claim was created (ISO 8601, `YYYY-MM-DD`).",
            "example": "2020-03-10"
          },
          "clearing_reference_number": {
            "type": "string",
            "description": "The clearing reference as shown in the clearing file. This is the unique identifier for each invoice.",
            "example": "test-clear-ref"
          },
          "invoice_number": {
            "type": "string",
            "description": "Optional. The invoice number that is displayed on the physical invoice that the shopper receives. This is only available after items are shipped and only if the shop and not Ratepay creates the invoice and transmits this `invoice_number` to Ratepay.",
            "example": "test-shop-invoice-id"
          }
        }
      },
      "ItemDto": {
        "type": "object",
        "properties": {
          "gross_unit_price": {
            "type": "number",
            "description": "The gross price (i. e. incl. tax) for one unit of this item as provided by the shop through the Ratepay Payment API.",
            "example": 18.45
          },
          "gross_unit_discount": {
            "type": "number",
            "description": "Gross discount on one item after taxes. Needs to be a negative value.",
            "example": -1.55
          },
          "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
          },
          "tax_rate": {
            "type": "number",
            "description": "The tax rate in percent (e. g. `19.0`) for this item as provided by the shop through the Ratepay Payment API",
            "example": 19
          },
          "discount": {
            "type": "number",
            "description": "An item specific discount amount, not a percentage, but the actual calculated value as provided by the shop through the Ratepay Payment API. This attribute is either `0` or has a negative value.",
            "example": 0
          },
          "quantity": {
            "type": "integer",
            "format": "int64",
            "description": "The quantity of this item in the basket as provided by the shop through the Ratepay Payment API",
            "example": 3
          },
          "article_number": {
            "type": "string",
            "description": "The article number of the item, e.g. SKU. Not allowed to contain only whitespaces.",
            "example": "kitchen-utils-1"
          },
          "name": {
            "type": "string",
            "description": "Name of the item.",
            "example": "fruit knife"
          },
          "category": {
            "type": "string",
            "description": "Category for the item.",
            "example": "household"
          },
          "unit": {
            "type": "string",
            "description": "Arbitrary measurement unit of the item, e.g. kg, litre, pieces.",
            "example": "piece"
          },
          "description": {
            "type": "string",
            "description": "The item description as provided by the shop through the Ratepay Payment API.",
            "example": "basket-item"
          },
          "additional_description": {
            "type": "string",
            "description": "Optional. Additional item description as provided by the shop through the Ratepay Payment API.",
            "example": "cooles basket-item"
          },
          "identification_number": {
            "type": "string",
            "description": "The shop's identification number for this item as provided by the shop through the Ratepay Payment API",
            "example": "identifiy-me"
          },
          "unique_identification_number": {
            "type": "string",
            "description": "Optional. The shop's unique identification number for this item as provided by the shop through the Ratepay Payment API.",
            "example": "12345"
          },
          "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
          },
          "net_unit_discount": {
            "type": "number",
            "description": "Net discount on one item before taxes. Needs to be a negative value.",
            "example": -1.3
          },
          "net_unit_price": {
            "type": "number",
            "description": "Net value of one item before taxes.",
            "example": 15.5
          }
        }
      },
      "OpenClaimDto": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount that the shopper would have to pay Ratepay at this moment, i.e. `current_claim.amount` minus `settlements.amount`.",
            "example": 100
          },
          "current_claim": {
            "$ref": "#/components/schemas/CurrentClaimDto"
          },
          "settlement": {
            "$ref": "#/components/schemas/SettlementDto"
          }
        }
      },
      "TransactionStatusDto": {
        "type": "object",
        "properties": {
          "ratepay_transaction_id": {
            "type": "string",
            "description": "The transaction id as specified in the URL",
            "example": "12-3456789123456789"
          },
          "partner_transaction_id": {
            "type": "string",
            "description": "The transaction ID generated by the partner. This ID can be displayed in the settlement files.",
            "example": "test-shop-transaction-id"
          },
          "created": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the Payment Request for this transaction (ISO 8601, `YYYY-MM-DDThh:mm:ss.ffffff+hh:mm`).",
            "example": "2020-03-10T18:06:52.438+01:00"
          },
          "shop_buyer_id": {
            "type": "string",
            "description": "The buyer id as transmitted by the shop to the Ratepay Payment API. Is `null` if the shop does not provide this information in the checkout process.",
            "example": "test-shop-buyer-id"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the current transaction, e.g. `EUR` (ISO 4217 alphabetic currency code, 3 chars). All currency fields in the response hold values of this currency.",
            "example": "EUR"
          },
          "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.",
            "items": {
              "$ref": "#/components/schemas/BasketInformationDto"
            }
          },
          "payment_information": {
            "$ref": "#/components/schemas/PaymentInformationDto"
          }
        }
      },
      "PaymentInformationDto": {
        "type": "object",
        "description": "Provides details about `payment_method`, `payment_status`, `dunning_status`",
        "properties": {
          "maximum_processing_offset_in_hours": {
            "type": "integer",
            "format": "int32",
            "description": " Events such as bank transfers need time to be processed inside Ratepay's systems. E.g. it takes some time before a received bank transfer is assigend to the transaction it belongs to. This field shows the maximum time in hours the processing for any information in this block could take. That means that events that occured in the last `maximum_processing_offset_in_hours` hours may or may not be represented in the API response."
          },
          "payment_method": {
            "$ref": "#/components/schemas/PaymentMethodDto"
          },
          "payment_status": {
            "$ref": "#/components/schemas/PaymentStatusDto"
          },
          "dunning_status": {
            "type": "array",
            "description": "A list of all shops dunnings.",
            "items": {
              "$ref": "#/components/schemas/DunningStatusDto"
            }
          }
        }
      },
      "PaymentMethodDto": {
        "type": "object",
        "description": "This object is only part of the response if `include` contains `payment_method`.",
        "properties": {
          "payment_details": {
            "$ref": "#/components/schemas/DetailsDto"
          }
        }
      },
      "PaymentStatusDto": {
        "type": "object",
        "description": "payment status of the current transaction.",
        "properties": {
          "transaction_payment_status": {
            "type": "string",
            "description": "The payment status of the current transaction. It is based on the current open amount (`open_claim.amount`). Possible values are:<br />\n- `OPEN`\n- `UNDERPAID`\n- `BALANCED`\n- `OVERPAID`",
            "example": "UNDERPAID"
          },
          "open_claim": {
            "$ref": "#/components/schemas/OpenClaimDto"
          }
        }
      },
      "PrepaymentDto": {
        "type": "object",
        "description": "This is only part of the response if a prepayment exists, i. e. if `payment_method` is `PREPAYMENT`.",
        "properties": {
          "partner_shop_id": {
            "type": "string",
            "description": "The shop ID generated by the partner or provided upfront by Ratepay",
            "example": "partner-shop-id-1"
          },
          "ratepay_payment_reference": {
            "type": "string",
            "description": "The reference for this prepayment.",
            "example": "test-ref"
          },
          "reservation_end_date": {
            "type": "string",
            "format": "date",
            "description": "The date until which the prepayment has to be fully paid by the shopper (ISO 8601, `YYYY-MM-DD`).",
            "example": "2020-03-24"
          },
          "amount": {
            "type": "number",
            "description": "The original amount that the prepayment was created for.",
            "example": 170
          },
          "creation_date": {
            "type": "string",
            "format": "date",
            "description": "The date at which the prepayment was created at Ratepay (ISO 8601, `YYYY-MM-DD`).",
            "example": "2020-03-10"
          }
        }
      },
      "RatePayBuyerFeesDto": {
        "type": "object",
        "description": "An object containing all fees that originate from Ratepay.",
        "properties": {
          "buyer_fees": {
            "type": "array",
            "description": "A list of fees for the current transaction.",
            "items": {
              "$ref": "#/components/schemas/ClaimDtoDetailAmountDto"
            }
          },
          "amount": {
            "$ref": "#/components/schemas/DetailBuyerFeesAmountDto"
          }
        }
      },
      "SettlementDto": {
        "type": "object",
        "properties": {
          "settlements": {
            "type": "array",
            "description": "A list of containing all settlements for the current transaction.",
            "items": {
              "$ref": "#/components/schemas/SettlementDtoBigDecimal"
            }
          },
          "amount": {
            "type": "number",
            "description": "The sum of all existing settlements by the shopper.",
            "example": 50
          },
          "ratepay_payment_reference": {
            "type": "string",
            "description": "The reference for this prepayment.",
            "example": "test-ref"
          },
          "partner_shop_id": {
            "type": "string",
            "description": "The shop ID generated by the partner or provided upfront by Ratepay",
            "example": "partner-shop-id-1"
          }
        }
      },
      "ShopClaimsDto": {
        "type": "object",
        "description": "An object containing all claims that originate from the shop through the basket.",
        "properties": {
          "claims": {
            "type": "array",
            "description": "A list of all claims for the current transaction.",
            "items": {
              "$ref": "#/components/schemas/ClaimDtoBigDecimal"
            }
          },
          "amount": {
            "type": "number",
            "description": "The sum of all existing `claims`. The `claims` originate from the shop. Examples include the price for items in the shopper's basket and shipping fees.",
            "example": 145
          }
        }
      },
      "SpecialItemDto": {
        "type": "object",
        "properties": {
          "gross_unit_price": {
            "type": "number",
            "description": "The gross price (i. e. incl. tax) for one unit of this item as provided by the shop through the Ratepay Payment API.",
            "example": 18.45
          },
          "gross_unit_discount": {
            "type": "number",
            "description": "Gross discount on one item after taxes. Needs to be a negative value.",
            "example": -1.55
          },
          "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
          },
          "tax_rate": {
            "type": "number",
            "description": "The tax rate in percent (e. g. `19.0`) for this item as provided by the shop through the Ratepay Payment API",
            "example": 19
          },
          "discount": {
            "type": "number",
            "description": "An item specific discount amount, not a percentage, but the actual calculated value as provided by the shop through the Ratepay Payment API. This attribute is either `0` or has a negative value.",
            "example": 0
          },
          "quantity": {
            "type": "integer",
            "format": "int64",
            "description": "The quantity of this item in the basket as provided by the shop through the Ratepay Payment API",
            "example": 3
          },
          "description": {
            "type": "string",
            "description": "The item description as provided by the shop through the Ratepay Payment API.",
            "example": "basket-item"
          },
          "additional_description": {
            "type": "string",
            "description": "Optional. Additional item description as provided by the shop through the Ratepay Payment API.",
            "example": "cooles basket-item"
          },
          "article_number": {
            "type": "string",
            "description": "The article number of the item, e.g. SKU. Not allowed to contain only whitespaces.",
            "example": "kitchen-utils-1"
          },
          "name": {
            "type": "string",
            "description": "Name of the item.",
            "example": "fruit knife"
          },
          "category": {
            "type": "string",
            "description": "Category for the item.",
            "example": "household"
          },
          "unit": {
            "type": "string",
            "description": "Arbitrary measurement unit of the item, e.g. kg, litre, pieces.",
            "example": "piece"
          },
          "identification_number": {
            "type": "string",
            "description": "The shop's identification number for this item as provided by the shop through the Ratepay Payment API",
            "example": "identifiy-me"
          },
          "unique_identification_number": {
            "type": "string",
            "description": "Optional. The shop's unique identification number for this item as provided by the shop through the Ratepay Payment API.",
            "example": "12345"
          },
          "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
          },
          "net_unit_discount": {
            "type": "number",
            "description": "Net discount on one item before taxes. Needs to be a negative value.",
            "example": -1.3
          },
          "net_unit_price": {
            "type": "number",
            "description": "Net value of one item before taxes.",
            "example": 15.5
          },
          "type": {
            "type": "string",
            "description": "The special item type the buyer selected.",
            "example": "RETURN_FEE"
          }
        }
      }
    }
  }
}