OpenAPI Specification
swagger: '2.0'
info:
description: 'The current set of APIs will be available in Q2 2026 on Worldline Global Issuing Platforms.
Additional APIs are under construction and planned to be available in 2026.'
version: 2.41.1
title: Worldline Card Issuing Account - AccountState Direct Debit API
contact: {}
host: sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/card-issuing
basePath: /api/v2
schemes:
- https
tags:
- name: Direct Debit
description: Direct Debit Api Controller
paths:
/issuers/{issuerId}/direct-debits:
post:
x-wl-idempotent: true
tags:
- Direct Debit
summary: Create a direct debit instruction
description: 'This API enables a direct debit note to be requested by debiting a customer bank account (inhouse or external) to increase the open to buy of the card account (for a particular purchase).
As a result, the direct debit is generated and after n business days (issuer configuration), the card account is paid with the requested amount (the total amount due for this card account is paid first).
The API returns the unique Direct Debit EndToEnd Identifier generated by our system and the direct debit status.
Idempotency is managed by the API; that is, if the request with the same WL-Correlation-ID is sent multiple times, it will be executed only once.The response will be retrieved directly from our system.'
operationId: createDirectDebit
consumes:
- application/json
produces:
- application/json
parameters:
- name: WL-Correlation-ID
in: header
required: false
type: string
- name: WL-Origin
in: header
required: false
type: string
- name: WL-Username
in: header
required: false
type: string
- name: filter
in: query
description: Filtered Fields
required: false
type: array
items:
type: string
collectionFormat: multi
- name: issuerId
in: path
description: Issuer ID
required: true
type: string
- in: body
name: body
required: true
schema:
$ref: '#/definitions/CreateDirectDebitRequest'
responses:
'400':
description: Bad request
schema:
$ref: '#/definitions/BadRequestErrorApiResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/ForbiddenErrorApiResponse'
'404':
description: Not found
schema:
$ref: '#/definitions/NotFoundErrorApiResponse'
'500':
description: Internal server error
schema:
$ref: '#/definitions/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
schema:
$ref: '#/definitions/BadGatewayErrorApiResponse'
'200':
description: OK
schema:
$ref: '#/definitions/ApiResponseEntityCreateDirectDebitResponse'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/direct-debits/{endToEndId}:
get:
tags:
- Direct Debit
summary: Retrieve a direct debit
description: This API enables an already created direct debit instruction to be retrieved by providing in input the Direct debit E2E Identifier and the reject reason.
operationId: retrieveDirectDebit
produces:
- application/json
parameters:
- name: WL-Correlation-ID
in: header
required: false
type: string
- name: WL-Origin
in: header
required: false
type: string
- name: WL-Username
in: header
required: false
type: string
- name: filter
in: query
description: Filtered Fields
required: false
type: array
items:
type: string
collectionFormat: multi
- name: issuerId
in: path
description: Issuer ID
required: true
type: string
- name: endToEndId
in: path
description: DD identifier
required: true
type: string
- name: embed
in: query
description: Embedded Fields
required: false
type: array
items:
type: string
enum:
- statusHistory
collectionFormat: multi
responses:
'400':
description: Bad request
schema:
$ref: '#/definitions/BadRequestErrorApiResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/ForbiddenErrorApiResponse'
'404':
description: Not found
schema:
$ref: '#/definitions/NotFoundErrorApiResponse'
'500':
description: Internal server error
schema:
$ref: '#/definitions/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
schema:
$ref: '#/definitions/BadGatewayErrorApiResponse'
'200':
description: OK
schema:
$ref: '#/definitions/ApiResponseEntityDirectDebit'
security:
- basic: []
deprecated: false
/issuers/{issuerId}/direct-debits/{endToEndId}/cancel:
post:
tags:
- Direct Debit
summary: Cancel direct debit
description: 'This API enables a direct debit instruction to be cancelled by providing in input the Direct debit E2E Identifier.
The cancellation is possible for Direct debit not collected yet (sent to the bank).'
operationId: cancelDirectDebit
consumes:
- application/json
produces:
- application/json
parameters:
- name: WL-Correlation-ID
in: header
required: false
type: string
- name: WL-Origin
in: header
required: false
type: string
- name: WL-Username
in: header
required: false
type: string
- name: filter
in: query
description: Filtered Fields
required: false
type: array
items:
type: string
collectionFormat: multi
- name: issuerId
in: path
description: Issuer ID
required: true
type: string
- name: endToEndId
in: path
description: DD identifier
required: true
type: string
- in: body
name: body
required: false
schema:
$ref: '#/definitions/CancelDirectDebitRequest'
responses:
'400':
description: Bad request
schema:
$ref: '#/definitions/BadRequestErrorApiResponse'
'401':
description: Unauthorized
schema:
$ref: '#/definitions/UnauthorizedErrorApiResponse'
'403':
description: Forbidden
schema:
$ref: '#/definitions/ForbiddenErrorApiResponse'
'404':
description: Not found
schema:
$ref: '#/definitions/NotFoundErrorApiResponse'
'500':
description: Internal server error
schema:
$ref: '#/definitions/InternalServerErrorErrorApiResponse'
'502':
description: Bad gateway
schema:
$ref: '#/definitions/BadGatewayErrorApiResponse'
'200':
description: OK
schema:
$ref: '#/definitions/ApiResponseEntityCancelDirectDebitResponse'
security:
- basic: []
deprecated: false
definitions:
CreateDirectDebitRequest:
type: object
required:
- overPaymentAccountIdentifier
- amount
properties:
overPaymentAccountIdentifier:
description: Card account identifier to be credited
allOf:
- $ref: '#/definitions/AccountIdentifier'
amount:
description: Amount of Direct Debit
allOf:
- $ref: '#/definitions/Amount'
externalOperationCode:
type: string
description: The external operation code of the balance adjustment can be provided.
paymentReason:
type: string
description: 'The reason why the payment is triggerred
The list of possible payment reasons is configurable per issuer.'
title: CreateDirectDebitRequest
DirectDebitStatusHistory:
type: object
properties:
status:
type: string
description: 'Status of the direct debit transfer on the particular status date '
statusDate:
type: string
format: date-time
description: Date of the direct debit status change
username:
type: string
description: Name of the user who requested to create or cancel the direct debit
origin:
type: string
description: Origin used when the direct debit was requested or cancelled.
title: DirectDebitStatusHistory
NotFoundErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/NotFoundResponseMetadata'
title: NotFoundErrorApiResponse
BadGatewayErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/BadGatewayResponseMetadata'
title: BadGatewayErrorApiResponse
InternalServerErrorErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/InternalServerErrorResponseMetadata'
title: InternalServerErrorErrorApiResponse
InternalServerErrorResponseMetadata:
type: object
required:
- correlationId
- responseDateTime
- statusCode
- statusMessage
properties:
correlationId:
type: string
description: Correlation Identifier
responseDateTime:
type: string
example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
description: Timestamp when response date was generated
statusCode:
type: integer
format: int32
example: 500
description: HTTP status code
statusMessage:
type: string
example: Internal server error
description: Executed REST API status message
title: InternalServerErrorResponseMetadata
UnauthorizedErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/UnauthorizedResponseMetadata'
title: UnauthorizedResponseMetadata
CancelDirectDebitRequest:
type: object
properties:
rejectionReason:
type: string
description: Reason for cancelling the direct debit (free text)
title: CancelDirectDebitRequest
DirectDebit:
type: object
properties:
issuerId:
type: string
description: Issuer identifier (unique per platform)
directDebitIdentifier:
description: Unique identifier of the Direct Debit
allOf:
- $ref: '#/definitions/DirectDebitIdentifier'
overPaymentAccountIdentifier:
description: 'Identifier of the overpayment account '
allOf:
- $ref: '#/definitions/AccountIdentifier'
payingAccountIdentifier:
description: Identifier of the paying account
allOf:
- $ref: '#/definitions/AccountIdentifier'
sci:
type: string
description: SEPA Creditor Identifier (for SEPA DD)
mandateUmr:
type: string
description: Unique Mandate Reference (for SEPA DD)
amount:
description: Direct Debit due amount
allOf:
- $ref: '#/definitions/Amount'
sepaIndicator:
type: boolean
description: Indicates if DD is SEPA or no
creationDate:
type: string
format: date-time
description: Creation Date of the DD
extractType:
type: string
description: Extract type
status:
type: string
description: DD Status
dueDate:
type: string
format: date-time
description: Due date
sequenceType:
type: string
description: Sequence type
remittanceInfo:
type: string
description: Remittance info
rejectionReason:
type: string
description: Rejection Reason (if SDD is rejected)
debtorBankFee:
description: Debtor Bank Fee
allOf:
- $ref: '#/definitions/Amount'
creditorBankFee:
description: Creditor Bank Fee
allOf:
- $ref: '#/definitions/Amount'
cancellationDate:
type: string
format: date-time
description: The date when the Direct Debit order was canceled
statusHistory:
description: 'Debtor Bank Fee.
_Embedded property, only filled when available for the endpoint and explicitly requested in the ''embed'' query parameter._'
type: array
items:
$ref: '#/definitions/DirectDebitStatusHistory'
paymentTrigger:
type: string
description: "Indicates how the payment is triggered \nThe possible values are :\n- ON_DEMAND\n- CYCLIC (related to monthly cycle closure)\n- ON_TRANSACTION"
paymentReason:
type: string
description: "Reason why the payment is triggered \nThe list of possible payment reasons is configurable per issuer."
title: DirectDebit
Links:
type: object
required:
- self
properties:
self:
type: string
example: /x/{x}?x=x
description: Service method URL
next:
type: string
example: /x/{x}?page[offset]=2
description: URL pagination query parameter next page
title: Links
UnauthorizedResponseMetadata:
type: object
required:
- correlationId
- responseDateTime
- statusCode
- statusMessage
properties:
correlationId:
type: string
description: Correlation Identifier
responseDateTime:
type: string
example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
description: Timestamp when response date was generated
statusCode:
type: integer
format: int32
example: 401
description: HTTP status code
statusMessage:
type: string
example: Unauthorized
description: Executed REST API status message
title: UnauthorizedResponseMetadata
ApiResponseEntityCreateDirectDebitResponse:
x-wl-api-response: true
type: object
required:
- responseMetadata
properties:
responseMetadata:
description: Response metadata
allOf:
- $ref: '#/definitions/ResponseMetadata'
data:
description: Response data
allOf:
- $ref: '#/definitions/CreateDirectDebitResponse'
description: Issuer response entity
title: ApiResponseEntityCreateDirectDebitResponse
ApiResponseEntityDirectDebit:
x-wl-api-response: true
type: object
required:
- responseMetadata
properties:
responseMetadata:
description: Response metadata
allOf:
- $ref: '#/definitions/ResponseMetadata'
data:
description: Response data
allOf:
- $ref: '#/definitions/DirectDebit'
description: Issuer response entity
title: ApiResponseEntityDirectDebit
NotFoundResponseMetadata:
type: object
required:
- correlationId
- responseDateTime
- statusCode
- statusMessage
properties:
correlationId:
type: string
description: Correlation Identifier
responseDateTime:
type: string
example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
description: Timestamp when response date was generated
statusCode:
type: integer
format: int32
example: 404
description: HTTP status code
statusMessage:
type: string
example: Not found
description: Executed REST API status message
title: NotFoundResponseMetadata
ResponseMetadata:
type: object
required:
- correlationId
- responseDateTime
- statusCode
- statusMessage
properties:
correlationId:
type: string
description: Correlation Identifier
links:
description: Metadata Links
allOf:
- $ref: '#/definitions/Links'
statusMessage:
type: string
example: Executed successfully
description: Executed REST API status message
statusCode:
type: integer
format: int32
example: 200
description: HTTP status code
responseDateTime:
type: string
example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
description: Timestamp when response date was generated
timeTakenMs:
type: integer
format: int64
example: 12
description: Wall clock time required from service to generate the response
title: ResponseMetadata
AccountIdentifier:
type: object
properties:
accountReference:
type: string
description: Account reference is to identify the Account calculated by the system (algorithm is configurable per issuer). Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used.
issuerAccountExternalReference:
type: string
description: Issuer account external reference is to identify the Account. Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used. Algorithm configurable by issuer, can be generated by the system if there is an externalReferenceGeneratorAlgorithm.
title: AccountIdentifier
ApiResponseEntityCancelDirectDebitResponse:
x-wl-api-response: true
type: object
required:
- responseMetadata
properties:
responseMetadata:
description: Response metadata
allOf:
- $ref: '#/definitions/ResponseMetadata'
data:
description: Response data
allOf:
- $ref: '#/definitions/CancelDirectDebitResponse'
description: Issuer response entity
title: ApiResponseEntityCancelDirectDebitResponse
Amount:
type: object
required:
- value
- exponent
- isoCode
properties:
value:
type: integer
format: int64
description: Integer amount value. Ex. if it is two hundred euros and 17 cents, then amount value is 20017 (exponent = 2 digits for currency=EUR)
exponent:
type: integer
format: int32
description: Exponent of Amount. Number of decimal digits.
isoCode:
type: string
description: 'Currency code of amount
The currency in ISO4217 alphabetic format.
Example: EUR for Euro'
title: Amount
ForbiddenErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/ForbiddenResponseMetadata'
title: ForbiddenErrorApiResponse
CreateDirectDebitResponse:
type: object
required:
- directDebitIdentifier
- status
properties:
directDebitIdentifier:
description: Direct debit identifier
allOf:
- $ref: '#/definitions/DirectDebitIdentifier'
status:
type: string
description: Direct debit status
title: CreateDirectDebitResponse
DirectDebitIdentifier:
type: object
properties:
endToEndId:
type: string
description: DD identifier
title: DirectDebitIdentifier
BadRequestResponseMetadata:
type: object
required:
- correlationId
- responseDateTime
- statusCode
- statusMessage
properties:
correlationId:
type: string
description: Correlation Identifier
responseDateTime:
type: string
example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
description: Timestamp when response date was generated
statusCode:
type: integer
format: int32
example: 400
description: HTTP status code
statusMessage:
type: string
example: Bad request
description: Executed REST API status message
title: BadRequestResponseMetadata
CancelDirectDebitResponse:
type: object
required:
- directDebitIdentifier
- status
- cancellationDate
properties:
directDebitIdentifier:
description: Direct debit identifier
allOf:
- $ref: '#/definitions/DirectDebitIdentifier'
status:
type: string
description: Direct debit status
cancellationDate:
type: string
format: date-time
description: The date when the Direct Debit order was canceled
title: CancelDirectDebitResponse
BadGatewayResponseMetadata:
type: object
required:
- correlationId
- responseDateTime
- statusCode
- statusMessage
properties:
correlationId:
type: string
description: Correlation Identifier
responseDateTime:
type: string
example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
description: Timestamp when response date was generated
statusCode:
type: integer
format: int32
example: 502
description: HTTP status code
statusMessage:
type: string
example: Bad Gateway
description: Executed REST API status message
title: BadGatewayResponseMetadata
BadRequestErrorApiResponse:
type: object
required:
- responseMetadata
properties:
responseMetadata:
allOf:
- $ref: '#/definitions/BadRequestResponseMetadata'
title: BadRequestErrorApiResponse
ForbiddenResponseMetadata:
type: object
required:
- correlationId
- responseDateTime
- statusCode
- statusMessage
properties:
correlationId:
type: string
description: Correlation Identifier
responseDateTime:
type: string
example: format:yyyy-MM-dd'T'HH:mm:ss.SSSZ
description: Timestamp when response date was generated
statusCode:
type: integer
format: int32
example: 403
description: HTTP status code
statusMessage:
type: string
example: Forbidden
description: Executed REST API status message
title: ForbiddenResponseMetadata
securityDefinitions:
basic:
type: oauth2
flow: application
tokenUrl: https://sbx-wlip.api1-eu2.psapigateway.preprod.giservices.io/token