openapi: 3.0.2
info:
title: Ratenkauf Verkauf-V3 API Definition
description: Ratenkauf Verkauf-V3 API for ratenkauf App
version: V3.174.1
tags:
- name: webshop
description: endpoints for operations regarding a webshop
- name: transaction
description: '''
-- endpoints used to process a transaction --
-- BODY SIGNATURE --
All Transaction endpoints support HMAC-SHA256 body signature authentication.
If this feature is activated (in your self-service portal), you need to send a signature header named \"Content-signature\".
Please generate the signature using the following format:
hmacsha256={ HMAC-SHA256( yourJsonBody, signatureSecret ) }
For example: Content-signature: hmacsha256=02ad96c7e912936939f2d7a25ca67e20a2b464c8737a2f3a9ccb46635e4a9f02
Note: Ensure the body is normalized by removing all newlines \"\n\", carriage returns \"\r\", and tabulator spaces \"\t\".
Failure to send a signature or failed signature validation results in an HTTP 400 error.
The signature response from our service is in the same HMAC-SHA256 format.
'''
servers:
- url: https://ratenkauf.easycredit.de
paths:
/api/payment/v3/webshop/integrationcheck:
post:
summary: Verifies the correctness of the merchant's authentication credentials and, if enabled, the body signature
description: '''
After integrating the authentication credentials (basic auth: webshop id/ratenkauf token) and possibly enabling the body signature feature,
the merchant can check its correctness.
'''
tags:
- webshop
security:
- basicAuth: [ ]
requestBody:
$ref: '#/components/requestBodies/IntegrationCheckRequest'
responses:
'200':
$ref: '#/components/responses/IntegrationCheckResponse'
'400':
$ref: '#/components/responses/ConstraintViolationError'
'401':
$ref: '#/components/responses/AuthenticationError'
'403':
$ref: '#/components/responses/ForbiddenError'
/api/payment/v3/webshop:
get:
summary: Get the necessary information about the webshop
description: '''
This API returns the necessary information of the corresponding webshop. This includes max and min financing amount,
interest rate, test mode, current availability information and privacy approval form
'''
tags:
- webshop
security:
- basicAuth: [ ]
responses:
'200':
$ref: '#/components/responses/WebshopResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'403':
$ref: '#/components/responses/ForbiddenError'
/api/payment/v3/webshop/{webshopId}:
get:
summary: Get the necessary information about the webshop
description: '''
This API returns the necessary information of the corresponding webshop. This includes max and min financing amount,
interest rate, test mode, current availability information and privacy approval form
'''
tags:
- webshop
parameters:
- $ref: '#/components/parameters/webshopId'
responses:
'200':
$ref: '#/components/responses/WebshopResponse'
'404':
$ref: '#/components/responses/NotFoundError'
/api/payment/v3/webshop/texte/{webshopId}:
get:
summary: Get the necessary confirmation texts about the webshop
description: '''
This API returns the necessary confirmation texts of the corresponding webshop.
'''
tags:
- webshop
parameters:
- $ref: '#/components/parameters/webshopId'
responses:
'200':
$ref: '#/components/responses/WebshopTextResponse'
'404':
$ref: '#/components/responses/NotFoundError'
/api/payment/v3/transaction:
post:
summary: Initiates a transaction based on the given request
description: '''
A transaction is created with unique identifiers (a TeamBank identifier and a functional identifier ).
The data in the request is validated and normalised and, if necessary, corresponding error messages are returned.
Supports body signature.
'''
tags:
- transaction
security:
- basicAuth: [ ]
requestBody:
$ref: '#/components/requestBodies/TransactionInitRequest'
responses:
'201':
$ref: '#/components/responses/TransactionInitResponse'
'400':
$ref: '#/components/responses/ConstraintViolationError'
'401':
$ref: '#/components/responses/AuthenticationError'
'403':
$ref: '#/components/responses/ForbiddenError'
/api/payment/v3/transaction/{technicalTransactionId}:
patch:
summary: Updates a transaction based on the given request
description: Based on the unique TeamBank identifier, the specific data of the transaction can be changed in the ‘PREAUTHORIZED’ status. Supports the body signature.
tags:
- transaction
security:
- basicAuth: [ ]
parameters:
- $ref: '#/components/parameters/technicalTransactionId'
requestBody:
$ref: '#/components/requestBodies/TransactionUpdateRequest'
responses:
'200':
$ref: '#/components/responses/TransactionUpdateResponse'
'400':
$ref: '#/components/responses/ConstraintViolationError'
'401':
$ref: '#/components/responses/AuthenticationError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
get:
summary: Get the necessary information about the transaction
description: Based on the unique TeamBank identifier, transaction's specific data is returned. Supports body signature.
tags:
- transaction
security:
- basicAuth: [ ]
parameters:
- $ref: '#/components/parameters/technicalTransactionId'
responses:
'200':
$ref: '#/components/responses/TransactionInformationResponse'
'400':
$ref: '#/components/responses/ConstraintViolationError'
'401':
$ref: '#/components/responses/AuthenticationError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
/api/payment/v3/transaction/{technicalTransactionId}/authorization:
post:
summary: Authorizes a transaction after finishing the process in a webshop
description: '''
The authorization of a transaction will be triggered asynchronous.
After processing all necessary checks there will be an optional callback to the url that was provided in initialization and you can get the
updated status information.
'''
tags:
- transaction
security:
- basicAuth: [ ]
parameters:
- $ref: '#/components/parameters/technicalTransactionId'
requestBody:
$ref: '#/components/requestBodies/AuthorizationRequest'
responses:
'202':
description: accepted for processing
'400':
$ref: '#/components/responses/ConstraintViolationError'
'401':
$ref: '#/components/responses/AuthenticationError'
'403':
$ref: '#/components/responses/ForbiddenError'
'409':
$ref: '#/components/responses/ConflictError'
/api/payment/v3/transaction/{technicalTransactionId}/switchPaymentMethod:
post:
summary: Switch payment method
description: '''
Switch payment method for transaction to other variant, e.g. from installment plan to invoice.
'''
tags:
- transaction
parameters:
- $ref: '#/components/parameters/technicalTransactionId'
responses:
'200':
$ref: '#/components/responses/TransactionInformationResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'403':
$ref: '#/components/responses/ForbiddenError'
'400':
$ref: '#/components/responses/ConstraintViolationError'
components:
securitySchemes:
basicAuth:
description: username/password -> webshop id/ratenkauf token
type: http
scheme: basic
schemas:
IntegrationCheckRequest:
type: object
properties:
message:
type: string
description: For a valid request, the value can be any string but cannot be empty
example: ratenkauf by easyCredit
required:
- message
TransmitMtan:
type: object
properties:
mtan:
type: string
example: '789321'
Transaction:
type: object
properties:
financingTerm:
type: integer
example: 6
description: '''
Duration in months, depending on individual shop conditions and order value (please check your ratenkauf widget).
Will be set to default value if not available.
'''
orderDetails:
$ref: '#/components/schemas/OrderDetails'
shopsystem:
$ref: '#/components/schemas/Shopsystem'
customer:
$ref: '#/components/schemas/Customer'
customerRelationship:
$ref: '#/components/schemas/CustomerRelationship'
consent:
$ref: '#/components/schemas/Consent'
redirectLinks:
$ref: '#/components/schemas/RedirectLinks'
paymentType:
description: "experimental"
type: string
enum:
- INSTALLMENT_PAYMENT
- BILL_PAYMENT
default: INSTALLMENT_PAYMENT
paymentSwitchPossible:
type: boolean
example: false
required:
- orderDetails
TransactionUpdate:
type: object
properties:
orderValue:
description: Amount in €
type: number
example: 2614.79
numberOfProductsInShoppingCart:
type: integer
example: 2
orderId:
description: Shop transaction identifier (allows the shop to store its own reference for the transaction)
type: string
example: A1ZU560
pattern: "^[a-zA-Z0-9\\.:\\-_/]{0,50}$"
maxLength: 50
shoppingCartInformation:
$ref: '#/components/schemas/ShoppingCartInformation'
financingTerm:
type: integer
example: 6
description: '''
Duration in months, depending on individual shop conditions and order value (please check your ratenkauf widget).
Will be set to default value if not available.
'''
Shopsystem:
description: technischeShopparameter
type: object
properties:
shopSystemManufacturer:
description: Shop system manufacturer
type: string
maxLength: 255
example: Shopware 5.5.10
shopSystemModuleVersion:
description: Shop system module version
type: string
maxLength: 255
example: 1.6.3
OrderDetails:
type: object
properties:
orderValue:
description: Amount in €
type: number
example: 2614.79
orderId:
description: Shop transaction identifier (allows the shop to store its own reference for the transaction)
type: string
example: A1ZU560
pattern: "^[a-zA-Z0-9\\.:\\-_/]{0,50}$"
maxLength: 50
numberOfProductsInShoppingCart:
description: anzahlProdukteImWarenkorb
type: integer
minimum: 1
maximum: 1000
example: 1
withoutFlexprice:
type: boolean
description: 'Indicator should always be FALSE except a flex price should not be shown, although it is available'
default: false
invoiceAddress:
$ref: '#/components/schemas/InvoiceAddress'
shippingAddress:
$ref: '#/components/schemas/ShippingAddress'
shoppingCartInformation:
$ref: '#/components/schemas/ShoppingCartInformation'
required:
- orderValue
AuthorizationRequest:
type: object
properties:
orderId:
description: Shop transaction identifier (allows the shop to store its own reference for the transaction)
type: string
example: A1ZU560
pattern: "^[a-zA-Z0-9\\.:\\-_/]{0,50}$"
maxLength: 50
Customer:
type: object
properties:
gender:
description: MR = HERR, MRS = FRAU, DIVERS = DIVERS, NO_GENDER = OHNE
type: string
enum:
- MR
- MRS
- DIVERS
- NO_GENDER
example: MR
firstName:
type: string
example: Ralf
minLength: 2
maxLength: 27
pattern: "^[-a-zÀ-žA-ZäüößÄÖÜěščřžůďťňĎŇŤŠČŘŽŮĚO'\\.\\, ]{2,27}$"
lastName:
type: string
example: Ratenkauf
minLength: 2
maxLength: 27
pattern: "^[-a-zÀ-žA-ZäüößÄÖÜěščřžůďťňĎŇŤŠČŘŽŮĚO'\\.\\, ]{2,27}$"
birthDate:
type: string
format: date
example: '1949-10-17'
birthName:
description: Buyer birth name
type: string
example: string
minLength: 2
maxLength: 27
pattern: "^[-a-zÀ-žA-ZäüößÄÖÜěščřžůďťňĎŇŤŠČŘŽŮĚO'\\.\\, ]{2,27}$"
birthPlace:
description: Buyer birth place
type: string
maxLength: 255
example: string
title:
type: string
enum:
- PROFDR
- DR
- PROF
- DRDR
example: PROFDR
contact:
$ref: '#/components/schemas/Contact'
bank:
$ref: '#/components/schemas/Bank'
employment:
$ref: '#/components/schemas/Employment'
companyName:
type: string
example: ''
Employment:
type: object
properties:
employmentType:
type: string
description: EMPLOYEE = ANGESTELLTER, EMPLOYEE_PUBLIC_SECTOR = ANGESTELLTER_OEFFENTLICHER_DIENST, WORKER = ARBEITER, CIVIL_SERVANT = BEAMTER, RETIREE = RENTNER, SELF_EMPLOYED = SELBSTAENDIGER, UNEMPLOYED = ARBEITSLOSER, OTHER = SONSTIGES
enum:
- EMPLOYEE
- EMPLOYEE_PUBLIC_SECTOR
- WORKER
- CIVIL_SERVANT
- RETIREE
- SELF_EMPLOYED
- UNEMPLOYED
- OTHER
monthlyNetIncome:
description: Income in €
type: number
example: 3000
Address:
type: object
properties:
address:
description: Street and street number
type: string
example: Beuthener Str. 25
additionalAddressInformation:
type: string
example: 3 OG
maxLength: 50
zip:
description: Postal code
type: string
example: '90471'
city:
type: string
example: Nürnberg
maxLength: 255
country:
description: Country as 2-digit ISO code
type: string
example: DE
required:
- address
- zip
- city
- country
ShippingAddress:
allOf:
- $ref: '#/components/schemas/Address'
- type: object
properties:
firstName:
description: Should match with the first name given in the person data
type: string
example: Ralf
lastName:
description: Should match with the last name given in the person data
type: string
example: Ratenkauf
packageStation:
type: boolean
required:
- firstName
- lastName
InvoiceAddress:
allOf:
- $ref: '#/components/schemas/Address'
- type: object
properties:
firstName:
description: Optional, if present should match with the first name given in the person data
type: string
example: Ralf
lastName:
description: Optional, if present should match with the last name given in the person data
type: string
example: Ratenkauf
Contact:
type: object
properties:
email:
type: string
example: test@test.de
maxLength: 80
mobilePhoneNumber:
description: Required in Ratenkauf process. Can be added later if not presented when initializing.
type: string
example: '017186397426'
phoneNumber:
description: Customer phone number.
type: string
example: '01771234567'
phoneNumbersConfirmed:
description: true if the fields mobile phone number and phone number should not be validated.
type: boolean
example: false
Bank:
description: International Bank Account Number
type: object
properties:
iban:
type: string
example: DE06760320009210030015
bic:
type: string
example: MARKDEFFXXX
CustomerRelationship:
description: Risk relevant information
type: object
properties:
customerStatus:
description: NEW_CUSTOMER = NEUKUNDE, EXISTING_CUSTOMER = BESTANDSKUNDE, PREMIUM_CUSTOMER = PREMIUMKUNDE
type: string
enum:
- NEW_CUSTOMER
- EXISTING_CUSTOMER
- PREMIUM_CUSTOMER
example: EXISTING_CUSTOMER
customerSince:
type: string
format: date
example: '2007-10-10'
orderDoneWithLogin:
description: true if the order was placed via customer login
type: boolean
example: false
numberOfOrders:
type: integer
example: 3
negativePaymentInformation:
description: Indicates whether the customer has already been in late payment or has not made the payment -> NO_PAYMENT_DISRUPTION = KEINE_ZAHLUNGSSTOERUNGEN, PAYMENT_DELAY = ZAHLUNGSVERZOEGERUNG, PAYMENT_NOT_DONE = ZAHLUNGSAUSFALL, NO_INFORMATION = KEINE_INFORMATION
type: string
enum:
- NO_PAYMENT_DISRUPTION
- PAYMENT_DELAY
- PAYMENT_NOT_DONE
- NO_INFORMATION
example: NO_INFORMATION
riskyItemsInShoppingCart:
description: risikoartikelImWarenkorb
type: boolean
example: false
logisticsServiceProvider:
description: Logistics service provider for the delivery of the order
type: string
maxLength: 255
example: Hermes
RedirectLinks:
description: Redirect url addresses in case of success, cancellation and denial
type: object
properties:
urlSuccess:
description: urlErfolg -> Return url address if the transaction is successful
type: string
example: https://www.google.com/search?q=easycreditSuccess
urlCancellation:
description: urlAbbruch -> Return url address if the transaction is canceled
type: string
example: https://www.google.com/search?q=easycreditCanceled
urlDenial:
description: urlAblehnung -> Return url address if the transaction is denied
type: string
example: https://www.google.com/search?q=easycreditDenied
urlAuthorizationCallback:
description: '''
Optional Callback-Url for authorization endpoint.
If provided the callback will be performed, else not.
'''
type: string
example: https://www.google.com/search?=ratenkaufCallback
required:
- urlSuccess
- urlCancellation
- urlDenial
RedirectLinksSI:
type: object
properties:
urlAuthorizationCallback:
description: '''
Optional Callback-Url for authorization endpoint.
If provided the callback will be performed, else not.
'''
type: string
example: https://www.google.com/search?=ratenkaufCallback
ShoppingCartInformation:
type: array
minItems: 1
items:
$ref: '#/components/schemas/ShoppingCartInformationItem'
ShoppingCartInformationItem:
type: object
properties:
productName:
type: string
maxLength: 255
example: Washing Machine
quantity:
type: integer
example: 1
price:
description: Amount in €
type: number
example: 599.95
manufacturer:
type: string
maxLength: 255
example: Siemens
productCategory:
type: string
maxLength: 255
example: Household Appliances
productImageUrl:
type: string
example: https://www.mywebshopdomain.domain/path/product/image.jpg
productUrl:
type: string
example: https://www.mywebshopdomain.domain/path/product/product.html
articleNumber:
description: Article number of a product
type: array
items:
$ref: '#/components/schemas/ArticleNumberItem'
required:
- productName
- quantity
- price
ArticleNumberItem:
type: object
properties:
numberType:
description: Number type of the article
type: string
maxLength: 255
example: GTIN
number:
description: Article number of the given type
type: string
maxLength: 255
example: 1111111
required:
- numberType
- number
IntegrationCheckResponse:
type: object
properties:
message:
type: string
description: Same message that was sent in the corresponding request
example: ratenkauf by easyCredit
WebshopResponse:
type: object
properties:
maxFinancingAmount:
type: integer
example: 10000
minFinancingAmount:
type: integer
example: 200
interestRate:
type: number
example: 8.50
availability:
description: true if financing is available from this webshop
type: boolean
example: true
testMode:
description: true if the webshop is in test mode
type: boolean
example: false
privacyApprovalForm:
description: form for privacy approval (zustimmungDatenuebertragungPaymentPage)
type: string
declarationOfConsent:
description: (zustimmungEinwilligungserklaerungPaymentPage)
type: string
illustrativeExample:
description: (repraesentativesBeispiel)
type: string
productDetails:
description: (produktangaben)
type: string
uuid:
description: request-id
type: string
flexprice:
description: true if the shop has an active flexprice or a flexprice time period is planned for the future
type: boolean
default: false
installmentPaymentActive:
type: boolean
billPaymentActive:
type: boolean
minBillingValue:
type: number
example: 50
maxBillingValue:
type: number
example: 3000
minInstallmentValue:
type: number
example: 200
maxInstallmentValue:
type: number
example: 10000
interestRateFlexibilisation:
$ref: "#/components/schemas/InterestRateFlexibilisation"
WebshopTextResponse:
type: object
properties:
privacyApprovalForm:
description: form for privacy approval (zustimmungDatenuebertragungPaymentPage)
type: string
declarationOfConsent:
description: (zustimmungEinwilligungserklaerungPaymentPage)
type: string
illustrativeExample:
description: (repraesentativesBeispiel)
type: string
productDetails:
description: (produktangaben)
type: string
siPrivacyApprovalForm:
description: form for service integration privacy approval (zustimmungDatenuebertragungPaymentPage)
type: string
siInformationDataProcessing:
description: information regarding data processing for service integration
type: string
siConsentForEmailAdvertisementLong:
description: information regarding email advertisement for service integration
type: string
uuid:
description: request-id
type: string
InterestRateFlexibilisation:
description: Information on active interest rate flexibilisation campaign booked for the shop
type: object
properties:
interestRate:
description: Reduced effective interest rate for the customer
type: number
example: 0.00
maxInstallments:
description: Maximum number of instalments for which the interest rate flexibilisation campaign is valid
type: integer
example: 12
TransactionInitResponse:
type: object
properties:
technicalTransactionId:
description: Unique TeamBank transaction identifier
type: string
example: 1.de.4145.1-0303135329-211
transactionId:
description: Unique functional transaction identifier (consists of 6 characters)
type: string
example: EWZEN7
deviceIdentToken:
description: Verification token to identify the device
type: string
example: bd982c1b-f830-4ebc-9cfd-6ca28c17adeb
redirectUrl:
description: Redirect url
type: string
timestamp:
type: string
format: date-time
example: '2021-03-04T14:41:09.002Z'
transactionInformation:
$ref: '#/components/schemas/TransactionInformation'
MTan:
type: object
properties:
required:
type: boolean
example: true
status:
type: string
enum:
- PENDING
- FINISHED
- FAILED
remainingAttempts:
type: integer
example: 2
successful:
type: boolean
example: true
mobilePhoneNumberInvalid:
type: boolean
example: true
skipMobilePhoneNumberValidation:
type: boolean
example: true
BankAccountCheck:
type: object
properties:
required:
type: boolean
example: false
successful:
type: boolean
example: false
Interests:
type: object
properties:
effectiveInterest:
description: ( = effektivzins in €)
type: number
example: 8.99
nominalInterest:
description: ( = nominalzins in €)
type: number
example: 8.64
interest:
description: Amount of the interest accrued in € ( = anfallender Zinsbetrag in €)
type: number
example: 234.56
originalInterest:
description: Amount of the original interest accrued in € ( = unspruenglicher Zinsbetrag in €)
type: number
example: 6.99
PaymentPlan:
type: object
properties:
numberOfInstallments:
description: Number of Installments defined in the payment plan ( = anzahl der Raten)
type: integer
example: 9
firstInstallmentDate:
description: Date indicating the first installment payment ( = terminErsteRate)
type: string
format: date
lastInstallmentDate:
description: Date indicating the last installment payment ( = terminLetzteRate)
type: string
format: date
installment:
description: Amount in € of a single installment according to the payment plan ( = betrag der Rate in €)
type: number
example: 302
lastInstallment:
description: Amount in € of the last installment according to the payment plan ( = betrag der letzten Rate in €)
type: number
example: 293.58
InstallmentPlan:
type: object
properties:
totalValuePlan:
description: Amount of the installment plan total value in € ( = Gesamtsumme in €)
type: number
interests:
$ref: '#/components/schemas/Interests'
paymentPlan:
$ref: '#/components/schemas/PaymentPlan'
TransactionSummary:
type: object
properties:
transactionId:
description: Unique functional transaction identifier (consists of 6 characters)
type: string
example: EWZEN7
deviceIdentToken:
type: string
example: 'dffedf20-21df-11ec-9621-0242ac130002'
orderValue:
description: Amount of the order value in € ( = Bestellwert in €)
type: number
example: 2614.79
interest:
description: Amount of the interest accrued in € ( = anfallender Zinsbetrag in €)
type: number
example: 234.56
originalInterest:
description: Amount of the original interest accrued in € ( = urspruenglicher Zinsbetrag in €)
type: number
example: 234.56
nominalInterest:
description: ( = nominalzins in €)
type: number
example: 8.64
effectiveInterest:
description: ( = effektivzins in €)
type: number
example: 8.99
merchantSpecificInterest:
description: ( = haendlerspezifischerZinssatz in €)
type: number
example: 8.99
totalValue:
description: Amount of the total value in € ( = Gesamtsumme in €)
type: number
example: 2849.35
decisionOutcome:
description: Outcome of the credit decision
type: string
example: POSITIVE
enum:
- POSITIVE
- NEGATIVE
decisionOutcomeText:
description: Text containing further information on the decision outcome ( = entscheidungsergebnisTextbaustein)
type: string
numberOfInstallments:
description: Number of Installments defined in the payment plan ( = anzahl der Raten)
type: integer
example: 9
minNumberOfInstallments:
description: minimum number of Installments defined in the payment plan ( = minimaleLaufzeit)
type: integer
example: 2
maxNumberOfInstallments:
description: maximum number of Installments defined in the payment plan ( = maximaleLaufzeit)
type: integer
example: 60
installment:
description: Amount in € of a single installment according to the payment plan ( = betrag der Rate in €)
type: number
example: 302
lastInstallment:
description: Amount in € of the last installment according to the payment plan ( = betrag der letzten Rate in €)
type: number
example: 293.58
firstInstallmentDate:
description: Date indicating the first installment payment ( = terminErsteRate)
type: string
format: date
lastInstallmentDate:
description: Date indicating the last installment payment ( = terminLetzteRate)
type: string
format: date
amortizationPlanText:
description: Text containing the amortization plan ( = tilgungsplanText)
type: string
urlPreContractualInformation:
description: ( = urlVorvertraglicheInformationen)
type: string
installmentPlans:
description: List of possible installment payment plans
type: array
items:
$ref: '#/components/schemas/InstallmentPlan'
mtan:
$ref: '#/components/schemas/MTan'
bankAccountCheck:
$ref: '#/components/schemas/BankAccountCheck'
DeviceIdentToken:
type: object
properties:
timestamp:
type: string
format: date-time
deviceIdentToken:
type: string
example: 'dffedf20-21df-11ec-9621-0242ac130002'
TransactionInformation:
type: object
properties:
decision:
$ref: '#/components/schemas/TransactionSummary'
transaction:
$ref: '#/components/schemas/Transaction'
status:
type: string
enum:
- OPEN
- PREAUTHORIZED
- DECLINED
- AUTHORIZED
- EXPIRED
Consent:
type: object
properties:
sepaMandate:
type: boolean
advertisement:
type: boolean
dataProcessing:
type: boolean
consentToActInOnwnName:
type: boolean
AuthorizationStatusResponse:
type: object
properties:
status:
type: string
enum:
- AUTHORIZED
- PENDING
- CANCELED
ConstraintViolation:
type: object
properties:
title:
type: string
violations:
type: array
minItems: 1
items:
type: object
properties:
field:
type: string
message:
type: string
description: error message
messageDE:
type: string
description: german error message
required:
- field
- message
required:
- title
- violations
ServerError:
type: object
properties:
title:
type: string
detail:
type: string
AuthenticationError:
type: object
properties:
title:
type: string
detail:
type: string
parameters:
technicalTransactionId:
name: technicalTransactionId
in: path
description: Unique TeamBank transaction identifier
required: true
schema:
type: string
webshopId:
name: webshopId
in: path
description: Identifier of a webshop
required: true
schema:
type: string
requestBodies:
AuthorizationRequest:
description: authorization request
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizationRequest'
MtanRequest:
description: mtan request
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/TransmitMtan'
IntegrationCheckRequest:
description: integration check request
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationCheckRequest'
TransactionInitRequest:
description: init request
content:
application/json:
schema:
$ref: '#/components/schemas/Transaction'
TransactionUpdateRequest:
description: update request
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionUpdate'
responses:
default:
description: Internal server error or error from third party services
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ServerError'
IntegrationCheckResponse:
description: The authentication credentials and, if enabled, the body signature are valid
content:
application/problem+json:
schema:
$ref: '#/components/schemas/IntegrationCheckResponse'
AuthorizationStatusResponse:
description: Status of an authorization
content:
application/hal+json:
schema:
$ref: '#/components/schemas/AuthorizationStatusResponse'
WebshopResponse:
description: Ratenkauf information about a webshop
content:
application/json:
schema:
$ref: '#/components/schemas/WebshopResponse'
WebshopTextResponse:
description: Ratenkauf texts for a webshop
content:
application/json:
schema:
$ref: '#/components/schemas/WebshopTextResponse'
TransactionInitResponse:
description: Transaction data
content:
application/hal+json:
schema:
$ref: '#/components/schemas/TransactionInitResponse'
TransactionUpdateResponse:
description: Transaction updated data
content:
application/hal+json:
schema:
$ref: '#/components/schemas/TransactionSummary'
TransactionInformationResponse:
description: Transaction information data
content:
application/hal+json:
schema:
$ref: '#/components/schemas/TransactionInformation'
IdentityResponse:
description: Device Ident Token
content:
application/hal+json:
schema:
$ref: '#/components/schemas/DeviceIdentToken'
MtanResponse:
description: mtan response
content:
application/json:
schema:
$ref: '#/components/schemas/MTan'
ConstraintViolationError:
description: The request is invalid and has one or more constraint violations.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConstraintViolation'
AuthenticationError:
description: The request has not been applied because it lacks valid authentication credentials.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/AuthenticationError'
ForbiddenError:
description: The request could not be completed due to permanent denial of access to a resource or entity.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConstraintViolation'
NotFoundError:
description: The request could not be completed due to an entity that was not found.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConstraintViolation'
ConflictError:
description: The request could not be completed due to a conflict.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ConstraintViolation'