simpay-api (1.0.0)

Download OpenAPI description
Languages
Servers
Mock server

https://docs.simpay.pl/_mock/apis/

https://api.simpay.pl/

SMS

Operations

DirectBilling

OperationsWebhooks

Pobieranie listy usług

Request

Security
bearerAuth
curl -i -X GET \
  https://docs.simpay.pl/_mock/apis/directbilling \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
successbooleanrequired

Request status

Example: true
dataArray of objects(directbillingServiceItem)required
Example: [{"id":"d151e4f9","name":"Usługa testowa","suffix":"Test1","status":"service_active","created_at":"2021-11-08T18:19:16+01:00"}]
data[].​idstring(ServiceId)= 8 characters^[0-9a-f]{8}$required

Id usługi

data[].​namestringrequired

Nazwa usługi

data[].​suffixstringrequired

Tytuł w raporcie

data[].​statusstring(ServiceStatus)required

Status usługi

Enum"service_new""service_active""service_blocked""service_rejected""service_verify""service_ongoing_registration"
data[].​created_atstring(date-time)(DateTime)required

Data utworzenia w formacie: ISO 8601

paginationobject(Pagination)required
pagination.​totalintegerrequired

Liczba wszystkich rekordów

Example: 1
pagination.​countintegerrequired

Liczba rekordów na danej stronie

Example: 1
pagination.​per_pageintegerrequired

Maksymalna ilość rekordów na strone

Example: 15
pagination.​current_pageintegerrequired

Aktualna strona

Example: 1
pagination.​total_pagesintegerrequired

Ilość stron

Example: 1
pagination.​linksobjectrequired

Adresy URL do stron

pagination.​links.​next_pagestring or null(url)required

Adres URL do następnej strony

Example: null
pagination.​links.​prev_pagestring or null(url)required

Adres URL do poprzedniej strony

Example: null
Response
application/json
{ "success": true, "data": [ {} ], "pagination": { "total": 1, "count": 1, "per_page": 15, "current_page": 1, "total_pages": 1, "links": {} } }

Pobieranie informacji o usłudze

Request

Security
bearerAuth
Path
serviceIdstring(ServiceId)= 8 characters^[0-9a-f]{8}$required

Id usługi

curl -i -X GET \
  'https://docs.simpay.pl/_mock/apis/directbilling/{serviceId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
successbooleanrequired

Request status

Example: true
dataobjectrequired
Example: {"id":"d151e4f9","name":"Usługa testowa","suffix":"Test1","status":"service_active","created_at":"2021-11-08T18:19:16+01:00"}
data.​idstring(ServiceId)= 8 characters^[0-9a-f]{8}$

Id usługi

data.​namestring

Nazwa usługi

Example: "Usługa testowa"
data.​suffixstring

Tytuł w raporcie

Example: "Test1"
data.​statusstring(ServiceStatus)

Status usługi

Enum"service_new""service_active""service_blocked""service_rejected""service_verify""service_ongoing_registration"
data.​created_atstring(date-time)(DateTime)

Data utworzenia w formacie: ISO 8601

Response
application/json
{ "success": true, "data": { "id": "d151e4f9", "name": "Usługa testowa", "suffix": "Test1", "status": "service_active", "created_at": "2021-11-08T18:19:16+01:00" } }

Kalkulacja prowizji

Request

Security
bearerAuth
Path
serviceIdstring(ServiceId)= 8 characters^[0-9a-f]{8}$required

Id usługi

Query
amountnumber(float)required

Kwota jaką chcemy otrzymać “na czysto”

curl -i -X GET \
  'https://docs.simpay.pl/_mock/apis/directbilling/{serviceId}/calculate?amount=0.1' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
successbooleanrequired

Request status

Example: true
dataobjectrequired
Example: {"orange":{"net":285.72,"gross":351.44},"play":{"net":285.72,"gross":351.44},"t-mobile":null,"plus":null}
data.​orangeobject or null(directbillingCalculationOperatorItem)required
data.​orange.​netnumber(float)
data.​orange.​grossnumber(float)
data.​playobject or null(directbillingCalculationOperatorItem)required
data.​play.​netnumber(float)
data.​play.​grossnumber(float)
data.​t-mobileobject or null(directbillingCalculationOperatorItem)required
data.​t-mobile.​netnumber(float)
data.​t-mobile.​grossnumber(float)
data.​plusobject or null(directbillingCalculationOperatorItem)required
data.​plus.​netnumber(float)
data.​plus.​grossnumber(float)
Response
application/json
{ "success": true, "data": { "orange": {}, "play": {}, "t-mobile": null, "plus": null } }

Pobieranie listy transakcji

Request

Security
bearerAuth
Path
serviceIdstring(ServiceId)= 8 characters^[0-9a-f]{8}$required

Id usługi

Query
filter[status]string(directbillingTransactionStatus)

Status transakcji

Enum"transaction_db_new""transaction_db_confirmed""transaction_db_payed""transaction_db_rejected"
filter[phoneNumber]string

