1. Overview
This document describes the integration between PDM and Satispay. The process also involves PDM.control as a service provider.
1.1. PDM
The handling of value master requests is implemented using the real-time request framework developed earlier (Real-time multi request).
2. Functions
The available functions were selected based on One-off - Dynamic Code workflow.
2.1. Create Payment
Request create payment (69) initiates a new payment on the Satispay system.
Refer to Create payment in Satispay documentation.
The command initiates MATCH_CODE flow.
As a result, a unique string which can be used as the content of a QR code is generated.
This can be scanned by the Satispay app and used for payment.
To initiate a payment, PDM must use request 69. It can have the following parameters:
-
amount(required) - The amount of money to pay. Scaled up according toDPA. -
idempotencyKey(optional) - A unique ID for retry. Refer to idempotency. -
parkStart(required) - Start of parking. E.g.2025-1022T11:27:31 -
parkEnd(required) - Start of parking. E.g.2025-1022T15:27:31
The currency is taken from WKZ mnemonic.
{
"REQ":69,
"amount":50,
"idempotencyKey":"7a0de174-c2a0-4223-8292-93ede11de4a8",
"parkStart": "2025-10-22T11:27:31",
"parkEnd": "2025-10-22T15:27:31"
}
The response to this request contains the response from Satispay, with some uninteresting parts removed to make the response shorter.
{
"REQ":69,
"body": {
"id": "019a0bd1-b123-71a6-b287-a404e2e61aaa",
"code_identifier": "S6Y-PAY--019A0BD1-B123-71A6-B287-A404E2E61AAA",
"type": "TO_BUSINESS",
"amount_unit": 50,
"currency": "EUR",
"status": "PENDING",
"expired": false,
"sender": {
"type": "CONSUMER"
},
"insert_date": "2025-10-22T12:08:03.117Z",
"expire_date": "2025-10-22T14:08:03.113Z",
"flow": "CHARGE",
},
"statusCode": 200
}
{
"REQ":69,
"statusCode": 401,
"body": {
"code": 34,
"message": "Unauthorized",
"wlt": "ImZwz3cu"
}
}
Refer to Refunds:
2.2. Get Payment Details
Request get payment details (70) provides detailed information about an existing payment. Refer to Get payment in Satispay documentation.
Use the content of the id field from the create payment response to reference the payment for which to get information.
To initiate the function, PDM must use request 70. It can have the following parameters:
-
paymentId(required) - The payment ID to get information about. Use the content of theidfield from the create payment response. -
responseWaitTime(optional) - Specifies the duration, in seconds, for which the HTTP call will be hanging, waiting for a payment status change. The maximum allowed value is 60 seconds. Value 0 cal be also set. It means, that call returns immediately with current state without waiting for payment status change.
{
"REQ":70,
"paymentId":"019a0bd1-b123-71a6-b287-a404e2e61aaa",
"responseWaitTime": 42
}
Responses to this request have the same form and contain the same information as responses to request Create Payment. Refer to Example of Successful Response and Example of Error Answer.
2.3. Cancel or refund payment
Request cancel or refund payment (71) allows to cancel an existing payment and return money to customer.
Refer to Update payment in Satispay documentation.
This function initiates CANCEL_OR_REFUND flow.
To initiate the function, PDM must use request 70. It can have the following parameters:
-
paymentId(required) - The payment ID to get information about. Use the content of the
{
"REQ":71,
"paymentId":"019a0bd1-b123-71a6-b287-a404e2e61aaa"
}
Responses to this request have the same form and contain the same information as responses to request Create Payment. Refer to Example of Successful Response and Example of Error Answer.