Pojęcia
Dostawca (Biller)
Bill Presentment wspiera kilkaset różnych dostawców usług takich jak telefonia, internet, energia, ochrona, a także spółdzielnie i wspólnoty mieszkaniowe. Listę obsługiwanych dostawców można pobrać korzystając z:
GET /api/billers HTTP/1.1
Atrybuty Dostawcy:
atrybut | opis |
---|---|
billerId: string | Identyfikator Dostawcy Przykład: "PGNIG_MOH" |
displayName: string | Czytelna nazwa Dostawcy Przykład: "PGNiG Region mazowiecki" |
directSyncEnabled: boolean | true, jeśli dla danego Dostawcy włączona jest synchronizacja poprzez logowanie do Systemu Dostawcy |
emailSyncEnabled: boolean | true, jeśli dla danego Dostawcy włączona jest synchronizacja poprzez parsowanie wiadomości e-mail |
billtechPayEnabled: boolean | true, jeśli dla danego Dostawcy włączona jest synchronizacja poprzez Bill Gateway |
pdfEnabled: boolean | true, jeśli dla danego Dostawcy obsługiwane jest pobieranie faktur pdf |
subaccountsEnabled: boolean | true, jeśli dla danego Dostawcy zwracane są subkonta |
url: string (opcjonalny) | Adres url Systemu Dostawcy. Może posłużyć do prezentacji użytkownikowi, w celu klaryfikacji, do jakiego systemu ma podać dane uwierzytelniające. Przykład: https://mbok.pgnig.pl |
credentialsForms: CredentialsForm[] | Dostępne rodzaje połączenia z systemem dostawcy |
hint: BillerHint (opcjonalny) | Obiekt zawierający wskazówki dla użytkownika dotyczącymi dodawania dostępu, np. link do zmiany hasła w systemie dostawcy. |
rank: number | Wskaźnik popularności Dostawcy. Większa wartość oznacza większą popularność. |
color: string | Wiodący kolor dostawcy zwracany w formie hex. |
aliases: string[] | Nazwy zastępcze dla Dostawcy, rozwinięcia skrótów. Przydatne przy implementacji wyszukiwania. Przykład: ["Polska Energia i Gaz"] |
categoryCodes: CategoryCode[] | Lista zawierająca kody kategorii Przykład: ["PHONE"] |
status: string | Informacja o Statusie strony dostawcy |
deletionStatus: string | Informacja o nadchodzącym końcu okresu wsparcia lub usunięciu dostawcy |
{
"billerId": "ORANGE",
"displayName": "Orange",
"directSyncEnabled": true,
"emailSyncEnabled": true,
"billtechPayEnabled": false,
"pdfEnabled": false,
"subaccountsEnabled": true,
"url": "https://www.orange.pl/zaloguj.phtml",
"rank": 1455,
"aliases": [
"Orange Polska"
],
"credentialsForms": [
{
"formId": "DEFAULT_LOGIN_PASSWORD_FORM",
"name": {
"EN": "Sign in with login and password",
"PL": "Logowanie za pomocą loginu i hasła"
},
"hint": null,
"fields": [
{
"name": {
"EN": "Login",
"PL": "Login"
},
"hint": null,
"key": "principal",
"type": "TEXT",
"required": true,
"encrypted": false,
"principal": true
},
{
"name": {
"EN": "Password",
"PL": "Hasło"
},
"hint": null,
"key": "secret",
"type": "PASSWORD",
"required": true,
"encrypted": true,
"principal": false
}
]
}
],
"status": "ACTIVE",
"hint": {
"important": null,
"additional": {
"EN": "<ul> <li>Forgot your password? <a target='_blank' href='https://www.orange.pl/zaloguj.phtml'>Remind</a></li> <li>Don't have an account yet? <a target='_blank' href='https://www.orange.pl/rejestracja.phtml'>Sign up</a></li> </ul>",
"PL": "<ul> <li>Nie pamiętasz hasła? <a target='_blank' href='https://www.orange.pl/zaloguj.phtml'>Przypomnij</a></li> <li>Nie masz jeszcze konta Mój Orange? <a target='_blank' href='https://www.orange.pl/rejestracja.phtml'>Zarejestruj się</a></li> </ul>"
}
},
"categoryCodes": [
"PHONE"
],
"color": "#ff7900",
"categories": [
"Telefon"
],
"billerStatus": "ACTIVE",
"deletionStatus": "DEPRECATED"
},
CredentialsForm
CredentialsForm zawiera informacje o możliwym sposobie połączenia z dostawcą.
atrybut | opis |
---|---|
formId: string | Identyfikator credentialsForm Przykład: "DEFAULT_LOGIN_PASSWORD_FORM" |
name: string | Nazwa sposobu połączenia zwracana w dostępnych językach Przykład: "Logowanie za pomocą loginu i hasła" |
hint: string (opcjonalny) | Wskazówka dotycząca sposobu połączenia zwracana w dostępnych językach Przykład: "Konto zarejestrowane w aplikacji mobilnej" |
fields: CredentialsFormField[] | Lista pól wymaganych do połączenia z systemem dostawcy |
CredentialsFormField
CredentialsFormField zawiera informacje potrzebne do utworzenia formularza dodawania dostawcy w wybranym flow.
atrybut | opis |
---|---|
name: string | Nazwa pola zwracana w dostępnych językach Przykład: "Hasło" |
hint: string (opcjonalny) | Wskazówka zwracana w dostępnych językach Przykład: "Numer PESEL umożliwia pobranie faktur PDF" |
key: string | Identyfikator pola, który należy zwrócić wraz z wartością do BT API Przykład: "password" |
type: string | Typ pola Przykład: "PASSWORD" |
required: boolean | Określa czy pole jest wymagane do połączenia z systemem dostawcy Przykład: true |
encrypted: boolean | Określa czy wartość pola powinna być zaszyfrowana przed przesłaniem do BT API Przykład: true |
principal: boolean | Określa czy pole jest głównym loginem dostępu Przykład: true |
Dostępne typy pola (FieldType)
typ | opis |
---|---|
"TEXT" | Wartość tekstowa |
"EMAIL" | Adres email |
"PASSWORD" | Hasło |
"TEL" | Numer telefonu |
"NUMBER" | Wartość liczbowa |
Kategoria Dostawcy
Każdy Dostawca jest przypisany do jednej lub więcej kategorii w zależności od rodzaju świadczonych usług. Kategorie mogą być przydatne przy wyszukiwaniu Dostawców przez użytkownika. Kategorie zwracane są w postaci kodu, który może zostać użyty do uzyskania tytułu kategorii w dostępnym języku.
Możliwe kategorie:
kod kategorii | PL | EN |
---|---|---|
"RENT" | "Czynsz" | "Rent" |
"INSURANCE" | "Ubezpieczenia" | "Insurance" |
"HOSTING" | "Hosting" | "Hosting" |
"OTHERS" | "Inne" | "Others" |
"GAS" | "Gaz" | "Gas" |
"TV" | "Telewizja" | "TV" |
"HEALTH" | "Zdrowie" | "Health" |
"SECURITY" | "Ochrona" | "Security" |
"WATER" | "Woda" | "Water" |
"ENERGY" | "Energia" | "Energy" |
"PHONE" | "Telefon" | "Phone" |
"ACCOUNTING" | "Księgowość" | "Accounting" |
"E_COMMERCE" | "E-commerce" | "E-commerce" |
"INTERNET" | "Internet" | "Internet" |
"B2B" | "B2B" | "B2B" |
Wskazówki dla dostawcy (BillerHint)
Dostawca może posiadać przypisane wskazówki zwracane w formie HTML, które podzielone są na dwie grupy.
property | opis |
---|---|
important | Ważne wskazówki dla użytkownika dotyczącymi dodawania dostępu, np. konieczność odpowiedniej konfiguracji konta w systemie dostawcy. |
additional | Pozostałe wskazówki o dodawaniu dostępu np. link do zmiany hasła w Systemie Dostawcy. |
Status dostawcy (BillerStatus)
Status dostawcy informuje o tym, czy strona dostawcy działa poprawnie. Jeżeli na stronie nie są prowadzone żadne prace utrzymaniowe i strona działa poprawnie, możliwa jest następna synchronizacja. W przypadku wykrycia prac utrzymaniowych na stronie, dane konta mogą nie być aktualizowane.
Możliwe statusy:
status | opis |
---|---|
"ACTIVE" | Strona dostawcy działa poprawnie, synchronizacje będą wykonywane |
"MAINTENANCE" | Na stronie dostawcy prowadzone są prace utrzymaniowe, dane kont mogą nie być aktualizowane do zakończenia prac |
Status usunięcia dostawcy (BillerDeletionStatus)
Status usunięcia dostawcy informuje o tym, czy dostawca jest wspierany, w jakim zakresie, i czy należy go usunąć.
Możliwe statusy:
status | opis |
---|---|
"NOT_DELETED" | Dostawca jest aktualnie wspierany (zgodnie z polami directSyncEnabled, emailSyncEnabled i billtechPayEnabled) |
"DEPRECATED" | Istniejące konta dostawcy dalej są wspierane (zgodnie z polami directSyncEnabled, emailSyncEnabled i billtechPayEnabled), ale dodawanie nowych kont tego dostawcy jest niezalecane. Dostawca pozostanie w statusie DEPRECATED przez minimum 30 dni. W dowolnym momencie po upływie tego okresu status może zmienić się na "DELETED" . Wskazana jest jednorazowa aktualizacja pola billerId Kont tego dostawcy - koniec okresu wsparcia może być spowodowany połączeniem wielu dostawców w jednego lub rozbiciem jednego dostawcy na wielu. |
"DELETED" | Dostawca nie jest wspierany. Dodawanie nowych kont dla dostawcy nie jest możliwe. Status nie zostanie ustawiony dopóki istnieją konta dla dostawcy. |
Konto (Account)
Utworzenie Konta jest równoznaczne z zapisaniem danych uwierzytelniających, które będą wykorzystane do logowania w Systemie Dostawcy. Tworząc Konto należy przekazać zgodę użytkownika na Regulamin Usługi.
Atrybuty Konta
atrybut | opis |
---|---|
accountId: string | Identyfikator Konta Przykład: "00E9CE3C-A66C-4B1E-8B5E-96DE252E9B80" |
billerId: string | Identyfikator Dostawcy Przykład: "PGNIG_MOH" |
principal: string | Login/nazwa użytkownika/adres e-mail użytkownika w Systemie Dostawcy Przykład: "[email protected]" |
credentialStatus: string | Status Danych Uwierzytelniających Przykład: "VALID" |
followUpCredentialsForm: CredentialsForm[] | Informacje dotyczące drugiego etapu logowania |
syncStatus: string | Status Synchronizacji Konta. Przykład: "SYNCHRONIZING" |
disableReason: string | Przyczyna wstrzymania synchronizacji Konta. Przykład: "MANUALLY_DISABLED" |
consent: boolean | Akceptacja Regulaminu Usługi przez użytkownika. Musi mieć wartość true . |
lastLiabilityUpdateTime: string | Data ostatniej modyfikacji opłat i/lub subkont. Przykład: "2020-05-25T11:01:32.677Z" |
lastSyncTime: string | Data ostatniej ukończonej synchronizacji. Jest informacją o aktualności danych. Przykład: "2020-05-25T11:01:32.677Z" |
createdAt: string | Data utworzenia Konta. Przykład: "2020-05-25T11:01:32.677Z" |
updatedAt: string | Data ostatniej modyfikacji Konta. Przykład: "2020-05-25T11:01:32.677Z" |
subaccounts: Subaccount[] | Lista Subkont (pusta w przypadku braku subkont u dostawcy) |
statusMessages: StatusMessage[] | Lista zawierająca dodatkowe informacje na temat statusu synchronizacji konta posortowana według ustalonego priorytetu (pusta w przypadku braku informacji) |
{
"accountId": "5c7eb8bb-1be5-41a0-8d90-7f78c0c25f8c",
"billerId": "INNOGY",
"principal": "9000899268",
"credentialStatus": "UNVERIFIED",
"syncStatus": "IDLE",
"disableSyncReason": "NONE",
"consent": true,
"lastLiabilityUpdateTime": "1970-01-01T00:00:00Z",
"lastSyncTime": "1970-01-01T00:00:00Z",
"accountType": "DIRECT_SYNC",
"createdAt": "2020-05-07T11:00:10.474237Z",
"subaccounts": [{
"subaccountId": "2af177af-3f10-4f4f-9f8a-232b5e3ef2a5",
"name": "42342655334"
},{
"subaccountId": "66c68b65-9197-47d8-bbc6-8c6ca33e4929",
"name": "86783445543"
}],
"uanMessage": null
}
W systemach niektórych Dostawców daje się wyróżnić subkonta na kontach użytkowników, które oznaczają wiele usług z osobną umową dostępnych po zalogowaniu pojedynczym zestawem danych uwierzytelniających. Jeśli dane konto użytkownika zawiera subkonta, w szczegółach Konta pojawia się lista Subkont, a poszczególne Opłaty zawierają Identyfikator Subkonta oznaczające przyporządkowanie do danego Subkonta.
Atrybuty Subkonta:
atrybut | opis |
---|---|
subaccountId: string | Identyfikator Subkonta Przykład: "4F0E692A-F852-4A57-BEA8-6869E0FE25CA" |
name: string | Nazwa Subkonta - najczęściej numer umowy. Przykład: "PL0037310001223103" |
status: SubaccountStatus | Stopień dostępu do subkonta użytkownika w Systemie Dostawcy |
statusMessages: StatusMessage[] | Lista zawierająca dodatkowe informacje na temat statusu synchronizacji subkonta posortowana według ustalonego priorytetu (pusta w przypadku braku informacji) |
{
"subaccountId":"2af177af-3f10-4f4f-9f8a-232b5e3ef2a5",
"name":"42342655334",
"status":"USER_ACTION_NEEDED",
"statusMessages":[
{
"code":"LOA",
"shortMessage":"Brak uprawnień do pobrania faktur.",
"longMessage":"Dostęp do subkonta wymaga autoryzacji kodem abonenckim. Prosimy o wyłączenie kodu abonenckiego.",
"type":"UAN"
}
]
}
{
"subaccountId":"2af177af-3f10-4f4f-9f8a-232b5e3ef2a5",
"name":"42342655334",
"status":"USER_ACTION_NEEDED",
"statusMessages":[
{
"code":"OR",
"shortMessage":"Planowana przerwa techniczna",
"type":"INFO"
}
]
}
Status Subkonta (SubaccountStatus)
Status Subkonta przedstawia aktualny stan dostępu do subkonta użytkownika w Systemie Dostawcy.
Możliwe statusy:
status | opis |
---|---|
"SUCCESS" | Dostęp do subkonta użytkownika w Systemie Dostawcy jest możliwy. |
"USER_ACTION_NEEDED" | Dostęp do Systemu Dostawcy niemożliwy z powodu oczekującej akcji użytkownika. |
Opis listy wiadomości zawierających dodatkowe informacje na temat synchronizacji (StatusMessages)
StatusMessage zawiera dodatkowe informacje na temat synchronizacji z Systemem Dostawcy. Informacje zwracane są w postaci listy, w której elementy posortowane są według ustalonego priorytetu.
Atrybuty wiadomości:
atrybut | opis |
---|---|
shortMessage: string | Krótki komunikat opisujący wiadomość zwracany w w dostępnych językach Przykład: "Wykonaj pierwsze logowanie" |
longMessage: string | Dokładny opis wiadomości zwracany w w dostępnych językach Przykład: "W związku ze zmianami w systemie dostawcy konieczne będzie utworzenie nowego konta. Przejdź do systemu dostawcy i wykonaj pierwsze logowanie." |
type: string | Typ wiadomości Przykłady: "UAN" , "SYNC_DELAY" , "INFO" |
action: string | Rodzaj czynności wymaganej w celu rozwiązania wiadomości typu UAN. Przykłady: "EBOK_ACTION" , "CREDENTIALS_ACTION" , "OTHER" , "NONE" |
Typy wiadomości:
typ | opis |
---|---|
UAN | Wymagana akcja użytkownika do podjęcia w panelu dostawcy lub aplikacji |
SYNC_DELAY | Opóźnienie w synchronizacji danych z systemem dostawcy |
INFO | Inny komunikat o połączeniu lub od dostawcy |
(posortowane według priorytetu)
Akcja wiadomości:
action | opis |
---|---|
EBOK_ACTION | Czynność do wykonania w systemie dostawcy |
CREDENTIALS_ACTION | Czyność związana z danymi dostępowymi |
OTHER | Inna czynność |
"statusMessages":[
{
"code":"EC",
"text":{
"short":{
"PL":"Wymagany reset loginu / hasła",
"EN":"Login / password reset required"
},
"long":{
"PL":"Dane dostępowe do eBOK wygasły, zresetuj login i / lub hasło w panelu eBOK dostawcy.",
"EN":"Credentials expired, reset login and / or password in service providers userpanel."
}
},
"type":"UAN",
"action": "EBOK_ACTION"
},
{
"code":"SS",
"text":{
"short":{
"PL":"Synchronizacja danych została tymczasowo wstrzymana.",
"EN":"Data synchronization has been temporarily paused."
},
"long":{
"PL":"Wystąpił błąd po stronie dostawcy usług. Dane faktur mogą nie być aktualne. Średni czas oczekiwania na aktualizację danych to od kilku do kilkunastu godzin.",
"EN":"An error occured in service providers system. Invoice data may not be up to date. Avarage wait time for data update varies between a few and aboat a dozen hours."
}
},
"type":"SKIPPED"
}
]
"statusMessages":[
{
"code":"OV",
"text":{
"short":{
"PL":"Trwa weryfikacja poprawności danych.",
"EN":"Data validation in progress."
},
"long":{
"PL":"Pobrane dane wymagają weryfikacji. Dane faktur mogą nie być aktualne. Średni czas oczekiwania na weryfikację to od kilku do kilkunastu godzin.",
"EN":"Invoice data is being validated. Invoices data may not be up to date. Avarage data validation time varies between a few and aboat a dozen hours."
}
},
"type":"VALIDATION"
},
{
"statusCode":"OR",
"statusShortMessage":"Planowana przerwa techniczna",
"statusLongMessage":"Dostawca Twoich usług będzie przeprowadzał przerwę techniczną w dniach 29.06.2021 14:30 - 30.07.2021 14:30. Podczas trwania przerwy technicznej pobrane dane mogą nie być aktualne.",
"statusMessageType":"INFO"
}
]
"statusMessages":[
{
"code":"OV",
"text":{
"short":{
"PL":"Trwa weryfikacja poprawności danych.",
"EN":"Data validation in progress."
},
"long":{
"PL":"Pobrane dane wymagają weryfikacji. Dane faktur mogą nie być aktualne. Średni czas oczekiwania na weryfikację to od kilku do kilkunastu godzin.",
"EN":"Invoice data is being validated. Invoices data may not be up to date. Avarage data validation time varies between a few and aboat a dozen hours."
}
},
"type":"VALIDATION"
},
{
"code":"MNT",
"text":{
"short":{
"PL":"Przerwa techniczna",
"EN":"Maintenance"
},
"long":{
"PL":"W systemie dostawcy trwa przerwa techniczna. Podczas jej trwania dane zobowiązań mogą być nieaktualne.",
"EN":"There is a maintenance break in service providers userpanel. During this time invoices may not be up to date."
}
},
"type":"INFO"
},
{
"code":"SS",
"text":{
"short":{
"PL":"Synchronizacja danych została tymczasowo wstrzymana.",
"EN":"Data synchronization has been temporarily paused."
},
"long":{
"PL":"Wystąpił błąd po stronie dostawcy usług. Dane faktur mogą nie być aktualne. Średni czas oczekiwania na aktualizację danych to od kilku do kilkunastu godzin.",
"EN":"An error occured in service providers system. Invoice data may not be up to date. Avarage wait time for data update varies between a few and aboat a dozen hours."
}
},
"type":"SKIPPED"
}
]
Opłata (Liability)
Opłata reprezentuje pojedyncze zobowiązanie użytkownika wobec Dostawcy np. fakturę. Bill Presentment pobiera najnowsze Opłaty oraz historię co najmniej 24 miesięcy (o ile jest dostępna).
Pobranie opłat przypisanych do danego Konta jest możliwe przy użyciu:
GET /api/accounts/{accountId}/liabilities HTTP/1.1
Jeśli Konto posiada subkonta, można również pobrać opłaty przypisane do konkretnego subkonta:
GET /api/accounts/{accountId}/subaccounts/{subaccountId}/liabilities HTTP/1.1
Atrybuty opłaty:
atrybut | opis |
---|---|
liabilityId: string | Identyfikator Opłaty Przykład: "075F947F-9E28-4E8C-97FD-2A172CF9319E" |
title: string | Tytuł Opłaty - docelowo tytuł przelewu Przykłady: "FV 5/2020" , "Internet 01/2020" , "Czynsz Kwiatowa 5 Jan Kowalski" |
amount: number | Kwota oryginalnego zobowiązania Przykład: 59.99 |
amountToPay: number (opcjonalny) | Pozostała kwota do opłacenia, jeśli znana Przykład: 0.99 |
nrb: string | Numer konta bankowego do przelewu w formacie BBAN Przykład: "94547475457591545979967060" |
paymentDue: string | Termin płatności Przykład: "2020-04-30" |
paymentStatus: string | Status opłacenia |
documents: LiabilityDocument[] | Lista możliwych do pobrania Dokumentów dotyczących opłaty, jeśli są dostępne. |
subaccountId: string (opcjonalny) | Identyfikator Subkonta, jeśli występuje |
{
"liabilityId": "23c64db3-b9b7-42ea-ab59-0635e96eb3e1",
"title": "181075910672341",
"amount": 36.89,
"amountToPay": 0.00,
"nrb": "85114012411068000015860984",
"paymentDue": "2018-10-31",
"paymentStatus": "KNOWN",
"documents": [],
"subaccountId": null
}
Dokument (LiabilityDocument)
W przypadku wybranych dostawców istnieje możliwość pobrania dokumentu PDF z fakturą przyporządkowaną do opłaty. W celu pobrania dokumentu, należy wygenerować link korzystając z:
POST /api/documents/{id}/link HTTP/1.1
Uzyskany link jest ważny przez 30 minut.
Atrybuty dokumentu:
atrybut | opis |
---|---|
id: string | Identyfikator Dokumentu Przykład: "8d82a9a1-0163-4269-a832-62ae55b2e8b4" |
documentType: string | Typ dokumentu Możliwe typy: "INVOICE" |
documentFormat: string | Format dokumentu Możliwe formaty: "PDF" ,"PNG" |
{
"id": "8d82a9a1-0163-4269-a832-62ae55b2e8b4",
"documentType": "INVOICE",
"documentFormat": "PDF"
}
Status Danych Uwierzytelniających (CredentialStatus)
Status Danych Uwierzytelniających odzwierciedla aktualny stan wiedzy na temat danych uwierzytelniających użytkownika
do Systemu Dostawcy. Tuż po Zapisaniu Dostępu status ma wartość "UNVERIFIED"
.
Po pierwszej Synchronizacji Danych status może zmienić wartość na jedną z: "VALID"
,
"INVALID"
, "USER_ACTION_NEEDED"
Możliwe statusy:
status | opis |
---|---|
"UNVERIFIED" | Dane Uwierzytelniające nie zostały jeszcze zweryfikowane przez Bill Presentment. |
"VALID" | Dane Uwierzytelniające są prawidłowe. Konto będzie cyklicznie synchronizowane. |
"INVALID" | Dane Uwierzytelniające są nieprawidłowe. Synchronizacja konta wyłączona do czasu poprawienia Danych Uwierzytelniających przez użytkownika. |
"FOLLOW_UP_CREDENTIALS_REQUIRED" | Dostęp do Systemu Dostawcy wymaga dodatkowy Danych Uwierzytelniających (np. kod 2FA). |
"INVALID_FOLLOW_UP_CREDENTIALS" | Dodatkowe Dane Uwierzytelniające (np. kod 2FA) są nieprawidłowe. Synchronizacja konta wyłączona do czasu poprawienia Danych Uwierzytelniających przez użytkownika. |
"USER_ACTION_NEEDED" | Dostęp do Systemu Dostawcy niemożliwy z powodu oczekującej akcji użytkownika (opis statusu poniżej). Dodatkowo tworzony StatusMessage z typem UAN i opisem przyczyny braku dostępu. |
USER_ACTION_NEEDED
Sporadycznie zdarza się, że mimo prawidłowych Danych Uwierzytelniających, dostęp do Systemu Dostawcy jest zablokowany przez jakąś akcję, która może być wykonana jedynie osobiście przez użytkownika. Przykładem takiej sytuacji jest wymaganie zmiany hasła w Systemie Dostawcy. W takim przypadku użytkownik powinien samodzielnie zalogować się do Systemu Dostawcy i wykonać wymaganą akcję. W tym celu można wyświetlić użytkownikowi komunikat np.:
Synchronizacja niemożliwa. Zaloguj się do systemu dostawcy i sprawdź komunikaty.
Status Synchronizacji (SyncStatus)
Określa status Synchronizacji Danych.
Możliwe statusy:
status | opis |
---|---|
"IDLE" | W tym momencie nie trwa żadna synchronizacja. Czekanie na kolejną synchronizację. |
"SYNCHRONIZING" | Synchronizacja trwa w tym momencie. |
"DISABLED" | Synchronizacja wyłączona. |
Status Synchronizacji (DisableSyncReason)
Określa przyczynę wstrzymania synchronizacji danych. Jeżeli istnieje konieczność poinformowania użytkownika o przyczynie wstrzymania synchronizacji to wraz z odpowiednim statusem na Koncie ustawiana jest stosowna Wiadomość.
Możliwe statusy:
status | opis |
---|---|
"BILLER_CONNECTION_METHOD_NO_LONGER_SUPPORTED" | Synchronizacja została wstrzymana dlatego, że wybrana dla Konta metoda połączenia z Dostawcą przestała być wspierana. |
"MANUALLY_DISABLED" | Synchronizacja została wstrzymana manualnie przez klienta (PUT /api/accounts/{accountId}/syncStatus ). |
"SYNCHRONIZATION_NOT_REQUIRED_FOR_ACCOUNT_TYPE" | Synchronizacja została wstrzymana dlatego, że wybrana dla Konta metoda połączenia z Dostawcą nie wymaga synchronizacji. |
"INVALID_CREDENTIALS" | Synchronizacja została wstrzymana ze względu na błędne dane dostępowe. |
"NONE" | Synchronizacja nie jest wstrzymana. |
"OTHER" | Synchronizacja została wstrzymana z powodu innego niż wyżej wymienione. |
Status Opłacenia (PaymentStatus)
Określa status opłacenia Opłaty. Co do zasady, Bill Presentment powinno być traktowane jako źródło prawdy o statusie opłacenia danej Opłaty. Status Opłacenia oraz pozostała kwota do zapłaty mogą zmieniać się w czasie. System Klienta powinien aktualizować te dane bazując na informacji zwracanej z Bill Presentment.
O ile status opłacenia jest znany ("KNOWN"
), wartość pola amountToPay
definiuje kwotę, którą użytkownik powinien opłacić.
Zazwyczaj mija kilka dni, zanim wpłata użytkownika zostaje zaksięgowana i zaprezentowana w Systemie Dostawcy. W tym czasie, Bill Presentment zwraca Status Opłacenia oraz pozostałą kwotę do zapłaty zgodnie z informacją dostępną w Systemie Dostawcy. Zalecamy implementację statusu przejściowego w Systemie Klienta, który będzie informował, że płatność została wykonana, ale nie została jeszcze zaksięgowana.
W niektórych przypadkach status opłacenia może być niedostępny.
Jeśli status jest nieznany ("UNKNOWN"
), pole amountToPay
ma wartość null
. W takim przypadku można umożliwić
użytkownikowi podjęcie decyzji, czy Opłata była już opłacona.
Możliwe statusy:
status | opis |
---|---|
"KNOWN" | status znany |
"UNKNOWN" | status nieznany |
Przykłady
- Należy zapłacić 100 zł
{
"amount": 100.0,
"amountToPay": 100.0,
"paymentStatus": "KNOWN"
} - Należy zapłacić 0.64 zł
{
"amount": 66.0,
"amountToPay": 0.64,
"paymentStatus": "KNOWN"
} - Opłata w pełni opłacona
{
"amount": 28.22,
"amountToPay": 0.0,
"paymentStatus": "KNOWN"
} - Status opłacenia nieznany. Użytkownik może zdecydować o statusie
{
"amount": 127.73,
"amountToPay": null,
"paymentStatus": "UNKNOWN"
}
Dostępne języki:
kod | język |
---|---|
PL | polski |
EN | angielski |