simpay-api (1.0.0)
https://docs.simpay.pl/_mock/en/apis/
https://api.simpay.pl/
- Mock server
https://docs.simpay.pl/_mock/en/apis/payment
https://api.simpay.pl/payment
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.simpay.pl/_mock/en/apis/payment \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "success": true, "data": [ { … } ], "pagination": { "total": 1, "count": 1, "per_page": 15, "current_page": 1, "total_pages": 1, "links": { … } } }
- Mock server
https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}
https://api.simpay.pl/payment/{serviceId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "success": true, "data": { "id": "d151e4f9", "name": "Test service", "status": "service_active", "created_at": "2021-11-08T18:19:16+01:00" } }
- Mock server
https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/channels
https://api.simpay.pl/payment/{serviceId}/channels
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/channels' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "success": true, "data": [ { … }, { … } ] }
- Mock server
https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/transactions
https://api.simpay.pl/payment/{serviceId}/transactions
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/transactions' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
Transaction ID
Transaction status
{ "success": true, "data": [ { … }, { … } ], "pagination": { "total": 2, "count": 2, "per_page": 15, "current_page": 1, "total_pages": 1, "links": { … } } }
Transaction description given by the partner, presented on the payment gateway
In this field you can send the channel ID, then the payer will be redirected directly to the page of the given channel For example, if you enter blik
, you will be redirected directly to the BLIK payment gateway. In this case, it is necessary to send antifraud.useragent
and customer.ip
.
Array with payment channel IDs that will be displayed to the payer on the gateway after redirection to the transaction url
A list of available channels along with their IDs can be obtained here Retrieving a list of channels for the service
Object in which we can define which channel types should be available on the payment gateway
- Mock server
https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/transactions
https://api.simpay.pl/payment/{serviceId}/transactions
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/transactions' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"amount": 1,
"currency": "PLN",
"description": "string",
"control": "string",
"customer": {
"name": "string",
"email": "user@example.com",
"ip": "string",
"countryCode": "PL"
},
"antifraud": {
"useragent": "string",
"steamid": 0,
"mcusername": "string",
"mcid": "string"
},
"billing": {
"name": "string",
"surname": "string",
"street": "string",
"building": "string",
"flat": "string",
"city": "string",
"region": "string",
"postalCode": "string",
"country": "string",
"company": "string"
},
"shipping": {
"name": "string",
"surname": "string",
"street": "string",
"building": "string",
"flat": "string",
"city": "string",
"region": "string",
"postalCode": "string",
"country": "string",
"company": "string"
},
"cart": [
{
"name": "string",
"quantity": 1,
"price": 0.01,
"producer": "string",
"category": "string",
"code": "string"
}
],
"returns": {
"success": "string",
"failure": "string"
},
"directChannel": "string",
"channels": [
"string"
],
"channelTypes": {
"blik": true,
"transfer": true,
"cards": true,
"ewallets": true,
"paypal": true,
"paysafe": true,
"latam": true
},
"referer": "string"
}'
{ "success": true, "data": { "transactionId": "1d87a1b3-18f8-4146-bcb1-c0c9f293b04f", "redirectUrl": "https://pay.simpay.pl/1d87a1b3-18f8-4146-bcb1-c0c9f293b04f" } }
- Mock server
https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/transactions/{transactionId}
https://api.simpay.pl/payment/{serviceId}/transactions/{transactionId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/transactions/{transactionId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
Transaction ID
Transaction identifier shared with the payer
Transaction status
Commission currency (PLN/EUR)
{ "success": true, "data": { "id": "328bd42d-d08b-43f6-9463-869e5bd32b4", "payer_transaction_id": "477YDX14", "status": "transaction_paid", "amount": { … }, "channel": "nest", "control": null, "description": null, "redirect": { … }, "customer": { … }, "billing": { … }, "shipping": { … }, "cart": null, "paid_at": "2023-12-07T05:21:50+01:00", "expires_at": null, "created_at": "2023-12-07T05:20:30+01:00", "updated_at": "2023-12-07T05:21:50+01:00" } }
- Mock server
https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/currencies
https://api.simpay.pl/payment/{serviceId}/currencies
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/currencies' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
{ "success": true, "data": [ { … }, { … }, { … } ] }
- Mock server
https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/blik/level0/{transactionId}
https://api.simpay.pl/payment/{serviceId}/blik/level0/{transactionId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.simpay.pl/_mock/en/apis/payment/{serviceId}/blik/level0/{transactionId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"ticket": {
"T6": "123123"
}
}'
Request
THE TEXT BELOW PRESENTS IPN V1, WHICH WILL BE REMOVED ON FEBRUARY 1, 2026. SEE IPN V2:
https://docs.simpay.pl/en/notifications/payment
Signature
Calculating the signature when receiving a notification
We generate the signature by combining all the parameters received (except for the signature) to the API in the order from the table above, separating them with a | separator and adding at the end the key available in the customer panel in the service.
Hashing must be done using sha256.
Example for a paid transaction using the declared currency:
dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a|e14f8074|transaction_paid|10|PLN|9.9|88643ada8857f25a1f391395f922f7db|blik|production|key
Example for a paid transaction using a different currency than declared:
dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a|e14f8074|transaction_paid|4.31|PLN|0.06|88643ada8857f25a1f391395f922f7db|blik|production|1.00|EUR|4.3123|key
The notification is sent using the POST
method and requires you to respond in the body with OK
and Http Code 200
.
Transaction ID
Transaction status
Billing object
Information about the original currency and amount. Object sent only when the payer changed the currency on the payment gateway.
Notification signature. Signature calculation shown above.
The partner is obliged to verify the signature upon receiving the notification, you can also make a request to the endpoint Retrieving transaction details
- Mock server
https://docs.simpay.pl/_mock/en/apis/paymentTransactionNotification
https://api.simpay.pl/paymentTransactionNotification
{ "id": "dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a", "service_id": "e14f8074", "status": "transaction_paid", "amount": { "value": 10, "currency": "PLN", "commission": 9.9 }, "control": "88643ada8857f25a1f391395f922f7db", "channel": "blik", "environment": "production", "signature": "a3116cf4f1e960223c2cc3088bf387278b6675255209bdeaf96a2f316a2fadc1" }
OK