How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

DN Payment Initiation API

Public Payment Initiation API (PI-API) of Diebold Nixdorf providing access to the Vynamic Transaction Middleware for initiating payments. Declares an OpenID Connect scheme against a Microsoft Entra ID tenant. 11 paths; OpenAPI 3.0.1, version 1.9.11.

This API exposes 16 operations across 11 paths, organized into 3 resource areas, and defines 71 schemas. It is described by OpenAPI 3.0.1, at version 1.9.11.

Requests are made against 2 base URLs: http://localhost:8080/pi-api/v1, https://localhost:8080/pi-api/v1.

16 operations 11 paths 71 schemas 2 DELETE5 GET6 POST3 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
1.9.11
Base URL
https://{customer-host}:8080/pi-api/v1
Authentication
HTTP Bearer, OpenID Connect
Resource Areas
3

Authentication & Security 2

DN Payment Initiation API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). It supports OpenID Connect (openId) discovered at https://login.microsoftonline.com/52846f0f-bc96-4a36-939b-f4d04bb473a0/v2.0/.well-known/openid-configuration. By default, every request must be authenticated.

  • bearerAuth — When using the bearer authentication method an access token has to be provided in the HTTP authorization header

Paths & Operations 16

Across 11 paths, the API surfaces 16 operations — 2 DELETE, 5 GET, 6 POST, 3 PUT. They span 3 resource areas: Payment Initiation API, Accessibility API, Device API. Each is listed below with its method, path, parameters, and response codes.

Payment Initiation API 10

Public Payment Initiation API (PI-API) of DieboldNixdorf to access the Transaction Middleware.

POST
/pay/{merchantId}/initiateSession
Initiate a payment session for token based payments like Google Pay or Apple Pay.
initiateSession 14 params body → 200500
POST
/pay/{merchantId}/creditBalance
The creditBalance API call returns the credit balance of a payer in case of success.
creditBalance 14 params body → 200401404409500
POST
/pay/{merchantId}/authorize
Authorizes a later cardless payment transaction.
authorizeCardlessPayment 14 params body → 200401404409500
POST
/pay/{merchantId}/cardless
Initiate a cardless payment transaction.
cardlessPayment 14 params body → 201401404500
POST
/pay/{merchantId}/cardbased/{cardBasedTransactionType}
Initiate a card based payment transaction.
cardbasedPayment 15 params body → 200500503
PUT
/pay/{merchantId}/confirm/{transactionId}
Confirm a payment transaction
confirmPayment 15 params → 200401404405500
GET
/{merchantId}/payments
Retrive a set of payment transactions.
transactions 17 params → 200400401500
DELETE
/payments/{merchantId}/{transactionId}
Cancel a payment transaction.
cancel 15 params → 200401404405500
PUT
/payments/{merchantId}/{transactionId}
Refund a payment transaction.
refund 15 params body → 200401404405500
GET
/payments/{merchantId}/{transactionId}
Retrive the details and state of a certain payment transaction.
transactionDetails 16 params → 200401404500
Accessibility API 1
GET
/pkiKey
Retrive the public (RSA) key of the server system.
pki → 200500
Device API 5
GET
/{merchantId}/devices
Get all devices of a certain merchant.
getDevices 10 params → 200401404500
POST
/device/{merchantId}/{terminalId}
Create a payment device such as a POS terminal or a mobile device.
initializeDevice 14 params body → 201401404500
PUT
/device/{merchantId}/{terminalId}
Update a payment device such as a POS terminal or a mobile device.
updateDevice 14 params body → 200401404500
GET
/device/{merchantId}/{terminalId}
Get device info of a payment device such as a POS terminal or a mobile device.
getDevice 14 params → 200401404500
DELETE
/device/{merchantId}/{terminalId}
Delete a payment device such as a POS terminal or a mobile device.
deleteDevice 14 params → 200401404500

Schemas 71

The contract defines 71 schemas that model the data the API accepts and returns. The most detailed are ExtendedTransactionData (12 properties), CardbasedPaymentTransactionData (11 properties), TransactionData (9 properties), CardData (8 properties). Each schema is shown below with its type and property counts.

