# simpay-api

[English version](/en/apis)

Version: 1.0.0

## Servers

```
https://api.simpay.pl
```

## Security

### bearerAuth

Type: http
Scheme: bearer

## Download OpenAPI description

[simpay-api](https://docs.simpay.pl/_bundle/apis/index.yaml)

## SMS

### Lista usług

 - [GET /sms](https://docs.simpay.pl/apis/sms/smsservicelist.md): Pobieranie listy dostępnych usług SMS na koncie

### Pobieranie informacji o usłudze

 - [GET /sms/{serviceId}](https://docs.simpay.pl/apis/sms/smsserviceshow.md)

### Weryfikacja poprawności kodu

 - [POST /sms/{serviceId}](https://docs.simpay.pl/apis/sms/smsservicecheckcode.md)

### Pobieranie listy transakcji

 - [GET /sms/{serviceId}/transactions](https://docs.simpay.pl/apis/sms/smstransactionslist.md)

### Pobieranie informacji o transakcji

 - [GET /sms/{serviceId}/transactions/{transactionId}](https://docs.simpay.pl/apis/sms/smstransactionsshow.md)

### Pobieranie informacji o numerach dla usługi

 - [GET /sms/{serviceId}/numbers](https://docs.simpay.pl/apis/sms/smsservicenumbers.md)

### Pobieranie informacji o numerze dla usługi

 - [GET /sms/{serviceId}/numbers/{number}](https://docs.simpay.pl/apis/sms/smsservicenumber.md)

### Pobieranie wszystkich dostępnych numerów

 - [GET /sms/numbers](https://docs.simpay.pl/apis/sms/smsnumbers.md)

### Pobieranie numeru

 - [GET /sms/numbers/{number}](https://docs.simpay.pl/apis/sms/smsnumber.md)

## DirectBilling

### Pobieranie listy usług

 - [GET /directbilling](https://docs.simpay.pl/apis/directbilling/directbillinggetservices.md)

### Pobieranie informacji o usłudze

 - [GET /directbilling/{serviceId}](https://docs.simpay.pl/apis/directbilling/directbillingservice.md)

### Kalkulacja prowizji

 - [GET /directbilling/{serviceId}/calculate](https://docs.simpay.pl/apis/directbilling/directbillingservicecalculate.md)

### Pobieranie listy transakcji

 - [GET /directbilling/{serviceId}/transactions](https://docs.simpay.pl/apis/directbilling/directbillingtransactions.md)

### Generowanie transakcji

 - [POST /directbilling/{serviceId}/transactions](https://docs.simpay.pl/apis/directbilling/directbillingtransactioncreate.md)

### Pobieranie informacji o transakcji

 - [GET /directbilling/{serviceId}/transactions/{transactionId}](https://docs.simpay.pl/apis/directbilling/directbillingtransaction.md)

### Odbieranie informacji o transakcji DirectBilling

 - [POST directbillingTransactionNotification](https://docs.simpay.pl/apis/directbilling/directbillingtransactionnotification.md): # 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

## Płatności online

### Pobieranie listy usług

 - [GET /payment](https://docs.simpay.pl/apis/payment/paymentgetservices.md)

### Pobieranie szczegółów usługi

 - [GET /payment/{serviceId}](https://docs.simpay.pl/apis/payment/paymentgetservice.md)

### Pobieranie listy kanałów dla usługi

 - [GET /payment/{serviceId}/channels](https://docs.simpay.pl/apis/payment/paymentgetchannels.md)

### Pobieranie listy transakcji

 - [GET /payment/{serviceId}/transactions](https://docs.simpay.pl/apis/payment/paymentgettransactions.md)

### Generowanie transakcji

 - [POST /payment/{serviceId}/transactions](https://docs.simpay.pl/apis/payment/paymenttransactioncreate.md)

### Pobieranie szczegółów transakcji

 - [GET /payment/{serviceId}/transactions/{transactionId}](https://docs.simpay.pl/apis/payment/paymentgettransaction.md)

### Pobieranie listy zwrotów dla transakcji

 - [GET /payment/{serviceId}/transactions/{transactionId}/refunds](https://docs.simpay.pl/apis/payment/paymentgettransactionrefunds.md)

### Utworzenie zwrotu dla transakcji

 - [POST /payment/{serviceId}/transactions/{transactionId}/refunds](https://docs.simpay.pl/apis/payment/paymentmaketransactionrefund.md)

### Pobieranie pojedynczego zwrotu w transakcji

 - [GET /payment/{serviceId}/transactions/{transactionId}/refunds/{refundId}](https://docs.simpay.pl/apis/payment/paymenttransactionrefundshow.md)

### Pobieranie listy walut dla usługi

 - [GET /payment/{serviceId}/currencies](https://docs.simpay.pl/apis/payment/paymentgetcurrencies.md)

### Podanie kodu BLIK do transakcji Level 0

 - [POST /payment/{serviceId}/blik/level0/{transactionId}](https://docs.simpay.pl/apis/payment/paymentbliklevel0.md): Zobacz https://docs.simpay.pl/payment/blik-level0 po więcej informacji.

### Pobieranie listy subskrypcji

 - [GET /payment/{serviceId}/subscriptions](https://docs.simpay.pl/apis/payment/paymentsubscriptionindex.md): Zobacz https://docs.simpay.pl/payment/blik-recurrent po więcej informacji.

### Utworzenie subskrypcji

 - [POST /payment/{serviceId}/blik/subscriptions](https://docs.simpay.pl/apis/payment/paymentbliksubscriptioncreate.md): Zobacz https://docs.simpay.pl/payment/blik-recurrent po więcej informacji.

### Dokonaj Płatności Powtarzalnej BLIK

 - [POST /payment/{serviceId}/blik/subscriptions/{subscriptionId}/autopayment](https://docs.simpay.pl/apis/payment/paymentbliksubscriptionexecuteautopayment.md): Zobacz https://docs.simpay.pl/payment/blik-recurrent po więcej informacji.

### Pobieranie listy aliasów BLIK

 - [GET /payment/{serviceId}/blik/aliases](https://docs.simpay.pl/apis/payment/paymentblikaliasesindex.md)

### Usuwanie/wyrejestrowanie aliasu

 - [DELETE /payment/{serviceId}/blik/aliases](https://docs.simpay.pl/apis/payment/paymentblikaliasunregister.md): Zobacz https://docs.simpay.pl/payment/blik-recurrent po więcej informacji.

### Odbieranie informacji o transakcji płatności online

 - [POST paymentTransactionNotification](https://docs.simpay.pl/apis/payment/paymenttransactionnotification.md): # Zapoznaj się z linkiem poniżej. Tam uzyskasz wszystkie szczegóły:
https://docs.simpay.pl/notifications/payment

## SimPay Flow

### Pobieranie listy usług Flow

 - [GET /flow](https://docs.simpay.pl/apis/flow/flowgetservices.md)

### Pobieranie usługi Flow

 - [GET /flow/{flowServiceId}](https://docs.simpay.pl/apis/flow/flowgetservice.md)

### Pobieranie listy submerchantów

 - [GET /flow/{flowServiceId}/submerchants](https://docs.simpay.pl/apis/flow/flowgetsubmerchants.md)

### Rejestracja submerchanta

 - [POST /flow/{flowServiceId}/submerchants](https://docs.simpay.pl/apis/flow/flowcreatesubmerchant.md): Tworzy konto submerchanta w ramach usługi Flow wraz z usługą Płatności Online.
Dla usług z rolą role_payment_service_provider obiekt service jest wymagany.

W odpowiedzi zwracany jest obiekt onboarding, który informuje o kolejnym kroku:
- redirect_user - należy przekierować użytkownika na redirectUrl, gdzie przejdzie onboarding w SimPay,
- provide_api - onboarding jest realizowany przez usługę Flow za pośrednictwem API.

### Pobieranie submerchanta

 - [GET /flow/{flowServiceId}/submerchants/{submerchantId}](https://docs.simpay.pl/apis/flow/flowgetsubmerchant.md)

### Rozpoczęcie onboardingu submerchanta

 - [POST /flow/{flowServiceId}/submerchants/{submerchantId}/onboardings](https://docs.simpay.pl/apis/flow/flowsubmerchantonboarding.md): Zwraca kolejny krok onboardingu submerchanta. Dla redirect_user generowany jest nowy link do onboardingu w SimPay.

### Generowanie linku do widgetu submerchanta

 - [POST /flow/{flowServiceId}/submerchants/{submerchantId}/widgets](https://docs.simpay.pl/apis/flow/flowsubmerchantwidget.md): Generuje jednorazowy link do widgetu panelu SimPay dla submerchanta. Link jest ważny przez 5 minut.
Limit: 5 żądań na minutę.

### Pobieranie kanałów płatności submerchanta

 - [GET /flow/{flowServiceId}/submerchants/{submerchantId}/payment-channels](https://docs.simpay.pl/apis/flow/flowgetsubmerchantpaymentchannels.md)

### Włączanie/wyłączanie kanałów płatności submerchanta

 - [PATCH /flow/{flowServiceId}/submerchants/{submerchantId}/payment-channels](https://docs.simpay.pl/apis/flow/flowupdatesubmerchantpaymentchannels.md): Włącza lub wyłącza kanały płatności. Kanały, które nie istnieją, nie są aktywne lub nie mają aktywnej prowizji Flow, są pomijane.

### Pobieranie kanałów płatności dostępnych do rejestracji

 - [GET /flow/{flowServiceId}/submerchants/{submerchantId}/payment-channels/available-for-registration](https://docs.simpay.pl/apis/flow/flowgetsubmerchantavailablepaymentchannels.md)

### Rejestracja kanału płatności

 - [POST /flow/{flowServiceId}/submerchants/{submerchantId}/payment-channels/register](https://docs.simpay.pl/apis/flow/flowregistersubmerchantpaymentchannel.md): Rejestruje kanał płatności dla submerchanta. Kanał po rejestracji jest wyłączony (enabled: false) - włącz go przez PATCH /payment-channels.
Kanały wymagające weryfikacji trafiają do weryfikacji przez SimPay.

Aby aktywować BLIK Level 0 + OneClick, podaj id: blik-level0-oneclick (wymaga aktywnego kanału blik-level0).

### Ustawianie adresu email PayPal Checkout

 - [PUT /flow/{flowServiceId}/submerchants/{submerchantId}/payment-channels/paypal](https://docs.simpay.pl/apis/flow/flowupdatesubmerchantpaypal.md)

### Pobieranie ustawień webhooków submerchanta

 - [GET /flow/{flowServiceId}/submerchants/{submerchantId}/webhooks](https://docs.simpay.pl/apis/flow/flowgetsubmerchantwebhooks.md)

### Aktualizacja webhooków submerchanta

 - [PATCH /flow/{flowServiceId}/submerchants/{submerchantId}/webhooks](https://docs.simpay.pl/apis/flow/flowupdatesubmerchantwebhooks.md): Ustawia własny adres URL webhooków (customUrl) lub przywraca domyślny adres z usługi Flow (useDefault).
Wymagany jest co najmniej jeden z obiektów flow lub payment. W obrębie obiektu customUrl i useDefault wykluczają się.

Przy pierwszym ustawieniu własnego adresu generowany jest nowy klucz webhooka, zwracany jednorazowo w odpowiedzi.

### Generowanie nowego klucza webhooków

 - [PATCH /flow/{flowServiceId}/submerchants/{submerchantId}/webhooks/key](https://docs.simpay.pl/apis/flow/flowupdatesubmerchantwebhookkey.md): Generuje nowy klucz dla własnego adresu webhooków. Wymaga wcześniejszego ustawienia customUrl.

### Pobieranie portfeli submerchanta

 - [GET /flow/{flowServiceId}/submerchants/{submerchantId}/finances](https://docs.simpay.pl/apis/flow/flowgetsubmerchantwallets.md)

### Pobieranie faktur prowizyjnych submerchanta

 - [GET /flow/{flowServiceId}/submerchants/{submerchantId}/finances/invoices](https://docs.simpay.pl/apis/flow/flowgetsubmerchantinvoices.md)

### Pobieranie portfela submerchanta

 - [GET /flow/{flowServiceId}/submerchants/{submerchantId}/finances/{walletId}](https://docs.simpay.pl/apis/flow/flowgetsubmerchantwallet.md)

### Aktualizacja ustawień portfela

 - [PATCH /flow/{flowServiceId}/submerchants/{submerchantId}/finances/{walletId}](https://docs.simpay.pl/apis/flow/flowupdatesubmerchantwallet.md): Aktualizuje język faktur oraz ustawienia wypłat portfela. Przesłanie obiektu withdraw nadpisuje wszystkie dotychczasowe ustawienia wypłat.

Typy wypłat:
- manual - wypłaty zlecane ręcznie (POST /withdraws),
- workdays - automatyczna wypłata w każdy dzień roboczy,
- balance_greater_than - automatyczna wypłata po przekroczeniu balanceToAutoPayout,
- custom_days - automatyczna wypłata w wybrane dni tygodnia (customDays), gdy saldo przekracza balanceToAutoPayout.

### Pobieranie operacji portfela

 - [GET /flow/{flowServiceId}/submerchants/{submerchantId}/finances/{walletId}/transactions](https://docs.simpay.pl/apis/flow/flowgetsubmerchantwallettransactions.md): Lista operacji portfela z paginacją kursorową. Kolejną stronę pobierzesz przekazując cursor w parametrze z cursor.queryField.

### Generowanie raportu CSV operacji portfela

 - [POST /flow/{flowServiceId}/submerchants/{submerchantId}/finances/{walletId}/raport](https://docs.simpay.pl/apis/flow/flowsubmerchantwalletreport.md): Generuje raport CSV (separator ;) operacji portfela za wskazany okres (date) lub dla wskazanej wypłaty (withdraw).
Dla wypłaty raport obejmuje operacje od poprzedniej (nieodrzuconej) wypłaty do wskazanej wypłaty.
date i withdraw wykluczają się; w obiekcie withdraw podaj id albo shortId.

Kolumny: ID transakcji, Typ, Operacja, Czy przeliczona do portfela, Kwota, Kwota przed, Kwota po, Data operacji,
ID transakcji płatności, ID transakcji płatności zwrócone kupującemu, Opis transakcji płatności, Control transakcji płatności,
ID wypłaty, Krótkie ID wypłaty, ID zwrotu, ID zwrotu zwrócone kupującemu.

### Pobieranie listy wypłat

 - [GET /flow/{flowServiceId}/submerchants/{submerchantId}/finances/{walletId}/withdraws](https://docs.simpay.pl/apis/flow/flowgetsubmerchantwithdraws.md)

### Zlecenie wypłaty

 - [POST /flow/{flowServiceId}/submerchants/{submerchantId}/finances/{walletId}/withdraws](https://docs.simpay.pl/apis/flow/flowcreatesubmerchantwithdraw.md): Zleca ręczną wypłatę środków z portfela. Wymaga ustawienia withdraw.type na manual w ustawieniach portfela.