Numer telefonu z jakiego została przeprowadzona trasnakcja

Example: filter[phoneNumber]=48123123123
filter[control]string

Pole kontrolne z systemu partnera

curl -i -X GET \
  'https://docs.simpay.pl/_mock/apis/directbilling/{serviceId}/transactions?filter%5Bcontrol%5D=string&filter%5BphoneNumber%5D=48123123123&filter%5Bstatus%5D=transaction_db_new' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
successbooleanrequired

Request status

Example: true
dataArray of objects(directbillingTransactionItem)required
Example: [{"id":"dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a","status":"transaction_db_payed","value":0.34,"value_netto":0.24,"created_at":"2023-02-16T14:52:11+01:00","updated_at":"2023-02-16T14:52:11+01:00"}]
data[].​idstring(ServiceId)= 8 characters^[0-9a-f]{8}$required

Id usługi

data[].​statusstring(directbillingTransactionStatus)required

Status transakcji

Enum"transaction_db_new""transaction_db_confirmed""transaction_db_payed""transaction_db_rejected"
data[].​valuenumber(float)required
data[].​value_nettonumber(float)required
data[].​operatorstringrequired
data[].​created_atstring(date-time)(DateTime)required

Data utworzenia w formacie: ISO 8601

data[].​updated_atstring(date-time)(DateTime)required

Data utworzenia w formacie: ISO 8601

paginationobject(Pagination)required
pagination.​totalintegerrequired

Liczba wszystkich rekordów

Example: 1
pagination.​countintegerrequired

Liczba rekordów na danej stronie

Example: 1
pagination.​per_pageintegerrequired

Maksymalna ilość rekordów na strone

Example: 15
pagination.​current_pageintegerrequired

Aktualna strona

Example: 1
pagination.​total_pagesintegerrequired

Ilość stron

Example: 1
pagination.​linksobjectrequired

Adresy URL do stron

pagination.​links.​next_pagestring or null(url)required

Adres URL do następnej strony

Example: null
pagination.​links.​prev_pagestring or null(url)required

Adres URL do poprzedniej strony

Example: null
Response
application/json
{ "success": true, "data": [ {} ], "pagination": { "total": 1, "count": 1, "per_page": 15, "current_page": 1, "total_pages": 1, "links": {} } }

Generowanie transakcji

Request

Security
bearerAuth
Path
serviceIdstring(ServiceId)= 8 characters^[0-9a-f]{8}$required

Id usługi

Bodyapplication/json
One of:
amountnumber(float)required

Kwota transakcji

Example: 19.99
amountTypestring

Typ kwoty transakcji

  • required - ryczałtowa kwota jaką chce uzykać partner, końcowa kwota do zapłaty będzie widoczna na bramce i zależna od operatora
  • net - kwota netto
  • gross - kwota brutto
Default "gross"
Enum"required""net""gross"
Example: "gross"
descriptionstring<= 128

Opis transakcji widoczny na bramce płatniczej

Example: "Płatność za wirtualne produkty"
controlstring<= 128

Parametr do wykorzystania przez partnera w celu np. identyfikacji transakcji

Example: "96125f23-d549-4bfc-a845-b781b5f1ad03"
returnsobject

Adresy URL do przekierowania klienta po transakcji

Example: {"success":"https://www.simpay.pl/success","failure":"https://www.simpay.pl/failure"}
phoneNumberstring

Wymuszony numer telefonu

Example: "48123123123"
steamidstring(steamId64)

Opcjonalne pole ( steamid64 )

curl -i -X POST \
  'https://docs.simpay.pl/_mock/apis/directbilling/{serviceId}/transactions' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "amount": 19.99,
    "amountType": "gross",
    "description": "Płatność za wirtualne produkty",
    "control": "96125f23-d549-4bfc-a845-b781b5f1ad03",
    "returns": {
      "success": "https://www.simpay.pl/success",
      "failure": "https://www.simpay.pl/failure"
    },
    "phoneNumber": "48123123123"
  }'

Responses

Bodyapplication/json
successbooleanrequired

Request status

Example: true
dataobjectrequired
Example: {"transactionId":"1d87a1b3-18f8-4146-bcb1-c0c9f293b04f","redirectUrl":"https://db.simpay.pl/1d87a1b3-18f8-4146-bcb1-c0c9f293b04f"}
data.​transactionIdstring(uuid)(TransactionId)= 36 characters^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...required

Id transakcji

data.​redirectUrlstring(url)required
Example: "https://db.simpay.pl/1d87a1b3-18f8-4146-bcb1-c0c9f293b04f"
Response
application/json
{ "success": true, "data": { "transactionId": "1d87a1b3-18f8-4146-bcb1-c0c9f293b04f", "redirectUrl": "https://db.simpay.pl/1d87a1b3-18f8-4146-bcb1-c0c9f293b04f" } }

Pobieranie informacji o transakcji

Request

Security
bearerAuth
Path
serviceIdstring(ServiceId)= 8 characters^[0-9a-f]{8}$required

Id usługi

