Skip to content

Payment OpenAPI Specification (version 2)

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.

Download OpenAPI description
Languages
Servers
Ratepay Integration Platform
https://api-integration.ratepay.com/transaction/management
Ratepay Production Platform
https://api.ratepay.com/transaction/management

Request

Generate a Standard European Consumer Credit Information (SECCI) document for CCD2 compliance.

Delivery Methods:

  • PDF: Returns the PDF document content. Use action: download for eCom flows or action: print for POS flows.
  • EMAIL: Sends the SECCI document via email.

Response:

  • For PDF delivery: Returns application/pdf binary content
  • For EMAIL delivery: Returns a JSON payload containing the email trigger result and SECCI ID.

All responses include the compliance JWT in the X-Attestation-Token header. It must be passed with the subsequent Payment API transaction request in the attestation_token field.

Security
Bearer Authentication
Headers
Idempotency-Keystring<= 64 characters

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 for further details.

Preferstring

According to RFC 7240: Provide return=representation if you prefer that the response to a request includes the current state of the resource.

Value"return=representation"
X-Partnerany

The partner ID for the operation is required only when using a single credential set for multiple integrations, such as countries or brands associated with one company.

Bodyapplication/jsonrequired
currencystring[A-Z]{3}required

Currency code

Example: "EUR"
deliveryobject(SecciApiDeliveryDto)required

Delivery method configuration

payment_methodobject(SecciApiPaymentMethodDto)required

Payment method details

shop_basketsArray of objects(SecciApiShopBasketDto)required

Shop basket

curl -i -X POST \
  https://api-integration.ratepay.com/transaction/management/v2/compliance/secci \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'Prefer: return=representation' \
  -H 'X-Partner: ' \
  -d '{
    "currency": "EUR",
    "delivery": {
      "action": "download",
      "country_code": "DE",
      "email": "max.mustermann@example.com",
      "language": "de",
      "method": "pdf"
    },
    "payment_method": {
      "payment_option": "OPEN_INVOICE",
      "transfer_type": "BANK_TRANSFER"
    },
    "shop_baskets": [
      {
        "gross_amount": 100,
        "items": [
          {
            "gross_unit_price": 20.03,
            "name": "fruit knife",
            "quantity": 2,
            "tax_rate": 19
          }
        ],
        "partner_shop_id": "string",
        "special_items": [
          {
            "gross_unit_price": 20.03,
            "name": "shipping costs",
            "quantity": 2,
            "tax_rate": 19
          }
        ]
      }
    ]
  }'

Responses

SECCI document generated successfully

Headers
X-Attestation-Tokenstring

RS256 JWT attestation token to be passed with the transaction request

Body
messagestring

Additional message (e.g., error details)

resultstringrequired

Result of the email trigger

Enum"SUCCESS""ERROR"
Example: "SUCCESS"
secci_idstring

Unique SECCI document identifier

Example: "SCABC123-11072026"
Response
{ "message": "string", "result": "SUCCESS", "secci_id": "SCABC123-11072026" }