Error
object
The error property is optional. It is set only if an error has been detected.
4 properties
CardBasedError
DetailedResponseCode
string
PKIPublicKey
object
A public (RSA) key.
2 properties 2 required
KeyValuePair
object
A key value pair to store/retrieve a key and a value as strings in a generic way. Used in some API calls/objects.
2 properties 2 required
Date
string
The date pattern is defined "YYYY-MM-DD", with YYYY as 4-digit year, MM as 2-digit month and DD as 2-digit day of month. Date string as defined by date-time -…
MsisdnString
string
The numbers must start with a plus sign, followed by the country code and national number regarding ITU-T E.123 and ITU-T E.164 Phone numbers cannot contain mo…
MSISDN
object
1 property 1 required
CountryCode
string
Refer to ISO Codes https://en.wikipedia.org/wiki/ISO3166-1numeric https://en.wikipedia.org/wiki/ISO3166-1alpha-3
BIN
string
The Bank Identification Number (BIN) under which, e.g. the Visa Direct solution is registered.
BusinessApplicationId
string
This description refers to VISA Direct, but can be used also for other purposes. As used if the payment provider is VISA Direct: - Identifies the programs' bus…
MerchantCategoryCode
string
Conditional. If provided, then the value overrides the one present in onboarding data. If the merchantCategoryCode value is not populated in onboarding data th…
PanEntryMode
string
An identifier that identifies the method used to enter the cardholder account number and card expiration date. This code specifies e.g. whether the entire magn…
PinEntryMode
string
An identifier that identifies the method used to enter the cardholders PIN. Please take a look into the TM programmer manual to discover: com.dieboldnixdorf.tx…
SourceOfFundsCode
string
Depends on the payment provider! For example, if VISA Direct is used as the payment provider, the following explanation is valid: minLength: 2 maxLength: 2 Con…
Amount
object
The basic type of an amount.
2 properties 2 required
OrderItemData
object
Details of an order item. The refered amounts are: total: Line total unitPrice: Unit price discount: Discount amount
8 properties 4 required
PaymentAuthorizationData
object
The basic type of an amount.
2 properties 2 required
TransactionData
object
9 properties 2 required
CardbasedTransactionData
CardData
object
Contains all card or account related data, which are used and specific for a card based payment. Attention! If parameter 'sessionKey' is set in the request hea…
8 properties 1 required
PointOfServiceData
object
Contains a code identifying transaction conditions at the point-of-sale or point of service. For messages that follow an original request, this code identifies…
6 properties 3 required
CardbasedTransactionTypes
string
The type of a card based transaction, which can be one of the following: moneyTransferCredit moneyTransferDebit purchase
PaymentProvider
string
The identifier of the payment provider. The payment provider 'TM' indicates, that the transaction middleware server - aka. the TM server - should decide which…
TransactionStatus
string
The last known state of a transaction. Name Description NEW The transaction is initiated/in progress but the backend has not yet been called or the backend has…
TransactionIdentifier
string
A unique identifier of a transaction in the PI-API backend domain. This transaction number must not be confused with the merchantTransactionId. This PI-API tra…
PaymentProviderTransactionIdentifier
string
The transactionId in the payment providers domain/eco-system.
UserAuthorizationData
object
These data are used to identify and authorize the cardless payment request.
4 properties 2 required
AccountNumber
string
The account number. The length varies greatly. In Europe defined by ISO 13616/2007 See also: https://en.wikipedia.org/wiki/InternationalBankAccountNumber In ca…
SwiftCode
string
Contains the BIC (aka. bank identifier code) The BIC - also known as SWIFT-code - as defined by ISO 9362 is required in/for cross border transfers/transactions…
AccountType
string
The default account type is 820000 (NOTSPECIFIED).
AcquirerInformation
object
2 properties 2 required
ParticipantInformation
object
5 properties
BaseAddress
object
5 properties
Address
PaymentFacilitator
object
4 properties 3 required
CardAcceptorAddress
CardAcceptor
object
These data describes the card acceptor of this transaction.
5 properties 3 required
TransactionParticipant
CardlessPaymentTransactionData
object
2 properties 2 required
CardbasedPaymentTransactionData
object
11 properties 1 required
ExtendedTransactionData
object
12 properties 6 required
DeviceData
object
This data contains all information about an external devices such as an POS or mobile device
4 properties 2 required
InitiateMerchantSessionRequest
object
The InitiateMerchantSessionRequest is used to initiate a merchant session in front of a payment request for token based payment like Apple Pay or Google Pay.
1 property 1 required
CreditBalanceRequest
object
The CreditBalanceRequest is used to return the available credit balance
1 property 1 required
CreditBalanceResponse
object
The CreditBalanceResponse contains the available (credit) amount.
2 properties 1 required
AuthorizePaymentRequest
object
The AuthorizePaymentRequest is used to initiate a authorization of a payment request from the cashiers desk.
1 property 1 required
InitiateCardlessPaymentRequest
object
The initiatePaymentRequest is used to initiate a payment request from the cashiers desk to the payment provider. The transactionId return in the initiatePaymen…
1 property 1 required
InitiateCardBasedPaymentRequest
object
The initiatePaymentRequest is used to initiate a payment request from the cashiers desk to the payment provider. The transactionId return in the initiatePaymen…
1 property 1 required
CardbasedPaymentBaseResponse
object
The InitiateCardBasedPaymentResponse contains some information's from the payment provider.
4 properties 3 required
InitiateCardBasedPaymentResponse
CardbasedDetailsResponse
InitiatePaymentResponse
object
The InitiatePaymentResponse contains more or less only the PI-API transaction number.
2 properties
CancelResponse
object
The CancelPaymentResponse contains more or less only the retryFlag
2 properties
RefundRequest
object
The refundPaymentRequest is used to refund an already processed payment.
4 properties 2 required
RefundResponse
object
The Refund Response contains more or less only the link to the transaction
1 property
ConfirmResponse
object
The Confirm Response contains more or less only the link to the transaction
1 property
TransactionDetailsResponse
object
The GetTransactionsResponse contains a set of already processed payment transactions in the given timeframe.
1 property 1 required
PKIKeyResponse
object
The GetTransactionsResponse contains a set of already processed payment transactions in the given timeframe.
1 property 1 required
InitiateMerchantSessionResponse
object
The GetTransactionsResponse contains a set of already processed payment transactions in the given timeframe.
1 property 1 required
CreateDeviceRequest
object
This request creates and initializes an external device such as a mobile device or a POS terminal.
1 property 1 required
UpdateDeviceRequest
object
This request creates and initializes an external device such as a mobile device or a POS terminal.
1 property 1 required
DevicesResponse
object
The Transaction Response contains an array with links to the transactions
1 property 1 required
DeviceInfoResponse
object
The Returns the device info.
1 property 1 required
ParticipantName
object
3 properties
ParticipantIdentification
object
4 properties 2 required
ParticipantAncillaryDetails
OwnerType
string
This field identifies if an entity is for a business or an individual.
CurrencyExchangeRate
object
2 properties 2 required
SettlementInfo
object
2 properties 1 required
ProcessingType
object
2 properties 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

diebold-dn-payment-initiation-api-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of DN Payment Initiation API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.