We’ve added a new feature : One Time Passcode (OTP) — see details here . The transactionManagement 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.
A new optional header was added to ALL requests. See for example create transaction 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.
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. This field must be included in at least one of the following requests: authorization or capture.
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. This field must be included in at least one of the following requests: authorization or capture.
This change introduces a new optional value shop_merchant_id for shop basket 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.
This change introduces a new section for merchant details within the shops 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.
A follow-up operation might get rejected because the transaction expired. We added a new page describing how expiry works and how you can prevent a transaction from expiring.
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 works.
A new page was added describing the key identifiers and their use-cases used in payment API like ratepay_transaction_id, partner_shop_id, shop_buyer_id, etc.
Two new endpoints were added.
- Retrieve all incremental authorizations of a transaction.
- Retrieve a single incremental authorization of a transaction 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.
Two new endpoints were added.
- Retrieve all cancellations of a transaction.
- Retrieve a single cancellation of a transaction 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.
Two new endpoints were added.
- Retrieve all refunds of a transaction.
- Retrieve a single refund of a transaction 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.
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 with a negative amount.
Two new endpoints were added.
- Retrieve all captures of a transaction.
- Retrieve a single capture of a transaction 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.
A new endpoint to lookup a transaction 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.
The partner's invoice ID can now be optionally included in the capture call.
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:
The partner's shop ID can now be optionally included in the capture call. The new attribute is required for marketplace transactions to denote which basket is getting captured.
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 list. The single value field ratepay_payment_reference is deprecated as of now.
When creating a new transaction, you can now provide a custom expiry time in the authorization 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.
A new endpoint to change existing transactions is now available. It is now possible to extend authorization expiry if contractually agreed.
When providing correspondence settings for a shop while authorizing a transaction, it is now possible to define French and Dutch slangs. In addition, German slang is now optional.
It is no longer required to include shop information 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 as each basket must be related to a shop.
A new payment method is available. The buyer can pay immediately by SEPA direct debit. Besides specifying this payment method and transfer type while authorizating a new transaction, also a debit bank account must be given in payment details.
When authorizing a new transaction, a sales channel shall be provided. See sales channel option for details.
It is now possible to add shipping information to an existing capture. See add shipping information for details.
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 for details.
All follow-up operations can now contain items and special items, which were captured, refunded or cancelled.
It is now possible to mark a buyer as a
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: httpa regular customer when creating a transaction by providing the shop's ID of that buyer. See authorize transaction request for details.
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.
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 - buyer collecting delivery at a delivery station
- pick-up shop - buyer collecting delivery at a post office or similar
- in-store collect
- buyer collecting delivery at a store of the merchant
A company can now be specified as buyer in authorization request. See company section in buyer .
A buyer must either be a company or person, but not both. By providing a company as buyer, request is considered to be B2B.