[{"data":1,"prerenderedAt":1119},["ShallowReactive",2],{"navigation-pl":3,"docs_pl":127,"landing_pl":759},[4],{"title":5,"path":6,"stem":7,"children":8,"page":126},"Docs","/docs","docs",[9,89,107],{"title":10,"icon":11,"path":12,"stem":13,"children":14,"page":-1},"API","i-lucide-code-2","/docs/api","docs/1.api/index",[15,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85],{"title":16,"path":12,"stem":13},"Wprowadzenie",{"title":18,"path":19,"stem":20},"Uwierzytelnienie","/docs/api/authentication","docs/1.api/1.authentication",{"title":22,"path":23,"stem":24},"Aktualizacja punktu sprzedaży","/docs/api/sale-point-update","docs/1.api/10.sale-point-update",{"title":26,"path":27,"stem":28},"Pobieranie punktu sprzedaży","/docs/api/sale-point-get","docs/1.api/11.sale-point-get",{"title":30,"path":31,"stem":32},"Lista punktów sprzedaży","/docs/api/sale-point-list","docs/1.api/12.sale-point-list",{"title":34,"path":35,"stem":36},"Wartości słownikowe","/docs/api/status","docs/1.api/13.status",{"title":38,"path":39,"stem":40},"Rejestracja sklepu","/docs/api/user-create","docs/1.api/14.user-create",{"title":42,"path":43,"stem":44},"Pobieranie zgód rejestracyjnych","/docs/api/user-fetch-agreements","docs/1.api/15.user-fetch-agreements",{"title":46,"path":47,"stem":48},"Status aktywacji konta","/docs/api/user-is-active","docs/1.api/16.user-is-active",{"title":50,"path":51,"stem":52},"Widgety","/docs/api/widgets","docs/1.api/17.widgets",{"title":54,"path":55,"stem":56},"Filtrowanie IP","/docs/api/ip-filtering","docs/1.api/18.ip-filtering",{"title":58,"path":59,"stem":60},"Produkty finansowe","/docs/api/financial-products","docs/1.api/2.financial-products",{"title":62,"path":63,"stem":64},"Parametry najlepszej oferty","/docs/api/best-possible-loan-parameters","docs/1.api/3.best-possible-loan-parameters",{"title":66,"path":67,"stem":68},"Tworzenie wniosku kredytowego","/docs/api/order-create","docs/1.api/4.order-create",{"title":70,"path":71,"stem":72},"Notyfikacja statusu zamówienia","/docs/api/order-status-notify","docs/1.api/5.order-status-notify",{"title":74,"path":75,"stem":76},"Zmiana kwoty zamówienia","/docs/api/order-modify-amount","docs/1.api/6.order-modify-amount",{"title":78,"path":79,"stem":80},"Anulowanie wniosku","/docs/api/order-cancellation","docs/1.api/7.order-cancellation",{"title":82,"path":83,"stem":84},"Wypłata środków","/docs/api/order-withdraw-cash","docs/1.api/8.order-withdraw-cash",{"title":86,"path":87,"stem":88},"Dodanie punktu sprzedaży","/docs/api/sale-point-add","docs/1.api/9.sale-point-add",{"title":50,"icon":90,"path":91,"stem":92,"children":93,"page":-1},"i-lucide-layout-dashboard","/docs/widgets","docs/2.widgets/index",[94,95,99,103],{"title":50,"path":91,"stem":92},{"title":96,"path":97,"stem":98},"Comfino Widget","/docs/widgets/comfino","docs/2.widgets/1.comfino",{"title":100,"path":101,"stem":102},"Comfino PrestaShop Widget","/docs/widgets/prestashop","docs/2.widgets/2.prestashop",{"title":104,"path":105,"stem":106},"Comfino WooCommerce Widget","/docs/widgets/woocommerce","docs/2.widgets/3.woocommerce",{"title":108,"icon":109,"path":110,"stem":111,"children":112,"page":-1},"Moduły sklepowe","i-lucide-puzzle","/docs/plugins","docs/3.plugins/index",[113,114,118,122],{"title":108,"path":110,"stem":111},{"title":115,"path":116,"stem":117},"Magento 2.3","/docs/plugins/magento","docs/3.plugins/1.magento",{"title":119,"path":120,"stem":121},"PrestaShop","/docs/plugins/prestashop","docs/3.plugins/2.prestashop",{"title":123,"path":124,"stem":125},"WooCommerce","/docs/plugins/woocommerce","docs/3.plugins/3.woocommerce",false,[128,132,136,139,143,149,154,159,162,166,170,175,179,182,186,190,194,198,201,205,209,214,219,224,227,231,235,239,243,246,250,254,258,262,265,269,273,277,280,284,287,291,296,299,303,308,312,317,321,326,331,334,338,342,346,350,354,357,361,366,372,377,382,387,392,397,401,406,411,415,419,422,426,431,436,441,445,448,452,456,459,463,467,470,474,478,481,485,489,493,497,501,504,509,514,517,521,526,531,536,541,546,551,555,560,565,570,573,577,582,585,589,594,597,602,607,610,615,620,625,630,635,638,642,645,650,655,659,664,669,674,679,684,688,692,697,700,704,708,712,716,720,724,729,733,737,740,743,747,750,754],{"id":19,"title":18,"titles":129,"content":130,"level":131},[],"Opisuje sposób uwierzytelniania żądań do API Comfino za pomocą tokenu autoryzacyjnego.",1,{"id":133,"title":18,"titles":134,"content":135,"level":131},"/docs/api/authentication#uwierzytelnienie",[],"Token autoryzacyjny przekazywany jest w nagłówku każdego żądania. Zapytanie: curl -X GET https://{HOST_API}/v1/orders/{twój_identyfikator_zamówienia} \\\n-H \"Content-Type: application/json\" \\\n-H \"Api-Key: {API-KEY}\" Odpowiedź przy braku autoryzacji: {\n    \"message\": \"Authorization failed\"\n} html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":23,"title":22,"titles":137,"content":138,"level":131},[],"Opisuje endpoint aktualizujący dane punktu sprzedaży o podanym numerze NIP.",{"id":140,"title":22,"titles":141,"content":142,"level":131},"/docs/api/sale-point-update#aktualizacja-punktu-sprzedaży",[],"Aktualizuje wskazany punkt sprzedaży o podanym numerze NIP.",{"id":144,"title":145,"titles":146,"content":147,"level":148},"/docs/api/sale-point-update#zapytanie","Zapytanie",[22],"curl -X PATCH 'https://{HOST_API}/v1/sale-points/{NIP usługodawcy}' \\\n--header 'API-KEY: {API-KEY}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n  \"name\": \"{nazwa dostawcy usługi}\",\n  \"active\": {status aktywności punktu - true/false},\n  \"city\": \"{miejscowość usługodawcy}\",\n  \"accountNumber\": \"{numer konta usługodawcy}\",\n  \"contactPerson\": \"{dane osoby do kontaktu}\",\n  \"productTypes\": [{lista typów produktów dostępnych dla punktu sprzedaży}]\n}'",2,{"id":150,"title":151,"titles":152,"content":153,"level":148},"/docs/api/sale-point-update#definicja-pól","Definicja pól",[22],"PoleTypWymaganeOpisnamestringnieZnaki alfanumeryczne (max. 100)activeboolnieWartosc logiczna (true/false)citystringnieZnaki alfanumeryczne (max. 50)accountNumberstringnieZnaki alfanumeryczne (max. 50)contactPersonstringnieZnaki alfanumeryczne (max. 50)productTypesstringnieTablica wartosci slownikowych - zobacz sekcje typy produktow finansowych w dokumentacji wartosci slownikowych.",{"id":155,"title":156,"titles":157,"content":158,"level":148},"/docs/api/sale-point-update#kody-odpowiedzi-serwera","Kody odpowiedzi serwera",[22],"204 No Content400 Bad request401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed500 Internal Server Error html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":27,"title":26,"titles":160,"content":161,"level":131},[],"Opisuje endpoint zwracający dane punktu sprzedaży o podanym numerze NIP.",{"id":163,"title":26,"titles":164,"content":165,"level":131},"/docs/api/sale-point-get#pobieranie-punktu-sprzedaży",[],"Zwraca dane punktu sprzedaży o podanym numerze NIP.",{"id":167,"title":145,"titles":168,"content":169,"level":148},"/docs/api/sale-point-get#zapytanie",[26],"curl -X GET https://{HOST_API}/v1/sale-points/{NIP usługodawcy} \\\n-H \"Content-Type: application/json\" \\\n-H \"Api-Key: {API-KEY}\"",{"id":171,"title":172,"titles":173,"content":174,"level":148},"/docs/api/sale-point-get#odpowiedź","Odpowiedź",[26],"{\n    \"name\": \"{nazwa dostawcy usługi}\",\n    \"taxId\": \"{NIP usługodawcy}\",\n    \"active\": \"{status aktywności punktu - true/false}\",\n    \"city\": \"{miejscowość usługodawcy}\",\n    \"accountNumber\": \"{numer konta usługodawcy}\",\n    \"contactPerson\": \"{dane osoby do kontaktu}\",\n    \"productTypes\": [\"{lista typów produktów dostępnych dla punktu sprzedaży}\"]\n}",{"id":176,"title":156,"titles":177,"content":178,"level":148},"/docs/api/sale-point-get#kody-odpowiedzi-serwera",[26],"200 OK401 Unauthorized404 Not Found405 Method Not Allowed500 Internal Server Error html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":31,"title":30,"titles":180,"content":181,"level":131},[],"Opisuje endpoint zwracający wszystkie zdefiniowane punkty sprzedaży usług.",{"id":183,"title":30,"titles":184,"content":185,"level":131},"/docs/api/sale-point-list#lista-punktów-sprzedaży",[],"Zwraca wszystkie punkty sprzedaży usług.",{"id":187,"title":145,"titles":188,"content":189,"level":148},"/docs/api/sale-point-list#zapytanie",[30],"curl -X GET https://{HOST_API}/v1/sale-points \\\n-H \"Content-Type: application/json\" \\\n-H \"Api-Key: {API-KEY}\"",{"id":191,"title":172,"titles":192,"content":193,"level":148},"/docs/api/sale-point-list#odpowiedź",[30],"{\n    \"records\": [\n        {\n            \"name\": \"{nazwa dostawcy usługi 1}\",\n            \"taxId\": \"{NIP usługodawcy 1}\",\n            \"active\": \"{status aktywności punktu 1 - true/false}\",\n            \"city\": \"{miejscowość usługodawcy 1}\",\n            \"accountNumber\": \"{numer konta usługodawcy 1}\",\n            \"contactPerson\": \"{imię osoby do kontaktu 1}\",\n            \"productTypes\": [\"{lista typów produktów dostępnych dla punktu sprzedaży 1}\"]\n        },\n        {\n            \"name\": \"{nazwa dostawcy usługi 2}\",\n            \"taxId\": \"{NIP usługodawcy 2}\",\n            \"active\": \"{status aktywności punktu 2 - true/false}\",\n            \"city\": \"{miejscowość usługodawcy 2}\",\n            \"accountNumber\": \"{numer konta usługodawcy 2}\",\n            \"contactPerson\": \"{dane osoby do kontaktu 2}\",\n            \"productTypes\": [\"{lista typów produktów dostępnych dla punktu sprzedaży 2}\"]\n        },\n        {\n            \"name\": \"{nazwa dostawcy usługi n}\",\n            \"taxId\": \"{NIP usługodawcy n}\",\n            \"active\": \"{true/false}\",\n            \"city\": \"{miejscowość usługodawcy n}\",\n            \"accountNumber\": \"{numer konta usługodawcy n}\",\n            \"contactPerson\": \"{dane osoby do kontaktu n}\",\n            \"productTypes\": [\"{lista typów produktów dostępnych dla punktu sprzedaży n}\"]\n        }\n    ]\n}",{"id":195,"title":156,"titles":196,"content":197,"level":148},"/docs/api/sale-point-list#kody-odpowiedzi-serwera",[30],"200 OK401 Unauthorized405 Method Not Allowed500 Internal Server Error html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":35,"title":34,"titles":199,"content":200,"level":131},[],"Zawiera kody odpowiedzi serwera, typy produktów finansowych i statusy wniosków kredytowych.",{"id":202,"title":34,"titles":203,"content":204,"level":131},"/docs/api/status#wartości-słownikowe",[],"",{"id":206,"title":156,"titles":207,"content":208,"level":148},"/docs/api/status#kody-odpowiedzi-serwera",[34],"200 OK201 Created204 No Content400 Bad Request401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed409 Conflict415 Unsupported Media Type422 Unprocessable Entity500 Internal Server Error",{"id":210,"title":211,"titles":212,"content":213,"level":148},"/docs/api/status#typy-produktów-finansowych","Typy produktów finansowych",[34],"INSTALLMENTS_ZERO_PERCENT - Raty 0%CONVENIENT_INSTALLMENTS - Niskie ratyPAY_LATER - Kup teraz, zapłać późniejCOMPANY_INSTALLMENTS - Kredyt dla firmCOMPANY_BNPL - Odroczenie płatności fakturyRENEWABLE_LIMIT - Limit odnawialnyBLIK - Płatność BLIKLEASING - Leasing",{"id":215,"title":216,"titles":217,"content":218,"level":148},"/docs/api/status#statusy-wniosków","Statusy wniosków",[34],"CREATED Stworzenie zamówienia przez sklepWAITING_FOR_FILLING oczekiwanie na wypełnienie formularzaWAITING_FOR_CONFIRMATION oczekiwanie na potwierdzenie z instytucji finansowejPRE_ACCEPTED kredyt wstępnie przyznany (status występuje tylko w przpadku włączonej funkcjonalności modyfikacji kwoty zamówienia)ACCEPTED kredyt przyznanyREJECTED odmowa kredytowaniaCANCELLED_BY_SHOP rezygnacja przez sklep (np. brak towaru w sklepie)WAITING_FOR_PAYMENT płatność procesowanaPAID przelew zrealizowany z instytucji finansowej do sklepu Przy powrocie klienta na returnUrl podany przy składaniu wniosku zalecamy wyświetlanie komunikacji na podstawie statusów końcowych: Statusy informujące o niepowodzeniu: REJECTEDCANCELLED_BY_SHOP Statusy informujące o przyznaniu finansowania: ACCEPTEDWAITING_FOR_PAYMENTPAID",{"id":220,"title":221,"titles":222,"content":223,"level":148},"/docs/api/status#flow","Flow",[34],"Kliknij diagram aby zobaczyć go w pełnym wymiarze.",{"id":39,"title":38,"titles":225,"content":226,"level":131},[],"Opisuje endpoint rejestrujący nowy sklep w systemie Comfino.pl.",{"id":228,"title":38,"titles":229,"content":230,"level":131},"/docs/api/user-create#rejestracja-sklepu",[],"Rejestruje nowy sklep w systemie Comfino.pl. Rejestracja nie uruchamia automatycznie usługi płatności — wymaga podpisania umowy i integracji z systemem sklepu. Po rejestracji przedstawiciel Comfino.pl skontaktuje się i wyjaśni kolejne kroki.",{"id":232,"title":145,"titles":233,"content":234,"level":148},"/docs/api/user-create#zapytanie",[38],"curl -X POST 'https://{HOST_API}/v1/user' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"name\": \"Nazwa sklepu\",\n    \"webSiteUrl\": \"http://example.com\",\n    \"contactName\": \"Adam Nowak\",\n    \"contactEmail\": \"kontakt@example.com\",\n    \"contactPhone\": \"000000000\",\n    \"platformId\": 1,\n    \"agreements\": [1,2]\n}'",{"id":236,"title":151,"titles":237,"content":238,"level":148},"/docs/api/user-create#definicja-pól",[38],"PoleTypWymaganeOpisnamestringtakNazwa sklepuwebSiteUrlstringtakAdres strony internetowej sklepucontactNamestringtakImię lub imię i nazwisko osoby kontaktowejcontactEmailstringtakAdres e-mail do kontaktucontactPhonestringtakNumer telefonu do kontaktuplatformIdinttakID platformy sprzedazowej (patrz tabela ponizej)agreementsinttakTablica ID zaakceptowanych zgód — wymagana do rejestracji; lista dostępnych zgód: pobieranie zgód Możliwe wartości pola platformId: WartośćPlatforma1AtomStore2Click Shop3Comarch4Ebexo5E-sklep6IAI Shop7IdoSell8Magento9OpenCart10osCommerce11PrestaShop12Quick Cart13RedCart14Selesto15Selly16Shoper17ShopGold18Shopify19Shoplo20Shopware21Sky-Shop22SOTE23Sylius24TakeDrop25VirtueMart26Wix27WooCommerce28Zen Cart29Inne30Dedykowane31POS32Sellingo33CStore34DIRECT35Web To Learn36Berg System37PayTel38PeP",{"id":240,"title":172,"titles":241,"content":242,"level":148},"/docs/api/user-create#odpowiedź",[38],"Odpowiedź przy sukcesie: {\n    \"apiKey\": \"dfe8a410-0834-49b3-be13-e69e34ea1c6e\",\n    \"widgetKey\": \"f53d8bb2-ec8d-4ba0-9666-bcae6f48f810\"\n} Sklep został zarejestrowany — oczekuj kontaktu od przedstawiciela Comfino.pl. Zapisz wartości apiKey i widgetKey; są potrzebne do integracji systemu płatności. W razie utraty kluczy skontaktuj się z Comfino.pl. Klucz widgetKey jest używany przez widget Comfino osadzany na stronie sprzedawcy. Odpowiedź przy błędzie: {\n  \"errors\": {\n    \"name\": \"This value should not be blank.\",\n    \"webSiteUrl\": \"The WebsiteUrl http://example.com is already registered.\",\n    \"contactName\": \"This value should not be blank.\",\n    \"contactEmail\": \"This value should not be blank.\",\n    \"contactPhone\": \"Invalid phone number.\",\n    \"platformId\": \"The platformId 0 does not exists.\",\n    \"agreements\": \"Invalid agreements.\"\n  }\n} errors to obiekt z jednym lub więcej polami string. Nazwy pól odpowiadają nazwom pól żądania rejestracji, a wartości opisują przyczynę błędu. Zobacz również: Sprawdzanie statusu aktywacji html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":43,"title":42,"titles":244,"content":245,"level":131},[],"Opisuje endpoint zwracający listę zgód wymaganych przy rejestracji sklepu.",{"id":247,"title":42,"titles":248,"content":249,"level":131},"/docs/api/user-fetch-agreements#pobieranie-zgód-rejestracyjnych",[],"Przy rejestracji sklepu w Comfino.pl wymagane jest przesłanie ID zaakceptowanych zgód. Poniższe zapytanie zwraca dostępne zgody wraz z informacją, które są obowiązkowe.",{"id":251,"title":145,"titles":252,"content":253,"level":148},"/docs/api/user-fetch-agreements#zapytanie",[42],"curl -X GET 'https://{HOST_API}/v1/fetch-agreements'",{"id":255,"title":172,"titles":256,"content":257,"level":148},"/docs/api/user-fetch-agreements#odpowiedź",[42],"[{\n    \"id\": 1,\n    \"required\": true,\n    \"content\": \"Zapoznałem się i akceptuję postanowienia \u003Ca href=\\\"https://comfino.pl/regulamin/\\\">Regulaminu\u003C/a>.\",\n    \"additionalContent\": null\n}, {\n    \"id\": 2,\n    \"required\": true,\n    \"content\": \"Wyrażam zgodę na działania marketingowe w związku z prośbą o kontakt.\",\n    \"additionalContent\": null\n}]",{"id":259,"title":151,"titles":260,"content":261,"level":148},"/docs/api/user-fetch-agreements#definicja-pól",[42],"PoleTypOpisidintID zgody — wartość do przesłania przy rejestracji sklepurequiredbooleantrue — zgoda obowiązkowa; false — zgoda dobrowolnacontentstringTreść wiodąca zgodyadditionalContentstring/nullTreść dodatkowa (np. rozwinięcie wyświetlane mniejszym tekstem lub po kliknięciu); null gdy nieobecna html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"id":47,"title":46,"titles":263,"content":264,"level":131},[],"Opisuje endpoint sprawdzający, czy zarejestrowane konto sklepu zostało aktywowane.",{"id":266,"title":46,"titles":267,"content":268,"level":131},"/docs/api/user-is-active#status-aktywacji-konta",[],"Po rejestracji sklepu konto pozostaje nieaktywne do czasu ustalenia warunków współpracy i podpisania umowy. Aktywację można sprawdzać samodzielnie przez API zamiast czekać na powiadomienie e-mail lub telefoniczne.",{"id":270,"title":145,"titles":271,"content":272,"level":148},"/docs/api/user-is-active#zapytanie",[46],"curl -X GET 'https://{HOST_API}/v1/user/is-active' \\\n--header 'Api-Key: {apiKey}' gdzie {apiKey} to klucz apiKey otrzymany przy zakończonej sukcesem rejestracji.",{"id":274,"title":172,"titles":275,"content":276,"level":148},"/docs/api/user-is-active#odpowiedź",[46],"false — konto nieaktywne; proces aktywacji nie został jeszcze ukończonytrue — konto aktywne; możesz oferować swoim klientom płatności Comfino.pl html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":51,"title":50,"titles":278,"content":279,"level":131},[],"Zawiera informacje o widgetach Comfino prezentujących ofertę finansowania na stronie sklepu.",{"id":281,"title":50,"titles":282,"content":283,"level":131},"/docs/api/widgets#widgety",[],"Widget Comfino prezentuje ofertę finansowania zakupów za pośrednictwem bramki płatności odroczonych Comfino. Można go umieścić w dowolnym miejscu strony opisu produktu. Widget udostępnia kalkulator rat umożliwiający klientowi sprawdzenie różnych form finansowania dla wybranych okresów kredytowania. Więcej informacji znajdziesz w osobnej dokumentacji widgetów.",{"id":55,"title":54,"titles":285,"content":286,"level":131},[],"Opisuje konfigurację białej listy adresów IP dla notyfikacji Comfino.",{"id":288,"title":54,"titles":289,"content":290,"level":131},"/docs/api/ip-filtering#filtrowanie-ip",[],"Jeśli notyfikacje z Comfino są blokowane przez firewall lub inne mechanizmy filtrowania, dodaj adres IP Comfino do białej listy: 94.152.189.231",{"id":292,"title":293,"titles":294,"content":295,"level":148},"/docs/api/ip-filtering#przykład","Przykład",[54],"Jeśli korzystasz z Cloudflare możesz to zrobić w kilku krokach: Przejdź do Security → Security rulesKliknij Create ruleWybierz IP access rulesDodaj adres IP 94.152.189.231 i ustaw akcję Skip",{"id":59,"title":58,"titles":297,"content":298,"level":131},[],"Zwraca dostępne produkty finansowe dla wskazanych kryteriów zapytania.",{"id":300,"title":58,"titles":301,"content":302,"level":131},"/docs/api/financial-products#produkty-finansowe",[],"Endpoint zwraca dostępne produkty finansowe dla wskazanych kryteriów.\nPrzy wyświetlaniu widgetu wywołanie tego endpointu powinno uwzględniać 5-sekundowy timeout połączenia.\nPo jego przekroczeniu widget nie powinien być wyświetlany, a użytkownik strony nie powinien być powiadamiany o błędzie.\nBłąd nie powinien mieć wpływu na dalsze funkcjonowanie strony. Zapytanie: curl -X GET https://{HOST_API}/v1/financial-products?loanAmount=120000&loanTerm=6 \\\n--header \"Content-Type: application/json\" \\\n--header \"Api-Key: {API-KEY}\" \\\n--connection-timeout 5 Zapytanie z użyciem parametru productTypes=CONVENIENT_INSTALLMENTS,PAY_LATER: curl -X GET https://{HOST_API}/v1/financial-products?loanAmount=120000&loanTerm=6&productTypes=CONVENIENT_INSTALLMENTS,PAY_LATER \\\n--header \"Content-Type: application/json\" \\\n--header \"Api-Key: {API-KEY}\" \\\n--connection-timeout 5",{"id":304,"title":305,"titles":306,"content":307,"level":148},"/docs/api/financial-products#parametry-zapytania","Parametry zapytania",[58],"ParametrTypWymaganeOpisloanAmountinttakKwota pożyczki w groszach.loanTermintnieOkres kredytowania w miesiącach. Pominięcie lub wartość zerowa zwraca oferty dla wszystkich dostępnych okresów.loanTypestringnieTyp produktu finansowego ze słownika typów. Dostępność zależy od konfiguracji sklepu; niedostępny typ zwraca pustą listę. Pominięcie lub pusta wartość zwraca oferty dla wszystkich dostępnych typów.loanTypeSelectedstringnieTyp produktu wstępnie wybranego na liście ofert ze słownika typów. Pominięcie lub pusta wartość wybiera pierwszą pozycję z listy.productTypesstringniePrzecinkami separowana lista typów ze słownika typów. Pominięcie zwraca wszystkie dostępne typy; pusta lista zwraca puste wyniki.taxIdstringnieNIP punktu sprzedaży, dla którego zwracana jest oferta. Pominięcie lub pusta wartość zwraca oferty bez ograniczeń punktu sprzedaży. Szczegóły punktów sprzedaży: Dodawanie punktu sprzedaży usługPobieranie listy punktów sprzedaży usługPobieranie punktu sprzedaży usługAktualizacja danych punktu sprzedaży usług",{"id":309,"title":172,"titles":310,"content":311,"level":148},"/docs/api/financial-products#odpowiedź",[58],"[\n   {\n      \"name\":\"Raty 0%\",\n      \"description\":\"Szybkie i proste zakupy bez dodatkowych kosztów. Spłacasz dokładnie tyle, ile pożyczasz!\",\n      \"icon\":\"\u003C?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>...\",\n      \"type\":\"INSTALLMENTS_ZERO_PERCENT\",\n      \"instalmentAmount\":1200,\n      \"representativeExample\":\"Przykład reprezentatywny\",\n      \"rrso\":0,\n      \"toPay\":120000,\n      \"remarks\": null,\n      \"loanTerm\": 10,\n      \"loanParameters\": [\n          {\n              \"instalmentAmount\": 40000,\n              \"loanTerm\": 3,\n              \"toPay\": 120000,\n              \"rrso\": 0\n          },\n          {\n              \"instalmentAmount\": 20000,\n              \"loanTerm\": 6,\n              \"toPay\": 120000,\n              \"rrso\": 0\n          },\n          {\n              \"instalmentAmount\": 1200,\n              \"loanTerm\": 10,\n              \"toPay\": 120000,\n              \"rrso\": 0\n          }\n      ]\n   },\n   {\n      \"name\":\"Niskie raty\",\n      \"description\":\"Zakupy bez obciążania budżetu, dostosowane do Twoich potrzeb. Sam decydujesz o liczbie rat.\",\n      \"icon\":\"\u003C?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>...\",\n      \"type\":\"CONVENIENT_INSTALLMENTS\",\n      \"instalmentAmount\":6200,\n      \"representativeExample\":\"Przykład reprezentatywny\",\n      \"rrso\":0.2384,\n      \"toPay\":148797,\n      \"remarks\": null,\n      \"loanTerm\": 24,\n      \"loanParameters\": [\n          {\n              \"instalmentAmount\": 21201,\n              \"loanTerm\": 6,\n              \"toPay\": 127206,\n              \"rrso\": 0.17420000000000002\n          },\n          {\n              \"instalmentAmount\": 11200,\n              \"loanTerm\": 12,\n              \"toPay\": 134394,\n              \"rrso\": 0.1869\n          },\n          {\n              \"instalmentAmount\": 7867,\n              \"loanTerm\": 18,\n              \"toPay\": 141602,\n              \"rrso\": 0.1892\n          },\n          {\n              \"instalmentAmount\": 6200,\n              \"loanTerm\": 24,\n              \"toPay\": 148797,\n              \"rrso\": 0.18899999999999997\n          },\n          {\n              \"instalmentAmount\": 4534,\n              \"loanTerm\": 36,\n              \"toPay\": 163206,\n              \"rrso\": 0.1863\n          },\n          {\n              \"instalmentAmount\": 3701,\n              \"loanTerm\": 48,\n              \"toPay\": 177614,\n              \"rrso\": 0.1827\n          }\n      ]\n   }\n]",{"id":313,"title":314,"titles":315,"content":316,"level":148},"/docs/api/financial-products#opis-pól-odpowiedzi","Opis pól odpowiedzi",[58],"PoleTypOpisnamestringNazwa produktu.descriptionstringOpis produktu.iconstringIkona w formacie SVG.typestringTyp produktu — zob. typy produktów finansowych. Opcjonalnie przekazywany przy tworzeniu wniosku.instalmentAmountintKwota raty w groszach.representativeExamplestringPrzykład reprezentatywny.rrsofloatRRSO dla tego typu produktu.toPayintŁączna kwota spłaty kredytu w groszach.remarksstring, nullDodatkowe uwagi związane z ofertą.loanTermintLiczba rat.loanParametersarrayKolekcja wariantów rat wraz z kwotą spłaty i kwotą raty.",{"id":318,"title":156,"titles":319,"content":320,"level":148},"/docs/api/financial-products#kody-odpowiedzi-serwera",[58],"200 OK400 Not Found401 Unauthorized405 Method Not Allowed500 Internal Server Error",{"id":322,"title":323,"titles":324,"content":325,"level":148},"/docs/api/financial-products#produkty-finansowe-kalkulowane-na-podstawie-koszyka","Produkty finansowe kalkulowane na podstawie koszyka",[58],"Oferty zależne od zawartości koszyka zakupowego i kosztów transportu (np. leasing) pobiera się metodą POST. W ciele żądania należy przesłać strukturę JSON pola cart opisaną w metodzie order_create. Zapytanie: curl -X POST https://{HOST_API}/v1/financial-products?loanAmount=120000&loanTerm=6&productTypes=LEASING \\\n--header \"Content-Type: application/json\" \\\n--header \"Api-Key: {API-KEY}\" \\\n--connection-timeout 5\n--data-raw '{\n  \"category\": \"KATEGORIA ZE SŁOWNIKA\",\n  \"totalAmount\": 443907,\n  \"deliveryCost\": 1230,\n  \"deliveryNetCost\": 1000,\n  \"deliveryCostVatRate\": 23,\n  \"deliveryCostVatAmount\": 230,\n  \"products\": [\n      {\n          \"name\": \"Lenovo Ideapad 120S-14IAP\",\n          \"quantity\": 1,\n          \"price\": 246000,\n          \"netPrice\": 200000,\n          \"vatRate\": 23,\n          \"vatAmount\": 46000,\n          \"photoUrl\": \"01e5f8\",\n          \"ean\": \"9002490100070\",\n          \"externalId\": \"123\",\n          \"category\": \"productCategory\"\n      },\n      {\n          \"name\": \"Lenovo Ideapad 120S-14IAP\",\n          \"quantity\": 1,\n          \"price\": 196677,\n          \"netPrice\": 159900,\n          \"vatRate\": 23,\n          \"vatAmount\": 36777,\n          \"photoUrl\": \"01e5f8\",\n          \"ean\": \"9002490100070\",\n          \"externalId\": \"123\",\n          \"category\": \"productCategory\"\n      }\n  ]\n}'",{"id":327,"title":328,"titles":329,"content":330,"level":148},"/docs/api/financial-products#przykłady-implementacji-produktów-finansowych","Przykłady implementacji produktów finansowych",[58],"Przykład reprezentacji widoku produktów: HTML do pobrania: comfino-products.zip html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":63,"title":62,"titles":332,"content":333,"level":131},[],"Zwraca parametry najlepszej możliwej oferty finansowej z najniższą ratą.",{"id":335,"title":62,"titles":336,"content":337,"level":131},"/docs/api/best-possible-loan-parameters#parametry-najlepszej-oferty",[],"Endpoint zwraca parametry najlepszej możliwej oferty finansowej (z najniższą ratą). Zapytanie: curl -X GET https://{HOST_API}/v1/best-possible-loan-parameters?loanAmount=100000 \\\n-H \"Content-Type: application/json\" \\\n-H \"Api-Key: {API-KEY}\"",{"id":339,"title":305,"titles":340,"content":341,"level":148},"/docs/api/best-possible-loan-parameters#parametry-zapytania",[62],"ParametrTypWymaganeOpisloanAmountinttakKwota pożyczki w groszach.",{"id":343,"title":172,"titles":344,"content":345,"level":148},"/docs/api/best-possible-loan-parameters#odpowiedź",[62],"{\n    \"instalmentAmount\": 2883,\n    \"loanTerm\": 48,\n    \"toPay\": 138384\n}",{"id":347,"title":314,"titles":348,"content":349,"level":148},"/docs/api/best-possible-loan-parameters#opis-pól-odpowiedzi",[62],"PoleTypOpisinstalmentAmountintKwota raty w groszach.loanTermintLiczba rat.toPayintŁączna kwota spłaty kredytu w groszach.",{"id":351,"title":156,"titles":352,"content":353,"level":148},"/docs/api/best-possible-loan-parameters#kody-odpowiedzi-serwera",[62],"200 OK400 Not Found401 Unauthorized405 Method Not Allowed500 Internal Server Error html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":67,"title":66,"titles":355,"content":356,"level":131},[],"Tworzy nowy wniosek kredytowy wraz z danymi koszyka i klienta.",{"id":358,"title":66,"titles":359,"content":360,"level":131},"/docs/api/order-create#tworzenie-wniosku-kredytowego",[],"Wszystkie kwoty przesyłane do API muszą być typu int i podane w groszach.Zapytanie jest weryfikowane pod kątem poprawności przesyłanych wartości.Zamówienie może zawierać rabaty, które pomniejszają wartość koszyka i kredytu.Zamówienie może zawierać dodatkowe koszty wynikające z obsługi zamówienia.W szczególnych przypadkach możliwa jest późniejsza zmiana kwoty zamówienia. Zapytanie: curl -X POST 'http://{HOST_API}/v1/orders' \\\n--header 'API-KEY: {API-KEY}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n  \"notifyUrl\": \"https://your-shop.tld/notify\",\n  \"returnUrl\": \"https://your-shop.tld/thanks\",\n  \"orderId\": \"{twój_identyfikator_zamówienia}\",\n  \"loanParameters\": {\n      \"term\": 123,\n      \"type\": \"INSTALLMENTS_ZERO_PERCENT\",\n      \"allowedProductTypes\": [\"INSTALLMENTS_ZERO_PERCENT\",\"PAY_LATER\"]\n  },\n  \"cart\": {\n      \"category\": \"KATEGORIA ZE SŁOWNIKA\",\n      \"totalAmount\": 443907,\n      \"deliveryCost\": 1230,\n      \"deliveryNetCost\": 1000,\n      \"deliveryCostVatRate\": 23,\n      \"deliveryCostVatAmount\": 230,\n      \"products\": [\n          {\n              \"name\": \"Lenovo Ideapad 120S-14IAP\",\n              \"quantity\": 1,\n              \"price\": 246000,\n              \"netPrice\": 200000,\n              \"vatRate\": 23,\n              \"vatAmount\": 46000,\n              \"photoUrl\": \"01e5f8\",\n              \"ean\": \"9002490100070\",\n              \"externalId\": \"123\",\n              \"category\": \"productCategory\"\n          },\n          {\n              \"name\": \"Lenovo Ideapad 120S-14IAP\",\n              \"quantity\": 1,\n              \"price\": 196677,\n              \"netPrice\": 159900,\n              \"vatRate\": 23,\n              \"vatAmount\": 36777,\n              \"photoUrl\": \"01e5f8\",\n              \"ean\": \"9002490100070\",\n              \"externalId\": \"123\",\n              \"category\": \"productCategory\"\n          }\n      ]\n  },\n  \"customer\": {\n      \"firstName\": \"John\",\n      \"lastName\": \"John\",\n      \"taxId\": null,\n      \"email\": \"customer@example.com\",\n      \"phoneNumber\": \"312213213\",\n      \"ip\": \"ip klienta\",\n      \"regular\": false,\n      \"logged\": false,\n      \"address\": {\n          \"street\": \"Różana\",\n          \"buildingNumber\": \"1\",\n          \"apartmentNumber\": \"1\",\n          \"postalCode\": \"10-899\",\n          \"city\": \"Warszawa\",\n          \"countryCode\": \"PL\"\n      }\n  },\n  \"seller\": {\n      \"taxId\": \"1234567890\"\n  },\n  \"accountNumber\": \"75114011244753619198148640\",\n  \"transferTitle\": \"Płatność za zamówienie 1234ABCDE\"\n}'",{"id":362,"title":363,"titles":364,"content":365,"level":148},"/docs/api/order-create#parametry-żądania","Parametry żądania",[66],"PoleTypWymaganeOpisnotifyUrlstringnieURL powiadomień (max. 255 znaków alfanumerycznych).returnUrlstringtakURL powrotu po zakończeniu wniosku (max. 255 znaków alfanumerycznych).orderIdstringtakIdentyfikator zamówienia (max. 36 znaków alfanumerycznych).loanParametersobjecttakParametry kredytu w formacie JSON.cartobjecttakKoszyk w formacie JSON.customerobjecttakDane klienta w formacie JSON.sellerobjectnieDane sprzedawcy w formacie JSON. Dla konta merchant pomijane; dla marketplace wymagane — NIP musi być wcześniej zdefiniowany metodą sale-point-add.accountNumberstringnieNumer konta bankowego (max. 26 cyfr).transferTitlestring, nullnieTytuł przelewu od Comfino do sklepu (max. 140 znaków). Jeśli nie podano, Comfino użyje wartości pola orderId.",{"id":367,"title":368,"titles":369,"content":370,"level":371},"/docs/api/order-create#loanparameters","loanParameters",[66,363],"PoleTypWymaganeOpistermint, nullnieLiczba rat (wartość numeryczna lub null).typestring, nullnieTyp produktu — null lub wartość ze słownika typów.allowedProductTypesarray, nullnieTablica typów ze słownika ograniczająca listę ofert na wniosku. Wartość null znosi ograniczenia; pusta tablica [] blokuje wyświetlanie ofert.",3,{"id":373,"title":374,"titles":375,"content":376,"level":371},"/docs/api/order-create#cart","cart",[66,363],"PoleTypWymaganeOpiscategorystringnieKategoria koszyka (znaki alfanumeryczne).totalAmountinttakSuma brutto wszystkich produktów wraz z kosztem dostawy w groszach.deliveryCostint, nullnieKoszt dostawy brutto w groszach.deliveryNetCostint, nullnieKoszt dostawy netto w groszach.deliveryCostVatRateint, nullnieStawka VAT kosztu dostawy (null — VAT ZW).deliveryCostVatAmountint, nullnieWartość VAT kosztu dostawy w groszach.productsarraytakLista produktów w formacie JSON.",{"id":378,"title":379,"titles":380,"content":381,"level":371},"/docs/api/order-create#cartproduct","cart.product",[66,363],"PoleTypWymaganeOpisnamestringtakNazwa produktu (znaki alfanumeryczne).quantityinttakIlość sztuk.priceinttakCena brutto w groszach.netPriceint, nullnieCena netto w groszach.vatRateint, nullnieStawka VAT (null — VAT ZW).vatAmountint, nullnieWartość VAT w groszach.photoUrlstring, nullnieURL zdjęcia produktu.eanstring, nullnieKod EAN produktu.externalIdstring, nullnieZewnętrzny identyfikator produktu.categorystring, nullnieKategoria produktu lub wartości związane z dodatkowymi opłatami i rabatami.",{"id":383,"title":384,"titles":385,"content":386,"level":371},"/docs/api/order-create#customer","customer",[66,363],"PoleTypWymaganeOpisfirstNamestring, nulltakImię (min. 2, max. 63 znaki). Jeśli sklep przechowuje imię i nazwisko w jednym polu, przekazuje pierwszy człon po podziale po spacji.lastNamestring, nulltakNazwisko (min. 2, max. 63 znaki). Jeśli sklep przechowuje imię i nazwisko w jednym polu, przekazuje wszystko od drugiego członu.taxIdstring, nullnieNIP klienta.emailstringtakAdres e-mail klienta.phoneNumberstringtakNumer telefonu (9 cyfr).ipstringtakAdres IP klienta (IPv4 lub IPv6).regularbool, nullnieStały klient / ponowny zakup.loggedbool, nullnieCzy klient jest zalogowany.addressobject, nullnieAdres klienta w formacie JSON.",{"id":388,"title":389,"titles":390,"content":391,"level":371},"/docs/api/order-create#customeraddress","customer.address",[66,363],"PoleTypWymaganeOpisstreetstring, nullnieUlica.buildingNumberstring, nullnieNumer budynku.apartmentNumberstring, nullnieNumer lokalu.postalCodestring, nullnieKod pocztowy.citystring, nullnieMiasto.countryCodestring, nullnieKod kraju.",{"id":393,"title":394,"titles":395,"content":396,"level":371},"/docs/api/order-create#seller","seller",[66,363],"PoleTypWymaganeOpistaxIdstring, nullnieNIP sprzedawcy (10 znaków alfanumerycznych).",{"id":398,"title":399,"titles":400,"content":204,"level":148},"/docs/api/order-create#dodatkowe-koszty-i-rabaty","Dodatkowe koszty i rabaty",[66],{"id":402,"title":403,"titles":404,"content":405,"level":371},"/docs/api/order-create#dodatkowe-koszty-obsługi-płatności-i-przesyłki","Dodatkowe koszty obsługi płatności i przesyłki",[66,399],"Aby doliczyć dodatkowe koszty do wartości kredytu, dodaj produkt o kategorii ADDITIONAL_FEE z odpowiednią wartością. Suma wszystkich wartości w koszyku pomnożona przez ilość musi być równa totalAmount. curl -X POST 'http://{HOST_API}/v1/orders' \\\n--header 'API-KEY: {API-KEY}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n  \"notifyUrl\": \"https://your-shop.tld/notify\",\n  \"returnUrl\": \"https://your-shop.tld/thanks\",\n  \"orderId\": \"{twój_identyfikator_zamówienia}\",\n  \"loanParameters\": {\n    \"term\": 10,\n    \"type\": \"INSTALLMENTS_ZERO_PERCENT\"\n  },\n  \"cart\": {\n      \"category\": \"KATEGORIA Z SŁOWNIKA\",\n      \"totalAmount\": 36000,\n      \"deliveryCost\": 1000,\n      \"products\": [\n          {\n              \"name\": \"Lenovo Ideapad 120S-14IAP\",\n              \"quantity\": 1,\n              \"price\": 10000,\n              \"photoUrl\": \"01e5f8\",\n              \"ean\": \"9002490100070\",\n              \"externalId\": \"123\",\n              \"category\": \"productCategory\"\n          },\n          {\n              \"name\": \"Lenovo Ideapad 120S-14IAP\",\n              \"quantity\": 1,\n              \"price\": 20000,\n              \"photoUrl\": \"01e5f8\",\n              \"ean\": \"9002490100070\",\n              \"externalId\": \"123\",\n              \"category\": \"productCategory\"\n          },\n          {\n            \"name\": \"Dopłata rodzaj płatności\",\n            \"quantity\": 1,\n            \"price\": 5000,\n            \"category\": \"ADDITIONAL_FEE\"\n          }\n      ]\n  },\n  \"customer\": {\n    \"firstName\": \"John\",\n    \"lastName\": \"John\",\n    \"taxId\": null,\n    \"email\": \"customer@example.com\",\n    \"phoneNumber\": \"312213213\",\n    \"ip\": \"ip klienta\",\n    \"regular\": false,\n    \"logged\": false,\n    \"address\": {\n      \"street\": \"Rowowa\",\n      \"buildingNumber\": \"1\",\n      \"apartmentNumber\": \"1\",\n      \"postalCode\": \"10-899\",\n      \"city\": \"Karłowice\",\n      \"countryCode\": \"PL\"\n    }\n  },\n  \"seller\": {\n    \"taxId\": \"1234567890\"\n  },\n  \"accountNumber\": \"75114011244753619198148640\",\n  \"transferTitle\": \"Płatność za zamówienie 1234ABCDE\"\n}'",{"id":407,"title":408,"titles":409,"content":410,"level":371},"/docs/api/order-create#rabaty","Rabaty",[66,399],"Aby pomniejszyć wartość kredytu o rabat, dodaj produkt o kategorii DISCOUNT z ujemną kwotą. Suma wszystkich wartości w koszyku pomnożona przez ilość musi być równa totalAmount. curl -X POST 'http://{HOST_API}/v1/orders' \\\n--header 'API-KEY: {API-KEY}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n  \"notifyUrl\": \"https://your-shop.tld/notify\",\n  \"returnUrl\": \"https://your-shop.tld/thanks\",\n  \"orderId\": \"{twój_identyfikator_zamówienia}\",\n  \"loanParameters\": {\n    \"term\": 10,\n    \"type\": \"INSTALLMENTS_ZERO_PERCENT\"\n  },\n  \"cart\": {\n      \"category\": \"KATEGORIA Z SŁOWNIKA\",\n      \"totalAmount\": 26000,\n      \"deliveryCost\": 1000,\n      \"products\": [\n          {\n              \"name\": \"Lenovo Ideapad 120S-14IAP\",\n              \"quantity\": 1,\n              \"price\": 10000,\n              \"photoUrl\": \"01e5f8\",\n              \"ean\": \"9002490100070\",\n              \"externalId\": \"123\",\n              \"category\": \"productCategory\"\n          },\n          {\n              \"name\": \"Lenovo Ideapad 120S-14IAP\",\n              \"quantity\": 1,\n              \"price\": 20000,\n              \"photoUrl\": \"01e5f8\",\n              \"ean\": \"9002490100070\",\n              \"externalId\": \"123\",\n              \"category\": \"productCategory\"\n          },\n          {\n            \"name\": \"Nazwa rabatu\",\n            \"quantity\": 1,\n            \"price\": -5000,\n            \"category\": \"DISCOUNT\"\n          }\n      ]\n  },\n  \"customer\": {\n    \"firstName\": \"John\",\n    \"lastName\": \"John\",\n    \"taxId\": null,\n    \"email\": \"customer@example.com\",\n    \"phoneNumber\": \"312213213\",\n    \"ip\": \"ip klienta\",\n    \"regular\": false,\n    \"logged\": false,\n    \"address\": {\n      \"street\": \"Rowowa\",\n      \"buildingNumber\": \"1\",\n      \"apartmentNumber\": \"1\",\n      \"postalCode\": \"10-899\",\n      \"city\": \"Karłowice\",\n      \"countryCode\": \"PL\"\n    }\n  },\n  \"seller\": {\n    \"taxId\": \"1234567890\"\n  },\n  \"accountNumber\": \"75114011244753619198148640\",\n  \"transferTitle\": \"Płatność za zamówienie 1234ABCDE\"\n}'",{"id":412,"title":172,"titles":413,"content":414,"level":148},"/docs/api/order-create#odpowiedź",[66],"{\n    \"status\": \"CREATED\",\n    \"externalId\": \"{twój_identyfikator_zamówienia}\",\n    \"applicationUrl\": \"{url_do_przekierowania_na_stronę_formularza}\"\n}",{"id":416,"title":156,"titles":417,"content":418,"level":148},"/docs/api/order-create#kody-odpowiedzi-serwera",[66],"201 Created400 Bad Request401 Unauthorized405 Method Not Allowed500 Internal Server Error html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":71,"title":70,"titles":420,"content":421,"level":131},[],"Opisuje mechanizm powiadamiania sklepu o zmianie statusu wniosku kredytowego przez Comfino.",{"id":423,"title":70,"titles":424,"content":425,"level":131},"/docs/api/order-status-notify#notyfikacja-statusu-zamówienia",[],"Comfino wysyła żądanie z dokumentem JSON na adres notifyUrl podany podczas tworzenia wniosku.\nStatusy wysyłane są asynchronicznie metodą PUT (jeśli serwer odpowie 405 Method Not Allowed, Comfino ponawia próbę metodą POST).\nComfino oczekuje odpowiedzi 200 OK — przy każdym innym kodzie żądanie jest powtarzane aż do otrzymania 200 OK.\nComfino może wysłać kilka żądań; na każde sklep powinien odpowiedzieć 200 OK. Po odebraniu notyfikacji należy zweryfikować sygnaturę z nagłówka CR-Signature, aby potwierdzić, że żądanie pochodzi od Comfino.",{"id":427,"title":428,"titles":429,"content":430,"level":148},"/docs/api/order-status-notify#weryfikacja-podpisu-cr-signature","Weryfikacja podpisu CR-Signature",[70],"Połącz api-key z treścią odebranego żądania JSON.Wygeneruj hash funkcją sha3-256 z powstałego łańcucha tekstowego.Porównaj hash z wartością nagłówka CR-Signature — równość oznacza prawidłowe żądanie. Budowa nagłówka CR-Signature: sha3-256(api-key + json-request-body)",{"id":432,"title":433,"titles":434,"content":435,"level":148},"/docs/api/order-status-notify#struktura-dokumentu-json-żądania","Struktura dokumentu JSON żądania",[70],"{\n    \"status\": \"CREATED\",\n    \"externalId\": \"{twój_identyfikator_zamówienia:string}\",\n    \"changedAt\": \"{znacznik czasu informujący kiedy nastąpiła zmiana statusu:int}\",\n    \"paymentMethod\": \"{wybrana przez użytkownika metoda płatności:string}\",\n    \"productType\": \"{typ produktu (np. INSTALLMENTS_ZERO_PERCENT): string|null}\"\n}",{"id":437,"title":438,"titles":439,"content":440,"level":148},"/docs/api/order-status-notify#metody-płatności","Metody płatności",[70],"COMFINO — finansowanie ratalne COMFINOBLIK — płatność mobilna BLIKCARD — karta kredytowa/debetowanull — finansowanie nie zostało jeszcze udzielone",{"id":442,"title":156,"titles":443,"content":444,"level":148},"/docs/api/order-status-notify#kody-odpowiedzi-serwera",[70],"Sklep powinien odpowiadać wyłącznie kodem 200 OK. Każdy inny kod spowoduje ponowne wysłanie notyfikacji przez Comfino. Statusy wniosku i metody płatności html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":75,"title":74,"titles":446,"content":447,"level":131},[],"Opisuje warunki i sposób zmiany kwoty wcześniej złożonego zamówienia.",{"id":449,"title":74,"titles":450,"content":451,"level":131},"/docs/api/order-modify-amount#zmiana-kwoty-zamówienia",[],"Zmiana kwoty jest możliwa tylko przy spełnieniu wszystkich poniższych warunków: Sklep/Merchant ma włączoną opcję zmiany kwoty w systemie Comfino — skontaktuj się z nami.Bank obsługujący płatność wspiera opcję zmiany kwoty.Koszyk zamówienia zawiera nie więcej niż jeden produkt.Bieżący status zamówienia to ACCEPTED — zob. statusy wniosków. Zapytanie: curl -X PUT 'https://{HOST_API}/v1/orders/legalize' \\\n--header 'API-KEY: {API-KEY}' \\\n--data-raw '{\n    \"externalId\": \"{twój_identyfikator_zamówienia}\",\n    \"loanAmount\": {nowa kwota zamówienia}\n}'",{"id":453,"title":156,"titles":454,"content":455,"level":148},"/docs/api/order-modify-amount#kody-odpowiedzi-serwera",[74],"200 OK400 Bad request401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed500 Internal Server Error Po zmianie kwoty zamówienia należy zlecić wypłatę środków. html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":79,"title":78,"titles":457,"content":458,"level":131},[],"Anuluje wniosek kredytowy w dowolnym momencie jego trwania.",{"id":460,"title":78,"titles":461,"content":462,"level":131},"/docs/api/order-cancellation#anulowanie-wniosku",[],"Wniosek można anulować w dowolnym momencie jego trwania. Zapytanie: curl -X PUT https://{HOST_API}/v1/orders/{twój_identyfikator_zamówienia}/cancel \\\n-H \"Content-Type: application/json\" \\\n-H \"Api-Key: {API-KEY}\" Odpowiedź: {\n    \"status\": \"CANCELLED_BY_SHOP\"\n}",{"id":464,"title":156,"titles":465,"content":466,"level":148},"/docs/api/order-cancellation#kody-odpowiedzi-serwera",[78],"204 No Content401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed500 Internal Server Error html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":83,"title":82,"titles":468,"content":469,"level":131},[],"Zleca wypłatę środków i zmienia status wniosku na WAITING_FOR_PAYMENT.",{"id":471,"title":82,"titles":472,"content":473,"level":131},"/docs/api/order-withdraw-cash#wypłata-środków",[],"Żądanie zleca wypłatę środków i zmienia status wniosku na WAITING_FOR_PAYMENT. Zapytanie: curl -X POST 'https://{HOST_API}/v1/orders/{twój_identyfikator_zamówienia}/withdraw-cash' \\\n--header 'API-KEY: {API-KEY}' Odpowiedź: {\n    \"status\": \"WAITING_FOR_PAYMENT\"\n}",{"id":475,"title":156,"titles":476,"content":477,"level":148},"/docs/api/order-withdraw-cash#kody-odpowiedzi-serwera",[82],"200 OK401 Unauthorized403 Forbidden404 Not Found405 Method Not Allowed500 Internal Server Error html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":87,"title":86,"titles":479,"content":480,"level":131},[],"Opisuje endpoint dodający nowy punkt sprzedaży usług z unikalnym numerem NIP.",{"id":482,"title":86,"titles":483,"content":484,"level":131},"/docs/api/sale-point-add#dodanie-punktu-sprzedaży",[],"Dodaje nowy punkt sprzedaży usług. Każdy wpis musi mieć unikalny numer NIP — nie można zarejestrować dwóch punktów z tym samym NIP. Zapytanie jest weryfikowane pod kątem poprawności przesyłanych wartości.",{"id":486,"title":145,"titles":487,"content":488,"level":148},"/docs/api/sale-point-add#zapytanie",[86],"curl -X POST 'http://{HOST_API}/v1/sale-points' \\\n--header 'API-KEY: {API-KEY}' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n  \"name\": \"{nazwa dostawcy usługi}\",\n  \"taxId\": \"{NIP usługodawcy}\",\n  \"city\": \"{miejscowość usługodawcy}\",\n  \"accountNumber\": \"{numer konta usługodawcy}\",\n  \"contactPerson\": \"{dane osoby do kontaktu}\",\n  \"productTypes\": [{lista typów produktów dostępnych dla punktu sprzedaży}]\n}'",{"id":490,"title":172,"titles":491,"content":492,"level":148},"/docs/api/sale-point-add#odpowiedź",[86],"{\n    \"name\": \"{nazwa dostawcy usługi}\",\n    \"taxId\": \"{NIP usługodawcy}\",\n    \"active\": true,\n    \"city\": \"{miejscowość usługodawcy}\",\n    \"accountNumber\": \"{numer konta usługodawcy}\",\n    \"contactPerson\": \"{dane osoby do kontaktu}\",\n    \"productTypes\": [{lista typów produktów dostępnych dla punktu sprzedaży}]\n}",{"id":494,"title":151,"titles":495,"content":496,"level":148},"/docs/api/sale-point-add#definicja-pól",[86],"PoleTypWymaganeOpisnamestringtakZnaki alfanumeryczne (max. 100)taxIdstringtakZnaki alfanumeryczne (max. 10)citystringtakZnaki alfanumeryczne (max. 50)accountNumberstringtakZnaki alfanumeryczne (max. 50)contactPersonstringnieZnaki alfanumeryczne (max. 50)productTypesstringnieTablica wartosci slownikowych - zobacz sekcje typy produktow finansowych w dokumentacji wartosci slownikowych.",{"id":498,"title":156,"titles":499,"content":500,"level":148},"/docs/api/sale-point-add#kody-odpowiedzi-serwera",[86],"201 Created400 Bad Request401 Unauthorized403 Http Forbidden404 Http Not Found405 Method Not Allowed500 Internal Server Error html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"id":12,"title":16,"titles":502,"content":503,"level":131},[],"Zawiera dokumentację integracji sklepu z systemem płatności Comfino.",{"id":505,"title":506,"titles":507,"content":508,"level":131},"/docs/api#integracja-sklepu","Integracja sklepu",[],"Dokumentacja przeznaczona jest dla developerów integrujących sklep z Comfino.",{"id":510,"title":511,"titles":512,"content":513,"level":148},"/docs/api#kroki-integracji","Kroki integracji",[506],"Przekazanie koszyka wraz z danymi użytkownika przez API Comfino.Przejście na formularz wniosku na podstawie linku w odpowiedzi z API Comfino.Po wypełnieniu formularza klient otrzymuje najlepszą ofertę kredytu i po jej wybraniu wniosek trafia do instytucji finansowej.Komunikat przyznania kredytu jest przekazywany jako wywołanie adresu sklepu ze statusem i informacją o wniosku.",{"id":97,"title":96,"titles":515,"content":516,"level":131},[],"Wyjaśnia konfigurację widgetu Comfino JavaScript — osadzanie na stronie produktu i funkcje zwrotne.",{"id":518,"title":519,"titles":520,"content":204,"level":131},"/docs/widgets/comfino#comfino-raty","Comfino raty",[],{"id":522,"title":523,"titles":524,"content":525,"level":148},"/docs/widgets/comfino#osadzanie-widgetu-na-stronie-produktu","Osadzanie widgetu na stronie produktu",[519],"Umieść poniższy kod inicjalizujący na stronie produktu: const script = document.createElement('script');\nscript.onload = function () {\n    ComfinoWidgetFrontend.init({\n        widgetKey: 'WIDGET_KEY',\n        priceSelector: 'WIDGET_PRICE_SELECTOR',\n        widgetTargetSelector: 'WIDGET_TARGET_SELECTOR',\n        priceObserverSelector: 'WIDGET_PRICE_OBSERVER_SELECTOR',\n        priceObserverLevel: WIDGET_PRICE_OBSERVER_LEVEL,\n        type: 'WIDGET_TYPE',\n        offerTypes: ['OFFER_TYPE_1','OFFER_TYPE_2','OFFER_TYPE_3'],\n        embedMethod: 'EMBED_METHOD'\n    });\n};\nscript.src = '//widget.comfino.pl/v2/widget-frontend.min.js';\nscript.async = true;\ndocument.getElementsByTagName('head')[0].appendChild(script);",{"id":527,"title":528,"titles":529,"content":530,"level":148},"/docs/widgets/comfino#parametry-podstawowe","Parametry podstawowe",[519],"widgetKey — klucz API widgetu do kalkulacji i pobierania oferty z API ComfinopriceSelector — selektor elementu zawierającego cenę produktu (np. span[itemprop=price]; szczegóły w sekcji \"Informacje dodatkowe\")widgetTargetSelector — selektor elementu kontenera widgetu (np. div.product-actions; szczegóły w sekcji \"Informacje dodatkowe\")priceObserverSelector — selektor obserwowanego elementu nadrzędnego zawierającego element ceny (szczegóły w sekcji \"Informacje dodatkowe\")priceObserverLevel — poziom hierarchii DOM używany do śledzenia zmian ceny i przeliczania ofert (szczegóły w sekcji \"Informacje dodatkowe\")type — typ widgetu (standard — baner standardowy, classic — baner klasyczny; domyślnie: standard)offerTypes — tablica promowanych typów ofert (INSTALLMENTS_ZERO_PERCENT — Raty 0%, CONVENIENT_INSTALLMENTS — Niskie raty, PAY_LATER — Zapłać później, COMPANY_INSTALLMENTS — Raty dla firm, COMPANY_BNPL — Odroczona płatność dla firm, PAY_IN_PARTS — Podziel na 3, LEASING — Leasing)embedMethod — metoda osadzania widgetu (INSERT_INTO_FIRST, INSERT_INTO_LAST — wartość domyślna, INSERT_BEFORE, INSERT_AFTER); szczegóły w sekcji \"Informacje dodatkowe\"",{"id":532,"title":533,"titles":534,"content":535,"level":148},"/docs/widgets/comfino#parametry-dodatkowe","Parametry dodatkowe",[519],"price — cena produktu do kalkulacji rat; gdy ustawiony, parametry priceSelector, priceObserverSelector i priceObserverLevel są ignorowaneproductId — ID wyświetlanego produktuproductPrice — cena brutto wyświetlanego produktu (wartość pomocnicza; nie powoduje ignorowania priceSelector, priceObserverSelector ani priceObserverLevel)numOfInstallments — liczba rat dla kalkulacji (domyślnie: 0 — domyślna liczba rat dla danego typu oferty)platform — identyfikator platformy e-commerce (domyślnie: [unknown])platformName — nazwa platformy e-commerce (domyślnie: [unknown])platformVersion — wersja platformy e-commerce (domyślnie: [unknown version])platformDomain — domena platformy e-commerce (domyślnie: [unknown])pluginVersion — wersja pluginu (domyślnie: [unknown version])availableProductTypes — tablica dostępnych typów produktów finansowych dla danej kategorii (filtrowanie zaawansowane)productCartDetails — obiekt ze szczegółami koszyka produktów (totalAmount, products)language — język widgetu (domyślnie: pl; dostępne: pl, en)currency — waluta (domyślnie: PLN)showProviderLogos — wyświetla logotypy kredytodawców (domyślnie: false)bannerContainerId — ID kontenera baneru (domyślnie: comfino-widget-banner)bannerContainerClass — klasa CSS kontenera baneru (domyślnie: comfino-widget-banner)calculatorContainerId — ID kontenera kalkulatora (domyślnie: comfino-widget-calculator)calculatorContainerClass — klasa CSS kontenera kalkulatora (domyślnie: comfino-widget-calculator)customBannerCss — URL własnych stylów CSS dla banerucustomCalculatorCss — URL własnych stylów CSS dla kalkulatorahasPriceInput — baner z polem tekstowym do manualnego wpisania ceny (true/false)callbackBefore — funkcja zwrotna uruchamiana przed pobraniem danych z API i wyświetleniem widgetucallbackAfter — funkcja zwrotna uruchamiana po pobraniu danych z API i wyświetleniu widgetuonOfferRendered — funkcja zwrotna uruchamiana po wyświetleniu ofertyonWidgetBannerLoaded — funkcja zwrotna uruchamiana po załadowaniu baneru widgetuonWidgetCalculatorLoaded — funkcja zwrotna uruchamiana po załadowaniu kalkulatora widgetuonWidgetCalculatorUpdated — funkcja zwrotna uruchamiana po aktualizacji kalkulatora widgetuonWidgetBannerCustomCssLoaded — funkcja zwrotna uruchamiana po załadowaniu własnych stylów CSS baneruonWidgetCalculatorCustomCssLoaded — funkcja zwrotna uruchamiana po załadowaniu własnych stylów CSS kalkulatoraonGetPriceElement — funkcja zwrotna uruchamiana przed pobraniem cenydebugMode — tryb debugowania (domyślnie: false) opcja — parametr wymagany | opcja — parametr opcjonalny",{"id":537,"title":538,"titles":539,"content":540,"level":148},"/docs/widgets/comfino#hosty-skryptu-widgetu","Hosty skryptu widgetu",[519],"Produkcyjny: https://widget.comfino.pl/v2/widget-frontend.min.jsTestowy (sandbox): https://widget.craty.pl/v2/widget-frontend.min.js",{"id":542,"title":543,"titles":544,"content":545,"level":148},"/docs/widgets/comfino#typy-widgetu","Typy widgetu",[519],"Baner standardowy (standard) Aktywna opcja \"Pokaż loga dostawców usług finansowych\" Baner klasyczny (classic) Aktywna opcja \"Pokaż loga dostawców usług finansowych\" Kalkulator rat",{"id":547,"title":548,"titles":549,"content":550,"level":148},"/docs/widgets/comfino#funkcje-zwrotne","Funkcje zwrotne",[519],"callbackBefore Funkcja zwrotna uruchamiana przed pobraniem danych z API i wyświetleniem widgetu. Domyślna implementacja: function () {} callbackAfter Funkcja zwrotna uruchamiana po pobraniu danych z API i wyświetleniu widgetu. Domyślna implementacja: function () {} onOfferRendered Funkcja zwrotna uruchamiana po wyświetleniu oferty. Umożliwia dokonanie modyfikacji wizualnych w wyświetlonym widgecie. Domyślna implementacja: function (jsonResponse, widgetTarget, widgetNode) { } Argumenty funkcji: {Object} jsonResponse — obiekt JSON z odpowiedzią API zawierającą skalkulowaną ofertę{HTMLElement} widgetTarget — element strony, w którym został umieszczony widget{Document} widgetNode — węzeł DOM zawierający strukturę HTML widgetu onWidgetBannerLoaded Funkcja zwrotna uruchamiana po załadowaniu baneru widgetu. Domyślna implementacja: function (loadedOffers) { } Argumenty funkcji: {Array} loadedOffers — tablica obiektów z załadowanymi ofertami finansowymi onWidgetCalculatorLoaded Funkcja zwrotna uruchamiana po załadowaniu kalkulatora widgetu. Domyślna implementacja: function (loadedOffers) { } Argumenty funkcji: {Array} loadedOffers — tablica obiektów z załadowanymi ofertami finansowymi onWidgetCalculatorUpdated Funkcja zwrotna uruchamiana po aktualizacji kalkulatora widgetu. Domyślna implementacja: function (activeOffer) { } Argumenty funkcji: {Object} activeOffer — obiekt z aktywną ofertą finansową onWidgetBannerCustomCssLoaded Funkcja zwrotna uruchamiana po załadowaniu własnych stylów CSS baneru. Domyślna implementacja: function (cssUrl) { } Argumenty funkcji: {string} cssUrl — URL załadowanego pliku CSS onWidgetCalculatorCustomCssLoaded Funkcja zwrotna uruchamiana po załadowaniu własnych stylów CSS kalkulatora. Domyślna implementacja: function (cssUrl) { } Argumenty funkcji: {string} cssUrl — URL załadowanego pliku CSS onGetPriceElement Funkcja zwrotna uruchamiana przed pobraniem ceny. Pozwala wpłynąć na sposób pobierania ceny poprzez podstawienie własnej logiki. Domyślna implementacja: (priceSelector, priceObserverSelector) => null Argumenty funkcji: {string} priceSelector — aktualny selektor elementu zawierającego cenę produktu{string} priceObserverSelector — aktualny selektor obserwowanego elementu nadrzędnego, który zawiera element ceny",{"id":552,"title":553,"titles":554,"content":204,"level":148},"/docs/widgets/comfino#informacje-dodatkowe","Informacje dodatkowe",[519],{"id":556,"title":557,"titles":558,"content":559,"level":371},"/docs/widgets/comfino#pobieranie-kwoty-kredytu-do-kalkulacji-i-aktualizacja-kalkulacji","Pobieranie kwoty kredytu do kalkulacji i aktualizacja kalkulacji",[519,553],"Selektor elementu ceny (parametr priceSelector): span.current-price-value Kwota pobrana z elementu wskazywanego przez priceSelector służy jako kwota kredytu w kalkulacji oferty. Produkty z kilkoma wariantami cenowymi dynamicznie zmieniają cenę w elemencie wskazywanym przez priceSelector po wyborze opcji produktu. Widget nie wykrywa tej zmiany i oferta pozostaje niezmieniona. Aby włączyć automatyczne przeliczanie oferty przy zmianach ceny, użyj parametru priceObserverSelector lub priceObserverLevel. Jeśli platforma zastępuje całą zawartość elementu nadrzędnego przy zmianie ceny, obserwacja samego elementu ceny nie działa — zostaje on usunięty wraz z obserwatorami zdarzeń. W tej sytuacji podłącz obserwator do elementu wyżej w hierarchii DOM, który zawiera zmieniany element i którego zmiana ceny nie dotyczy. Parametr priceObserverLevel wskazuje, ile poziomów wyżej względem elementu ceny span.current-price-value podłączyć obserwator. Wartość 0 wskazuje sam element ceny, 1 — poziom wyżej div.current-price, 3 — div.product-prices.js-product-prices, itd. Alternatywnie użyj parametru priceObserverSelector, aby bezpośrednio wskazać obserwowany element. Więcej o selektorach CSS: MDN Web Docs - CSS selectors, MDN Web Docs - Document.querySelector()",{"id":561,"title":562,"titles":563,"content":564,"level":371},"/docs/widgets/comfino#pozycjonowanie-widgetu-na-stronie","Pozycjonowanie widgetu na stronie",[519,553],"Selektor elementu kontenera (parametr widgetTargetSelector), w którym jest osadzony widget: div.product-actions Osadzony widget.",{"id":566,"title":567,"titles":568,"content":569,"level":371},"/docs/widgets/comfino#metoda-osadzania-widgetu","Metoda osadzania widgetu",[519,553],"Element kontenera to element dokumentu HTML wskazywany przez selektor z parametru widgetTargetSelector. Dostępne opcje: INSERT_INTO_FIRST — wstawienie elementu widgetu do elementu kontenera na samym początku przed istniejącą zawartościąINSERT_INTO_LAST — wstawienie elementu widgetu do elementu kontenera na samym końcu za istniejącą zawartościąINSERT_BEFORE — wstawienie elementu widgetu przed elementem kontenera (wizualnie nad kontenerem)INSERT_AFTER — wstawienie elementu widgetu za elementem kontenera (wizualnie pod kontenerem) html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":101,"title":100,"titles":571,"content":572,"level":131},[],"Wyjaśnia integrację widgetu Comfino z wtyczką PrestaShop — konfigurację i osadzanie.",{"id":574,"title":575,"titles":576,"content":204,"level":131},"/docs/widgets/prestashop#comfino-raty-prestashop","Comfino raty PrestaShop",[],{"id":578,"title":579,"titles":580,"content":581,"level":148},"/docs/widgets/prestashop#integracja-widgetu-comfino-z-prestashop","Integracja widgetu Comfino z PrestaShop",[575],"Umieść poniższy kod inicjalizujący na dowolnej stronie sklepu: const script = document.createElement('script');\nscript.onload = function () {\n    ComfinoWidgetFrontend.init({\n        widgetKey: '{WIDGET_KEY}',\n        priceSelector: '{WIDGET_PRICE_SELECTOR}',\n        widgetTargetSelector: '{WIDGET_TARGET_SELECTOR}',\n        priceObserverSelector: '{WIDGET_PRICE_OBSERVER_SELECTOR}',\n        priceObserverLevel: {WIDGET_PRICE_OBSERVER_LEVEL},\n        type: '{WIDGET_TYPE}',\n        offerTypes: {OFFER_TYPES},\n        embedMethod: '{EMBED_METHOD}',\n        numOfInstallments: 0,\n        price: null,\n        productId: {PRODUCT_ID},\n        productPrice: {PRODUCT_PRICE},\n        platform: '{PLATFORM}',\n        platformName: '{PLATFORM_NAME}',\n        platformVersion: '{PLATFORM_VERSION}',\n        platformDomain: '{PLATFORM_DOMAIN}',\n        pluginVersion: '{PLUGIN_VERSION}',\n        availableProductTypes: {AVAILABLE_PRODUCT_TYPES},\n        productCartDetails: {PRODUCT_CART_DETAILS},\n        language: '{LANGUAGE}',\n        currency: '{CURRENCY}',\n        showProviderLogos: {SHOW_PROVIDER_LOGOS},\n        customBannerCss: '{CUSTOM_BANNER_CSS_URL}',\n        customCalculatorCss: '{CUSTOM_CALCULATOR_CSS_URL}',\n        callbackBefore: function () {},\n        callbackAfter: function () {},\n        onOfferRendered: function (jsonResponse, widgetTarget, widgetNode) { },\n        onWidgetBannerLoaded: function (loadedOffers) { },\n        onWidgetCalculatorLoaded: function (loadedOffers) { },\n        onWidgetCalculatorUpdated: function (activeOffer) { },\n        onWidgetBannerCustomCssLoaded: function (cssUrl) { },\n        onWidgetCalculatorCustomCssLoaded: function (cssUrl) { },\n        onGetPriceElement: (priceSelector, priceObserverSelector) => null,\n        debugMode: window.location.hash && window.location.hash.substring(1) === 'comfino_debug'\n    });\n};\nscript.src = '{WIDGET_SCRIPT_URL}';\nscript.async = true;\ndocument.getElementsByTagName('head')[0].appendChild(script); Wtyczka Comfino PrestaShop dostarcza gotowy szablon skryptu inicjalizacyjnego. Otwórz formularz konfiguracyjny wtyczki, aby włączyć widget. Aktywuj widget przełącznikiem \"Widget włączony?\". Indywidualny klucz widgetu jest pobierany automatycznie, gdy poprawny klucz API został wprowadzony i zapisany w konfiguracji. Skrypt inicjalizacyjny można modyfikować stosownie do swoich potrzeb. Po zapisaniu zmian widget wyświetla się na stronach spełniających kryteria selektorów \"Selektor elementu ceny widgetu\" i \"Selektor elementu zakotwiczenia widgetu\". Pierwszy selektor wskazuje element HTML z ceną produktu (zazwyczaj strona szczegółów produktu), drugi — element, w którym widget zostanie osadzony. Szczegółowe informacje o konfiguracji widgetu zawiera główna dokumentacja widgetu Comfino. html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":105,"title":104,"titles":583,"content":584,"level":131},[],"Wyjaśnia integrację widgetu Comfino z wtyczką WooCommerce — konfigurację i osadzanie.",{"id":586,"title":587,"titles":588,"content":204,"level":131},"/docs/widgets/woocommerce#comfino-raty-woocommerce","Comfino raty WooCommerce",[],{"id":590,"title":591,"titles":592,"content":593,"level":148},"/docs/widgets/woocommerce#integracja-widgetu-comfino-z-woocommerce","Integracja widgetu Comfino z WooCommerce",[587],"Umieść poniższy kod inicjalizujący na dowolnej stronie sklepu: const script = document.createElement('script');\nscript.onload = function () {\n    ComfinoWidgetFrontend.init({\n        widgetKey: '{WIDGET_KEY}',\n        priceSelector: '{WIDGET_PRICE_SELECTOR}',\n        widgetTargetSelector: '{WIDGET_TARGET_SELECTOR}',\n        priceObserverSelector: '{WIDGET_PRICE_OBSERVER_SELECTOR}',\n        priceObserverLevel: {WIDGET_PRICE_OBSERVER_LEVEL},\n        type: '{WIDGET_TYPE}',\n        offerTypes: {OFFER_TYPES},\n        embedMethod: '{EMBED_METHOD}',\n        numOfInstallments: 0,\n        price: null,\n        productId: {PRODUCT_ID},\n        productPrice: {PRODUCT_PRICE},\n        platform: '{PLATFORM}',\n        platformName: '{PLATFORM_NAME}',\n        platformVersion: '{PLATFORM_VERSION}',\n        platformDomain: '{PLATFORM_DOMAIN}',\n        pluginVersion: '{PLUGIN_VERSION}',\n        availableProductTypes: {AVAILABLE_PRODUCT_TYPES},\n        productCartDetails: {PRODUCT_CART_DETAILS},\n        language: '{LANGUAGE}',\n        currency: '{CURRENCY}',\n        showProviderLogos: {SHOW_PROVIDER_LOGOS},\n        customBannerCss: '{CUSTOM_BANNER_CSS_URL}',\n        customCalculatorCss: '{CUSTOM_CALCULATOR_CSS_URL}',\n        callbackBefore: function () {},\n        callbackAfter: function () {},\n        onOfferRendered: function (jsonResponse, widgetTarget, widgetNode) { },\n        onWidgetBannerLoaded: function (loadedOffers) { },\n        onWidgetCalculatorLoaded: function (loadedOffers) { },\n        onWidgetCalculatorUpdated: function (activeOffer) { },\n        onWidgetBannerCustomCssLoaded: function (cssUrl) { },\n        onWidgetCalculatorCustomCssLoaded: function (cssUrl) { },\n        onGetPriceElement: (priceSelector, priceObserverSelector) => null,\n        debugMode: window.location.hash && window.location.hash.substring(1) === 'comfino_debug'\n    });\n};\nscript.src = '{WIDGET_SCRIPT_URL}';\nscript.async = true;\ndocument.getElementsByTagName('head')[0].appendChild(script); Wtyczka Comfino WooCommerce dostarcza gotowy szablon skryptu inicjalizacyjnego. Otwórz formularz konfiguracyjny wtyczki, aby włączyć widget. Aktywuj widget przełącznikiem \"Widget włączony\". Indywidualny klucz widgetu jest pobierany automatycznie, gdy poprawny klucz API został wprowadzony i zapisany w konfiguracji. Skrypt inicjalizacyjny można modyfikować stosownie do swoich potrzeb. Po zapisaniu zmian widget wyświetla się na stronach spełniających kryteria selektorów \"Selektor elementu ceny widgetu\" i \"Selektor elementu zakotwiczenia widgetu\". Pierwszy selektor wskazuje element HTML z ceną produktu (zazwyczaj strona szczegółów produktu), drugi — element, w którym widget zostanie osadzony. Szczegółowe informacje o konfiguracji widgetu zawiera główna dokumentacja widgetu Comfino. html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":91,"title":50,"titles":595,"content":596,"level":131},[],"Opisuje widgety Comfino umożliwiające prezentację oferty finansowania na stronie sklepu.",{"id":598,"title":599,"titles":600,"content":601,"level":131},"/docs/widgets#widgety-comfino","Widgety Comfino",[],"Widget Comfino prezentuje ofertę finansowania zakupów przez bramkę płatności odroczonych Comfino.\nMożna go umieścić w dowolnym miejscu strony opisu produktu. Widget zawiera kalkulator rat, który pozwala klientowi sprawdzić różne formy finansowania dla wybranych okresów kredytowania.",{"id":603,"title":604,"titles":605,"content":606,"level":148},"/docs/widgets#dostępne-widgety","Dostępne widgety",[599],"Comfino Widget — widget JavaScript do samodzielnej integracjiComfino PrestaShop Widget — integracja z wtyczką PrestaShopComfino WooCommerce Widget — integracja z wtyczką WooCommerce",{"id":116,"title":115,"titles":608,"content":609,"level":131},[],"Opisuje instalację i konfigurację wtyczki Comfino dla platformy Magento 2.3.",{"id":611,"title":612,"titles":613,"content":614,"level":148},"/docs/plugins/magento#wymagania","Wymagania",[115],"Magento w wersji 2.3.5 lub wyższej",{"id":616,"title":617,"titles":618,"content":619,"level":148},"/docs/plugins/magento#instalacja","Instalacja",[115],"Przed instalacją modułu zalecane jest wykonanie kompletnej kopii zapasowej katalogu Magento. Wypakuj archiwum comfino.zip.Skopiuj zawartość folderu comfino do katalogu magento/app/code/Comfino/ComfinoGateway, gdzie:\nmagento — główny katalog sklepu (może być inny),Comfino, ComfinoGateway — podkatalogi, które należy utworzyć w app/code.Sprawdź, czy moduł jest widoczny:\n./bin/magento module:status\n\nNa liście nieaktywnych modułów powinien pojawić się Comfino_ComfinoGateway.Włącz moduł i przebuduj aplikację:\n./bin/magento module:enable Comfino_ComfinoGateway --clear-static-content\n./bin/magento setup:upgrade\n./bin/magento setup:di:compile\n./bin/magento setup:static-content:deploy -f\n./bin/magento cache:flush",{"id":621,"title":622,"titles":623,"content":624,"level":148},"/docs/plugins/magento#konfiguracja","Konfiguracja",[115],"Ustawienia modułu dostępne są w panelu administracyjnym Magento. Kluczowym polem jest Klucz API (API Key). Aktywacja modułu (pierwsza opcja w formularzu ustawień) jest obowiązkowa do prawidłowego działania.",{"id":626,"title":627,"titles":628,"content":629,"level":148},"/docs/plugins/magento#dezaktywacja","Dezaktywacja",[115],"Aby wyłączyć moduł: ./bin/magento module:disable Comfino_ComfinoGateway",{"id":631,"title":632,"titles":633,"content":634,"level":148},"/docs/plugins/magento#statusy-powiadomień","Statusy powiadomień",[115],"Poniższe statusy powodują zakończenie zamówienia, wygenerowanie faktury oraz wysyłki: StatusOpisACCEPTEDWniosek zaakceptowanyWAITING_FOR_PAYMENTOczekiwanie na płatnośćPAIDZamówienie opłacone html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"id":120,"title":119,"titles":636,"content":637,"level":131},[],"Opisuje instalację i konfigurację wtyczki Comfino dla platformy PrestaShop.",{"id":639,"title":612,"titles":640,"content":641,"level":148},"/docs/plugins/prestashop#wymagania",[119],"PrestaShop w wersji 1.6.x, 1.7.x, 8.x lub 9.x (minimum 1.6.1.11)PHP 7.1 lub nowszyWymagane rozszerzenia PHP: ctype, curl, json, zlib Wersja 3.5.5 obsługuje PHP 5.6 i PrestaShop 1.6.0.14+.",{"id":643,"title":617,"titles":644,"content":204,"level":148},"/docs/plugins/prestashop#instalacja",[119],{"id":646,"title":647,"titles":648,"content":649,"level":371},"/docs/plugins/prestashop#prestashop-16","PrestaShop 1.6",[119,617],"Przejdź do Moduły → Moduły i usługi, kliknij „Dodaj nowy moduł\", wskaż plik modułu i kliknij „Wgraj moduł\". Następnie zainstaluj moduł z listy.",{"id":651,"title":652,"titles":653,"content":654,"level":371},"/docs/plugins/prestashop#prestashop-17-8-9","PrestaShop 1.7 / 8 / 9",[119,617],"Przejdź do Moduły → Menedżer modułów, kliknij „Wgraj moduł\", wskaż plik — instalacja odbywa się automatycznie.",{"id":656,"title":622,"titles":657,"content":658,"level":148},"/docs/plugins/prestashop#konfiguracja",[119],"Parametry konfiguracyjne modułu są pogrupowane kategoriami odpowiadającymi zakładkom panelu konfiguracyjnego: \"USTAWIENIA PŁATNOŚCI\", \"USTAWIENIA SPRZEDAŻY\", \"USTAWIENIA WIDGETU\", \"USTAWIENIA DEWELOPERSKIE\".\nOstatnia zakładka \"DIAGNOSTYKA WTYCZKI\" nie zawiera żadnych parametrów do ustawienia i pełni funkcję informacyjno-diagnostyczną.",{"id":660,"title":661,"titles":662,"content":663,"level":371},"/docs/plugins/prestashop#ustawienia-płatności","Ustawienia płatności",[119,622],"Kluczowe pola: Produkcyjny klucz API — wymagany do komunikacji z ComfinoTekst wyświetlany przy metodzie płatności (domyślnie: „(Raty | Kup teraz, zapłać później | Finansowanie dla firm)\")Minimalny próg koszyka (domyślnie: 30 PLN)Opcja użycia numeru zamówienia jako zewnętrznego ID",{"id":665,"title":666,"titles":667,"content":668,"level":371},"/docs/plugins/prestashop#ustawienia-sprzedaży","Ustawienia sprzedaży",[119,622],"Umożliwia filtrowanie produktów według kategorii w celu ograniczenia dostępności finansowania. Dotyczy: rat zeroprocentowych, płatności odroczonych i leasingu.",{"id":670,"title":671,"titles":672,"content":673,"level":371},"/docs/plugins/prestashop#ustawienia-widgetu","Ustawienia widgetu",[119,622],"Opcje podstawowe: Włączenie/wyłączenie widgetuTyp widgetu (standardowy lub klasyczny)Typy ofert: raty zeroprocentowe, niskooprocentowane, odroczone, biznesowe, leasingWyświetlanie logo dostawcy Opcje zaawansowane: Selektory CSS elementu ceny i kontenera widgetuKonfiguracja wykrywania zmiany cenyWybór metody osadzaniaNiestandardowy arkusz stylów CSSKod inicjalizacyjny JavaScript",{"id":675,"title":676,"titles":677,"content":678,"level":371},"/docs/plugins/prestashop#ustawienia-deweloperskie","Ustawienia deweloperskie",[119,622],"Przełącznik środowiska testowegoTestowy klucz APITryb debugowaniaTryb serwisowy do selektywnego testowania",{"id":680,"title":681,"titles":682,"content":683,"level":371},"/docs/plugins/prestashop#diagnostyka-wtyczki","Diagnostyka wtyczki",[119,622],"Wyświetla: informacje o wersji, dane PHP/serwera, logi błędów i debugowania oraz funkcję resetu modułu. Reset przywraca konfigurację, hooki, statusy zamówień i pamięć podręczną bez utraty danych.",{"id":685,"title":686,"titles":687,"content":204,"level":148},"/docs/plugins/prestashop#widok-koszyka","Widok koszyka",[119],{"id":689,"title":690,"titles":691,"content":204,"level":148},"/docs/plugins/prestashop#schemat-procesu","Schemat procesu",[119],{"id":693,"title":694,"titles":695,"content":696,"level":148},"/docs/plugins/prestashop#wymagania-dotyczące-klienta","Wymagania dotyczące klienta",[119],"Moduł wymaga podania przez klienta numeru telefonu (format: xxxxxxxxx, xxx xxx xxx lub +48 xxxxxxxxx) do wysyłki kodów SMS i aktualizacji transakcji. Serwer musi obsługiwać metodę HTTP PUT do powiadomień o statusach. Wymagane dane klienta: Imię i nazwisko (2–63 znaki)Prawidłowy adres e-mailPolski numer telefonu komórkowegoPełne dane adresowe (ulica, numer budynku, mieszkania, kod pocztowy, miasto, kod kraju)",{"id":124,"title":123,"titles":698,"content":699,"level":131},[],"Opisuje instalację i konfigurację wtyczki Comfino dla platformy WooCommerce.",{"id":701,"title":612,"titles":702,"content":703,"level":148},"/docs/plugins/woocommerce#wymagania",[123],"Moduł dostępny jest do pobrania ze strony: https://github.com/comfino/WooCommerce/releaseshttps://wordpress.org/plugins/comfino-payment-gateway",{"id":705,"title":617,"titles":706,"content":707,"level":148},"/docs/plugins/woocommerce#instalacja",[123],"Przejdź do zakładki Wtyczki, wybierz Dodaj wtyczkę → Wyślij wtyczkę, wskaż plik modułu — instalacja odbywa się automatycznie.",{"id":709,"title":622,"titles":710,"content":711,"level":148},"/docs/plugins/woocommerce#konfiguracja",[123],"Parametry konfiguracyjne modułu są pogrupowane kategoriami odpowiadającymi zakładkom panelu konfiguracyjnego: \"Ustawienia płatności\", \"Ustawienia sprzedaży\", \"Ustawienia widgetu\", \"Ustawienia ratowania koszyków\", \"Ustawienia deweloperskie\".\nOstatnia zakładka \"Diagnostyka wtyczki\" nie zawiera żadnych parametrów do ustawienia i pełni funkcję informacyjno-diagnostyczną.",{"id":713,"title":661,"titles":714,"content":715,"level":371},"/docs/plugins/woocommerce#ustawienia-płatności",[123,622],"Włączenie/wyłączenie modułuProdukcyjny klucz API — wymagany do komunikacji z ComfinoTytuł wyświetlany klientowiMinimalny próg koszykaWyświetlanie logoOpcja użycia numeru zamówienia jako zewnętrznego ID",{"id":717,"title":666,"titles":718,"content":719,"level":371},"/docs/plugins/woocommerce#ustawienia-sprzedaży",[123,622],"Umożliwia filtrowanie dostępności finansowania według kategorii produktów. Domyślnie płatności Comfino są dostępne dla wszystkich produktów — poszczególne typy (raty zero procent, zapłać później, leasing) można wyłączyć przez odznaczenie kategorii w drzewie.",{"id":721,"title":671,"titles":722,"content":723,"level":371},"/docs/plugins/woocommerce#ustawienia-widgetu",[123,622],"Opcje podstawowe: Włączenie/wyłączenie widgetuTyp widgetu (standardowy lub klasyczny)Typy ofert do prezentacjiWyświetlanie logo dostawcy Opcje zaawansowane: Selektor CSS elementu cenySelektor CSS kontenera widgetuKonfiguracja wykrywania zmiany cenyWybór metody osadzaniaNiestandardowy CSS dla banera/kalkulatoraKod inicjalizacyjny widgetu",{"id":725,"title":726,"titles":727,"content":728,"level":371},"/docs/plugins/woocommerce#ustawienia-porzuconego-koszyka","Ustawienia porzuconego koszyka",[123,622],"Automatyczne wysyłanie e-maili przypominających z linkiem do dokończenia zakupu, gdy klient porzuci koszyk. Pozwala odzyskać niedokończone transakcje.",{"id":730,"title":676,"titles":731,"content":732,"level":371},"/docs/plugins/woocommerce#ustawienia-deweloperskie",[123,622],"Przełącznik środowiska testowegoTestowy klucz APITryb debugowania (logowanie problemów z wyświetlaniem płatności)Tryb serwisowy (minimalizacja zapisywanych logów)",{"id":734,"title":681,"titles":735,"content":736,"level":371},"/docs/plugins/woocommerce#diagnostyka-wtyczki",[123,622],"Wyświetla informacje systemowe, logi błędów i debugowania oraz umożliwia reset konfiguracji wtyczki bez utraty danych biznesowych.",{"id":738,"title":686,"titles":739,"content":204,"level":148},"/docs/plugins/woocommerce#widok-koszyka",[123],{"id":741,"title":690,"titles":742,"content":204,"level":148},"/docs/plugins/woocommerce#schemat-procesu",[123],{"id":744,"title":694,"titles":745,"content":746,"level":148},"/docs/plugins/woocommerce#wymagania-dotyczące-klienta",[123],"Moduł wymaga podania przez klienta numeru telefonu podczas składania zamówienia. Serwer musi obsługiwać metodę HTTP PUT do powiadomień o statusach. Wymagane dane klienta: Imię i nazwisko (2–63 znaki)Prawidłowy adres e-mailPolski numer telefonu komórkowegoPełne dane adresowe (ulica, numer budynku, mieszkania, kod pocztowy, miasto, kod kraju)",{"id":110,"title":108,"titles":748,"content":749,"level":131},[],"Zawiera moduły Comfino wspierające sprzedaż w popularnych platformach e-commerce.",{"id":751,"title":108,"titles":752,"content":753,"level":131},"/docs/plugins#moduły-sklepowe",[],"Moduły Comfino integrują system płatności odroczonych z popularnymi platformami e-commerce.",{"id":755,"title":756,"titles":757,"content":758,"level":148},"/docs/plugins#dostępne-moduły","Dostępne moduły",[108],"Magento 2.3 — moduł dla platformy Magento 2.3PrestaShop — moduł dla platformy PrestaShopWooCommerce — moduł dla platformy WooCommerce",{"id":760,"title":204,"body":761,"description":204,"extension":1111,"meta":1112,"navigation":855,"path":1113,"seo":1114,"stem":1117,"__hash__":1118},"landing_pl/pl/index.md",{"type":762,"value":763,"toc":1109},"minimark",[764,970,1053,1097,1105],[765,766,772,778,790,795,812],"u-page-hero",{"className":767,"orientation":771},[768,769,770],"dark:bg-gradient-to-b","from-neutral-900","to-neutral-950","horizontal",[773,774,775],"template",{"v-slot:top":204},[776,777],"hero-background",{},[773,779,780],{"v-slot:title":204},[781,782,783,784],"p",{},"Zwiększ sprzedaż z ",[785,786,789],"span",{"className":787},[788],"text-primary","Comfino",[773,791,792],{"v-slot:description":204},[781,793,794],{},"Oferuj klientom płatności odroczone i finansowanie rat — bez skomplikowanej integracji. Gotowe wtyczki, REST API i widgety finansowania w jednym miejscu.",[773,796,797,805],{"v-slot:links":204},[798,799,802],"u-button",{"size":800,"to":12,"trailing-icon":801},"xl","i-lucide-arrow-right",[781,803,804],{},"Dokumentacja API",[798,806,809],{"size":800,"to":110,"color":807,"icon":109,"variant":808},"neutral","outline",[781,810,811],{},"Wtyczki sklepowe",[813,814,817],"prose-pre",{"code":815,"filename":816},"# 1. Utwórz zamówienie → otrzymaj applicationUrl\nPOST /v1/orders\nApi-Key: {TWÓJ_API_KEY}\n\n{\n  \"orderId\": \"ZAM-001\",\n  \"returnUrl\": \"https://sklep.pl/powrot\",\n  \"notifyUrl\": \"https://sklep.pl/powiadomienie\",\n  \"cart\": { \"totalAmount\": 150000 }\n}\n\n# 2. Przekieruj klienta na applicationUrl\n# 3. Comfino wyśle decyzję na notifyUrl\n","integracja.sh",[818,819,822],"pre",{"className":820,"code":815,"filename":816,"language":821,"meta":204,"style":204},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bash",[823,824,825,832,842,850,857,864,886,903,920,947,953,958,964],"code",{"__ignoreMap":204},[785,826,828],{"class":827,"line":131},"line",[785,829,831],{"class":830},"sHwdD","# 1. Utwórz zamówienie → otrzymaj applicationUrl\n",[785,833,834,838],{"class":827,"line":148},[785,835,837],{"class":836},"sBMFI","POST",[785,839,841],{"class":840},"sfazB"," /v1/orders\n",[785,843,844,847],{"class":827,"line":371},[785,845,846],{"class":836},"Api-Key:",[785,848,849],{"class":840}," {TWÓJ_API_KEY}\n",[785,851,853],{"class":827,"line":852},4,[785,854,856],{"emptyLinePlaceholder":855},true,"\n",[785,858,860],{"class":827,"line":859},5,[785,861,863],{"class":862},"sMK4o","{\n",[785,865,867,870,874,877,880,883],{"class":827,"line":866},6,[785,868,869],{"class":836},"  \"orderId\"",[785,871,873],{"class":872},"s2Zo4",":",[785,875,876],{"class":862}," \"",[785,878,879],{"class":840},"ZAM-001",[785,881,882],{"class":862},"\"",[785,884,885],{"class":840},",\n",[785,887,889,892,894,896,899,901],{"class":827,"line":888},7,[785,890,891],{"class":836},"  \"returnUrl\"",[785,893,873],{"class":872},[785,895,876],{"class":862},[785,897,898],{"class":840},"https://sklep.pl/powrot",[785,900,882],{"class":862},[785,902,885],{"class":840},[785,904,906,909,911,913,916,918],{"class":827,"line":905},8,[785,907,908],{"class":836},"  \"notifyUrl\"",[785,910,873],{"class":872},[785,912,876],{"class":862},[785,914,915],{"class":840},"https://sklep.pl/powiadomienie",[785,917,882],{"class":862},[785,919,885],{"class":840},[785,921,923,926,928,931,933,936,938,940,944],{"class":827,"line":922},9,[785,924,925],{"class":836},"  \"cart\"",[785,927,873],{"class":872},[785,929,930],{"class":840}," {",[785,932,876],{"class":862},[785,934,935],{"class":840},"totalAmount",[785,937,882],{"class":862},[785,939,873],{"class":840},[785,941,943],{"class":942},"sbssI"," 150000",[785,945,946],{"class":840}," }\n",[785,948,950],{"class":827,"line":949},10,[785,951,952],{"class":862},"}\n",[785,954,956],{"class":827,"line":955},11,[785,957,856],{"emptyLinePlaceholder":855},[785,959,961],{"class":827,"line":960},12,[785,962,963],{"class":830},"# 2. Przekieruj klienta na applicationUrl\n",[785,965,967],{"class":827,"line":966},13,[785,968,969],{"class":830},"# 3. Comfino wyśle decyzję na notifyUrl\n",[971,972,973,978],"u-page-section",{},[773,974,975],{"v-slot:title":204},[781,976,977],{},"Jak działa integracja",[773,979,980,997,1021,1037],{"v-slot:features":204},[981,982,984,988],"u-page-feature",{"icon":983,"to":19},"i-lucide-key",[773,985,986],{"v-slot:title":204},[781,987,18],{},[773,989,990],{"v-slot:description":204},[781,991,992,993,996],{},"Przekazuj swój ",[823,994,995],{},"Api-Key"," w nagłówku każdego żądania. Bez OAuth — wystarczy jeden klucz API przydzielony podczas onboardingu.",[981,998,1000,1005],{"icon":999,"to":67},"i-lucide-shopping-cart",[773,1001,1002],{"v-slot:title":204},[781,1003,1004],{},"Przekaż koszyk",[773,1006,1007],{"v-slot:description":204},[781,1008,1009,1012,1013,1016,1017,1020],{},[823,1010,1011],{},"POST /v1/orders"," z zawartością koszyka, danymi klienta i swoim ",[823,1014,1015],{},"notifyUrl",". W odpowiedzi otrzymasz ",[823,1018,1019],{},"applicationUrl"," do przekierowania klienta.",[981,1022,1024,1029],{"icon":1023},"i-lucide-external-link",[773,1025,1026],{"v-slot:title":204},[781,1027,1028],{},"Klient wybiera ofertę",[773,1030,1031],{"v-slot:description":204},[781,1032,1033,1034,1036],{},"Przekieruj klienta na ",[823,1035,1019],{},". Comfino prezentuje dostępne oferty finansowania i przesyła wybrany wniosek do instytucji finansowej.",[981,1038,1040,1045],{"icon":1039,"to":71},"i-lucide-bell",[773,1041,1042],{"v-slot:title":204},[781,1043,1044],{},"Odbierz decyzję",[773,1046,1047],{"v-slot:description":204},[781,1048,1049,1050,1052],{},"Comfino wywoła Twój ",[823,1051,1015],{}," ze statusem zamówienia i decyzją kredytową. Wszystkie kwoty są liczbami całkowitymi w groszach (1 PLN = 100 groszy).",[971,1054,1055,1060],{},[773,1056,1057],{"v-slot:title":204},[781,1058,1059],{},"Obszary dokumentacji",[773,1061,1062,1074,1086],{"v-slot:features":204},[981,1063,1064,1069],{"icon":11,"to":12},[773,1065,1066],{"v-slot:title":204},[781,1067,1068],{},"REST API",[773,1070,1071],{"v-slot:description":204},[781,1072,1073],{},"Pełna dokumentacja endpointów — zamówienia, cykl życia zamówienia (zmiana kwoty, anulowanie, rezygnacja, wypłata), punkty sprzedaży, użytkownicy i produkty finansowe. Łącznie 18 endpointów.",[981,1075,1076,1081],{"icon":90,"to":91},[773,1077,1078],{"v-slot:title":204},[781,1079,1080],{},"Widgety finansowania",[773,1082,1083],{"v-slot:description":204},[781,1084,1085],{},"Osadź kalkulator rat na stronach produktów. Dostępny jako samodzielny widget JavaScript lub zintegrowany przez wtyczki PrestaShop i WooCommerce.",[981,1087,1088,1092],{"icon":109,"to":110},[773,1089,1090],{"v-slot:title":204},[781,1091,811],{},[773,1093,1094],{"v-slot:description":204},[781,1095,1096],{},"Gotowe moduły dla Magento 2.3, PrestaShop i WooCommerce — zainstaluj, skonfiguruj klucz API i ruszaj bez własnej integracji z API.",[971,1098,1099],{},[1100,1101],"u-page-c-t-a",{":links":1102,"description":1103,"title":1104},"[{\"label\":\"Poznaj API\",\"to\":\"/docs/api\",\"trailingIcon\":\"i-lucide-arrow-right\"},{\"label\":\"Przeglądaj wtyczki\",\"to\":\"/docs/plugins\",\"variant\":\"subtle\",\"icon\":\"i-lucide-puzzle\"}]","Zacznij od dokumentacji REST API lub zainstaluj gotową wtyczkę dla swojej platformy e-commerce.","Gotowy na integrację z Comfino?",[1106,1107,1108],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":204,"searchDepth":131,"depth":148,"links":1110},[],"md",{},"/pl",{"title":1115,"description":1116},"Comfino — Integracja Płatności Odroczonych","Zwiększ konwersję i sprzedaż dzięki płatnościom odroczonym Comfino. Pełna dokumentacja API, gotowe wtyczki dla Magento, PrestaShop i WooCommerce oraz widgety finansowania — integracja w minuty.","pl/index","ZsSKg0QFf6LtOt7HSuk2QnlGePXkjXWY6S9fBB6ykCw",1776091390247]