transactionIdstring(uuid)(TransactionId)= 36 characters^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...required

Id transakcji

curl -i -X GET \
  'https://docs.simpay.pl/_mock/apis/directbilling/{serviceId}/transactions/{transactionId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
successbooleanrequired

Request status

Example: true
dataobjectrequired
Example: {"id":"dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a","status":"transaction_db_payed","phoneNumber":null,"control":"1d87a1b3-18f8-4146-bcb1-c0c9f293b04f","value":16.67,"value_netto":10,"operator":"t-mobile","notify":{"is_send":false,"last_send_at":"2023-02-16T14:52:11+01:00","count":1},"created_at":"2023-02-16T14:52:11+01:00","updated_at":"2023-02-16T14:52:11+01:00"}
data.​idstring(uuid)(TransactionId)= 36 characters^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...required

Id transakcji

data.​statusstring(directbillingTransactionStatus)required

Status transakcji

Enum"transaction_db_new""transaction_db_confirmed""transaction_db_payed""transaction_db_rejected"
data.​phoneNumberstring or null(phone)
data.​controlstring or null
Example: "1d87a1b3-18f8-4146-bcb1-c0c9f293b04f"
data.​valuenumber(float)required
Example: 16.67
data.​value_nettonumber(float)required
Example: 10
data.​operatorstring or null
Enum"orange""plus""play""t-mobile"
Example: "t-mobile"
data.​notifyobjectrequired
Example: {"is_send":false,"last_send_at":"2023-02-16T14:52:11+01:00","count":1}
data.​notify.​is_sendbooleanrequired
data.​notify.​last_send_atstring(date-time)(DateTime)required

Data utworzenia w formacie: ISO 8601

data.​notify.​countintegerrequired
Example: 1
data.​created_atstring(date-time)(DateTime)required

Data utworzenia w formacie: ISO 8601

data.​updated_atstring(date-time)(DateTime)required

Data utworzenia w formacie: ISO 8601

Response
application/json
{ "success": true, "data": { "id": "dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a", "status": "transaction_db_payed", "phoneNumber": null, "control": "1d87a1b3-18f8-4146-bcb1-c0c9f293b04f", "value": 16.67, "value_netto": 10, "operator": "t-mobile", "notify": {}, "created_at": "2023-02-16T14:52:11+01:00", "updated_at": "2023-02-16T14:52:11+01:00" } }

Odbieranie informacji o transakcji DirectBillingWebhook

Request

Sygnatura

Obliczanie sygnatury przy odbieraniu notyfikacji

Sygnature generujemy za pomocą zestawienia ze sobą wszystkich odebranych parametrów (oprócz signature) do API w kolejności z dostępnej powyżej tabli oddzielając je seperatorem | i dodając na końcu klucz dostępny w panelu klienta w usłudze.
Hashowanie musi odbyć się za pomocą sha256.
Przykład:
dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a|e14f8074|transaction_db_payed|11.07|13.67|5.00|https://www.simpay.pl/complete|https://www.simpay.pl/failure|test|123123123|1|klucz

Notyfikacja wysyłana jest metodą POST i wymaga od Ciebie odpowiedzi w body OK oraz Http Code 200

Bodyapplication/json
idstring(uuid)(TransactionId)= 36 characters^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...required

Id transakcji

serviceIdstring(ServiceId)= 8 characters^[0-9a-f]{8}$required

Id usługi

statusstring(directbillingTransactionStatus)required

Status transakcji

Enum"transaction_db_new""transaction_db_confirmed""transaction_db_payed""transaction_db_rejected"
valuesobjectrequired

Kwoty transakcji

Example: {"net":11.07,"gross":13.61,"partner":5}
values.​netnumber(float)required

Kwota transakcji netto

Example: 11.07
values.​grossnumber(float)required

Kwota transakcji brutto

Example: 13.61
values.​partnernumber(float)required

Prowizja dla partnera z transakcji

Example: 5
returnsobject
Example: {"complete":"https://www.simpay.pl/complete","failure":"https://www.simpay.pl/failure"}
controlstring
number_fromstringrequired

Numer telefonu z jakiego została przeprowadzona transakcja

Example: "48123123123"
providerintegerrequired
Example: 1
signaturestringrequired
Example: "a3116cf4f1e960223c2cc3088bf387278b6675255209bdeaf96a2f316a2fadc1"
application/json
{ "id": "dc261d4f-31ef-4728-bfd6-97bbe2a5ef0a", "serviceId": "e14f8074", "status": "transaction_db_payed", "values": { "net": 11.07, "gross": 13.61, "partner": 5 }, "returns": { "complete": "https://www.simpay.pl/complete", "failure": "https://www.simpay.pl/failure" }, "number_from": "48123123123", "provider": 1, "signature": "a3116cf4f1e960223c2cc3088bf387278b6675255209bdeaf96a2f316a2fadc1" }

Responses

Return a 200 status to indicate that the data was received successfully

Bodytext/plain
string
Default "OK"
Response
text/plain
OK

Płatności online

OperationsWebhooks