1. Definicje
Bank - Credit Agricole Bank Polska S.A.
Partner - podmiot prowadzący sklep internetowy, który podpisał umowę z Bankiem na oferowanie sprzedaży ratalnej (kredyt na zakup towarów i usług, zwany dalej ratami lub kredytem ratalnym).
eWniosek - aplikacja internetowa udostępniona przez Bank, umożliwiająca wykonanie symulacji kredytu ratalnego, złożenie wniosku przez Klienta, a w przypadku pozytywnej decyzji kredytowej zdalną identyfikację i podpisanie umowy. Umożliwia również monitowanie statusu złożonego wniosku.
identyfikatorSklepu - numer identyfikujący Partnera, nadany przez Bank po podpisaniu umowy o współpracy, np. PSP1234567.
Oferta - zestaw parametrów (oprocentowanie, liczba rat, itd.) na podstawie których zostanie uruchomiony kredyt ratalny. Partner ma dostęp do jednej lub wielu ofert w ramach umowy z Bankiem.
2. Wstęp
2.1. eWniosek - proces zdalnego podpisywania umowy kredytu ratalnego
eWniosek umożliwia zdalne podpisanie przez Klienta umowy o kredyt ratalny, bez konieczności kontaktu z pracownikiem Banku.
Proces online obejmuje:
- wykonanie symulacji kredytu, wypełnienie wniosku i wysłanie go do decyzji,
- otrzymanie online decyzji kredytowej,
- identyfikację za pomocą przelewu 1 zł,
- jeśli to konieczne - załączenie zdjęć dokumentów,
- podpisanie umowy kodem SMS.
W standardowej (pozytywnej) ścieżce cały powyższy proces Klient jest w stanie przejść w 10 minut, w ramach jednej sesji.
Niniejsza instrukcja opisuje udostępnione metody integracji z systemem eWniosek, tak, by umożliwić sprzedaż towarów na raty z wykorzystaniem powyższego procesu. Zamieszczono tu również przykłady kodu w javascript i HTML a także gotowe biblioteki, do wykorzystania w Państwa e-Commerce.
2.2 Modele integracji
Zakłada się dwa modele integracji: podstawowy i rozszerzony. Wybór danego modelu zależy od Państwa strategii biznesowej.
Integracja podstawowa | Integracja rozszerzona |
---|---|
Jeśli chcesz zintegrować swój eCommerce z systemem ratalnym Banku, minimalizując koszt związany z IT. | Jeśli chcesz maksymalnie zautomatyzować obsługę zamówień w eCommerce |
W ramach integracji podstawowej:
| Aby zautomatyzować proces obsługi zamówień z płatnością ratalną, możesz dodatkowo:
|
W dalszej części zostaną omówione oba powyższe modele, wraz z przykładami kodu w HTML i javascript.
2.3 Wymagania wstępne
- Partner po podpisaniu umowy o współpracy otrzymuje m.in. identyfikator sklepu (numer PSP), którym posługuje się w komunikacji z systemem Banku.
- Na stronach informacyjnych sklepu musi znajdować się odnośnik do procedury zakupów ratalnych wraz z logotypem CABP Raty. Niezbędne pliki graficzne prezentujące płatność CABP Raty są udostępnione Partnerom na serwerach Banku. Pliki (logotyp CABP Raty i buttony) muszą zostać podlinkowane z serwerów Banku, banery promocyjne umieszczane są lokalnie na stronach sklepów, ze względu na konieczność ich przeskalowania i linkowania do podstron sklepu. Bank zastrzega sobie prawo do modyfikacji elementów graficznych obsługujących CABP Raty. W takim przypadku Partner, po otrzymaniu powiadomienia, powinien zmodyfikować elementy graficzne udostępnione lokalnie.
- Partner jest zobowiązany do umieszczenia informacji o współpracy z Bankiem, w miejscu do tego przeznaczonym na stronie sklepu, najczęściej na podstronie Płatności/Raty. Treści do umieszczenia są zamieszczone w rozdziale 5, podrozdział 5.1 Treść na strony sklepów instrukcji.
- Na stronach z opisem produktu należy umieścić odnośnik do symulatora kredytowego. Zakup ratalny powinien być dostępny jedynie dla zamówień, które spełniają warunki umowy pomiędzy Partnerem, a Bankiem. W szczególności kupowany produkt musi należeć do dozwolonego asortymentu. Jeżeli towar należy do kategorii niekredytowanej (np. telefony komórkowe) na stronie produktowej symulator nie powinien być dostępny. Jeżeli taki towar jest w koszyku, płatność CABP Raty powinna być zablokowana.
- Partner ustala i przekazuje hasło wykorzystywane do komunikacji z Bankiem. Minimalna liczba znaków w haśle to 8, a maksymalna 64. Hasło wykorzystywane jest do uwierzytelnienia sklepu Partnera w kontekście wywołania wniosku kredytowego.
- Klient po skompletowaniu zamówienia powinien mieć możliwość wyboru płatności ratalnej. Po jej wyborze mechanizmy sklepu Partnera powinny przesłać podstawowe informacje o zamówieniu do eWniosku (zgodnie z poniższą instrukcją) oraz przekierować przeglądarkę Klienta do eWniosku.
- Wdrożenie CABP Rat na sklepie Partnera powinno zostać zaakceptowane przez pracownika Banku przed produkcyjnym uruchomieniem. Dotyczy to zarówno działania mechanizmów (przesyłanie danych) jak i rozwiązań graficznych (np. sposób wykorzystania logotypu CABP Raty i ewentualnie logotypu Banku).
- Po podpisaniu umowy o współpracy Partner podaje adres/adresy źródłowe sklepu a także:
- URL powrotu do sklepu w przypadku pozytywnego zakończenia procesu,
- URL powrotu do sklepu w przypadku negatywnego zakończenia procesu.
3. Integracja podstawowa
3.1 Strona główna sklepu
3.1.1 Zamieszczenie logotypu
Strona główna sklepu Partnera powinna zawierać logotyp CABP Raty (przykład rys. 1). Zaleca się umieszczenie logotypu w głównym layoucie strony, tak aby był on widoczny również na wszystkich podstronach. Logotyp powinien być widoczny co najmniej w jednym z poniższych miejsc:
- na głównej stronie sklepu
- w miejscu prezentacji innych operatorów płatności: na stronie głównej (zwykle na dole) lub na dedykowanej podstronie Płatności/Raty
Lista dostępnych logotypów (zamieszczona w serwisie internetowym Banku) znajduje się w załączniku w w rozdziale 5, podrozdział 5.2.3 Przyciski Raty.
Ważne! Prosimy nie kopiować i nie zapisywać przycisków lokalnie. Niedozwolone są jakiekolwiek modyfikacje grafik - podlegają one prawom autorskim Banku.
3.1.2 Przekierowanie do procedury ratalnej
Kliknięcie w logotyp CABP Raty powinno otwierać procedurę ratalną w nowym oknie:
https://ewniosek.credit-agricole.pl/eWniosek/procedure.jsp?PARAM_TYPE=RAT&PARAM_PROFILE=identyfikatorSklepu
Przykładowy adres:
https://ewniosek.credit-agricole.pl/eWniosek/procedure.jsp?PARAM_TYPE=RAT&PARAM_PROFILE=PSP1234567
3.1.3 Przykład kodu
<a href="https://ewniosek.credit-agricole.pl/eWniosek/procedure.jsp?PARAM_TYPE=RAT&PARAM_PROFILE=PSP1234567"><img src="https://ewniosek.credit-agricole.pl/eWniosek/res/CA_grafika/485_duckblue.png"/></a>
3.2 Obliczanie raty dla produktu lub koszyka
W tym rozdziale pokazujemy, w jaki sposób można umożliwić Klientowi obliczenie raty dla danego produktu lub całego zmówienia. Proponujemy 3 sposoby o różnym stopniu zaawansowania, a do Państwa należy decyzja, który sposób wybierzecie.
Ważne jest, aby symulator ratalny otwierał się w nowym oknie. Zabronione jest w tym przypadku korzystanie z technologii iFrame.
3.2.1 Zamieszczenie przycisku "Oblicz ratę"
Najprostszym sposobem jest umieszczenie przycisku „CA Oblicz ratę” . Przycisk należy umieścić na karcie ze szczegółami produktu (przykład rys. 2)
oraz w koszyku, w miejscu, gdzie wyświetlona jest lista wszystkich zamówionych produktów wraz z kosztami przesyłki (przykład rys. 3).
Kliknięcie w przycisk powinno skutkować otwarciem w nowym oknie symulatora ratalnego z podstawioną ceną produktu lub wartością zamówienia.
Lista dostępnych przycisków „CA Oblicz ratę” (zamieszczona w serwisie internetowym Banku) znajduje się w rozdziale 5, podrozdział 5.2.2 Przyciski „Oblicz ratę”.
Ważne! Prosimy nie kopiować i nie zapisywać przycisków lokalnie. Niedozwolone są jakiekolwiek modyfikacje grafik - podlegają one prawom autorskim Banku.
Opisany powyżej przycisk „Oblicz ratę” powinien otwierać symulator ratalny, prezentujący Klientowi m.in. szacowaną wysokość raty i RRSO. Adres URL otwierający symulator ratalny ma postać: https://ewniosek.credit-agricole.pl/eWniosek/simulator.jsp?PARAM_TYPE=RAT&PARAM_PROFILE=identyfikatorSklepu&PARAM_CREDIT_AMOUNT=kwota gdzie kwota = cenaProduktu (dla ekranu symulacji) albo kwota = wartoscZamówienia (dla strony z podsumowaniem zamówienia); wartość zamówienia zawiera także koszty przesyłki. Jeżeli na tym etapie niemożliwe jest określenie kosztów przesyłki, to należy przekazać do symulatora jedynie wartość wszystkich zamówionych produktów. W takim przypadku koszty przesyłki nie będą kredytowane.
Cena produktu/wartość zamówienia powinna zostać przekazana w formacie xxx.xx, bez separatorów tysięcy.
Przykładowy adres: https://ewniosek.credit-agricole.pl/eWniosek/simulator.jsp?PARAM_TYPE=RAT&PARAM_PROFILE=PSP1234567&PARAM_CREDIT_AMOUNT=5325.20
3.2.2 Zamieszczenie przycisku prezentującego kwotę raty
Zamiast przycisku „Oblicz ratę” możliwe jest również zamieszczenie przycisku graficznego, który od razu będzie prezentował wysokość raty:
W tym celu na stronie należy umieścić przycisk graficzny, jako parametry podając kredytowaną kwotę, nr PSP i typ obrazka, np.:
Przycisk | imgType | Rozmiar |
---|---|---|
1 | 163x30 | |
2 | 183x38 | |
3 | 248x75 | |
4 | 250x38 | |
5 | 323x75 |
Przykład kodu
<a href="https://ewniosek.credit-agricole.pl/eWniosek/simulator.jsp?PARAM_TYPE=RAT&PARAM_PROFILE=PSP1234567&PARAM_CREDIT_AMOUNT=5325.20"><img src="http://ewniosek.credit-agricole.pl/eWniosek/button/img.png?creditAmount=5325.20&posId=PSP1234567&imgType=4"/></a>
3.2.3 Obliczanie wysokości raty - pobieranie wyliczeń
Najbardziej zaawansowaną metodą jest pobieranie wyliczeń metodą GET. W tym przypadku należy skorzystać z poniższego adresu i parametrów.
Adres: https://ewniosek.credit-agricole.pl/eWniosek/comm/getInstallment
Parametry:
Nazwa atrybutu | Dopuszczalne wartości | Znaczenie | Dozwolone NULL |
---|---|---|---|
posId | SSSNNNNNNN | identyfikator sklepu w formacie SSSNNNNNNN (np. PSP1234567). | Nie |
productType | RAT | typ produktu | Nie |
offerId | Identyfikator oferty (np. 2000000). Gdy brak pola, zostanie wybrana domyślna oferta. | Tak | |
insuranceId | Identyfikator pakietu ubezpieczeniowego (np. 1000000). Gdy brak pola, zostanie wybrany domyślny pakiet ubezpieczeniowy. | Tak | |
creditAmount | Kwota kredytu netto rozumiana jako suma kredytowanych towarów po odjęciu wpłaty klienta (liczba dziesiętna z separatorem w postaci kropki np. NNN.NN). W przypadku podania przecinka jako separatora wystąpi wyjątek java.lang.NumberFormatException. | Nie | |
installmentsNo | liczba rat | Nie | |
resp | json | Dla wartości „json” wynik obliczeń zostanie zwrócony zgodnie z formatem JSON i będzie zawierał elementy installmentAmount (kwotę ratę), stopę RRSO (roczna rzeczywista stopa oprocentowania) oraz dodatkowe wyliczenia (kwota ubezpieczenia, całkowity koszt kredytu, oprocentowanie nominalne w skali roku, prowizja, całkowita kwota kredytu, całkowita kwota odsetek, całkowity koszt ubezpieczenia, całkowita kwota do zapłaty). W przypadku jego braku zostanie wysłana kwota raty w postaci tekstowej (123.45). | Tak |
Przykład (dla sklepu PSP1234567 oraz kwocie kredytu 1234,56):
https://ewniosek.credit-agricole.pl/eWniosek/comm/getInstallment?creditAmount=1234.56&posId=PSP1234567&productType=RAT
Odpowiedź: 143.68
Jeśli odpowiedź ma przyjść w formacie JSON:
https://ewniosek.credit-agricole.pl/eWniosek/comm/getInstallment?creditAmount=1234.56&posId=PSP1234567&productType=RAT&resp=json
Odpowiedź: {"instAmount":"155.01","rrso":"66.72","insuranceFee":"0.00","totalCreditCost":"315.53","interestRate":"10.00","commisionAmount":"246.79","totalCreditAmount":"1234.56","totalInterestAmount":"68.74","totalInsuranceCost":"0.00","totalAmountToPay":"1550.09"}
3.2.4. Miniatury produktu na ekranie symulatora
Na ekranie symulatora kredytu możliwe jest wyświetlenie miniatury produktu dla którego wykonuje się symulację. W tym celu należy poszerzyć adres symulatora parametr cart.imageUrl. W parametrze należy podać adres URL grafiki. Przykładowy adres symulatora przyjmuje następującą postać:
Preferowane wymiary:
- width: 350px
- height: 60px
Są to wymiary wielkości widgetu, przekazany obraz nie wpłynie na pozostałe elementy. Nie zalecane jest przesyłanie obrazów pionowych (gdzie wysokość jest wyższa, niż szerokość).
Obraz, niezależnie od swoich rozmiarów, będzie trzymał format obrazu (aspect-ratio).
- width: 50px
- height: 20px
Maksymalne wymiary
- width: 358px
- height: 150px
Sugerowane formaty: *jpg, *.jpeg, *.png
Przekazane obrazy mogą być także w innych formatach (np. *.svg, *.gif).
Należy pamiętać, że wnioski są dostarczane przy pomocy zabezpieczonego połączenia (HTTPS), więc obrazy również powinny być dostarczane w ten sposób.
Przykładowy adres:
3.3 Złożenie zamówienia przez Klienta sklepu z metodą płatności „CABP Raty”
Po wyborze płatności CABP Raty oraz złożeniu zamówienia, skrypt sklepu powinien wysłać szczegóły zamówienia do eWniosku, a tym samym zainicjować formularz wniosku o kredyt ratalny.
3.3.1 Tworzenie formularza wniosku kredytowego
Aby rozpocząć wnioskowanie o kredyt ratalny, należy wysłać dane zamówienia na adres https://ewniosek.credit-agricole.pl/eWniosek/simulator_u.jsp.
Właściwości wywołania:
- Encoding: UTF-8
- Http-Method: POST
- Content-Type: application/x-www-form-urlencoded
Przykłady kodowania:
- nazwa towaru „---> Regulacja roweru” powinno zostać przesłana jako „---%3E%20Regulacja%20roweru”.
- nazwa towaru „ładna pralka!” powinna zostać przesłana jako „%C5%82adna%20pralka”.
- nazwa towaru „Rower MTB 29"” powinna zostać przesłana jako „Rower%20MTB%2029%22”.
W formularzu POST należy przesłać następujące parametry:
Parametr | Opis | M/O* | Dopuszczalne wartości / wyrażenia regularne | Informacje dodatkowe |
---|---|---|---|---|
PARAM_TYPE | Typ kredytu | M | ^[a-zA-Z]{3}$ W tym przypadku stała wartość ‘RAT’. | Wartość stała ‘RAT’ |
PARAM_PROFILE | Identyfikator sklepu | M | ^PSP[0-9]{7}$ Np. PSP1234567 | Identyfikator Partnera nadany przy podpisywaniu umowy współpracy z Bankiem. |
POST_ATTR | Stała techniczna | M | Wartość stała ‘1’ | Wartość stała ‘1’ |
email.address | email Klienta | M | /^[a-z\d]+[\w\d.-]*@(?:[a-z\d]+[a-z\d-_]+\.){1,5}[a-z]{2,4}$/i | |
cart.orderNumber | numerZamowienia | M | ^.{0,30}$ | Jest wykorzystywany przy powrocie Klienta z wniosku kredytowego do sklepu. |
PARAM_CREDIT_AMOUNT | Kwota kredytu | M | ^\d{1,5}((\.|)\d{1,2})?$ | Separator dziesiętny w kwocie stanowi kropka, kwota powinna być zapisana bez spacji, np. „2550.00”. |
PARAM_AUTH | Rodzaj funkcji szyfrującej | M | ^[1-2]{1}$ | 1=SHA 256 2=MD5 |
PARAM_HASH | Skrót (hash) | M | ^[a-f\d]{64}|[a-f\d]{32}$ | Skrót wyliczony według podanego poniżej algorytmu - służy do uwierzytelnienia Partnera. Patrz: Wyliczanie skrótu do uwierzytelnienia. |
randomizer | Losowa wartość | M | ^.{0,36}$ | Wchodzi w skład skrótu |
offerId | identyfikator oferty kredytowej | O | ^\d{10}$ | Parametr należy podać, jeśli decyzja o wyborze oferty kredytowej dla danego produktu/koszyka ma należeć do Partnera. Numer ID oferty przekaże reprezentant Banku. Można podać tylko jeden numer ID. Należy pamiętać, że dostępne oferty mogą się zmienić. Informacje o nowych ofertach i ich numerach są przekazywane Partnerowi przez reprezentanta Banku. Jeżeli pole nie zostanie wypełnione, Klient po otwarciu formularza wnioskowego będzie mógł wybrać dowolną ofertę kredytową spośród dostępnych dla danego sklepu. Podanie więcej niż jednego lub błędnego/nieaktualnego ID zostanie odczytane jakby ID nie było. |
firstPaymentAmount | Kwota pierwszej wpłaty Klienta | O | ^\d{1,5}\.\d{1,2})?$ | |
cart.itemName1 | Nazwa towaru | M | ^.{0,40}$ | |
cart.itemQty1 | Liczba sztuk towaru 1 | M | ^([1-9]|[1-9][0-9])$ | |
cart.itemPrice1 | Cena towaru 1 | M | ^\d{1,5}\.\d{1,2})?$ | Nie przyjmujemy towarów w cenie 0.00 W przypadku darmowej dostawy, darmowych gratisów i innych towarów z ceną 0PLN - nie ma potrzeby dodawania takich pozycji do wniosku kredytowego. |
cart.itemNameX cart.itemQtyX Cart.itemPriceX… | Dla każdego towaru w zamówienia należy wysłać zestaw parametrów jak powyżej (cart.itemName1, cart.itemName2… cart.itemNameX). X to liczba z zakresu 1-20. Suma wartości itemQty dla wszystkich towarów, nie może przekraczać 99. Przykład: itemQty1 = 20, itemQty2 = 30 20+30< 99 |
* M - Mandatory, O - Optional
Koszty przesyłki, o ile występują, powinny zostać przekazane jako dodatkowy towar o nazwie „Przesyłka”.
W przypadku udzielenia rabatów rekomendujemy przekazanie ceny pojedynczych towarów już po uwzględnieniu rabatów. Opcjonalnie możliwe jest przekazanie pierwotnych cen towarów i dodatkowego towaru o nazwie „bonus” z ujemną ceną.
Bank zakłada, że Partner jest w stanie wywiązać się z umówionego z Klientem terminu dostarczenia towaru. Dlatego, w modelu podstawowym integracji, potwierdzenie rezerwacji towaru następuje automatycznie. Istnieje jednak możliwość włączenia ręcznego potwierdzenia rezerwacji towaru w systemie eSprzedaż. W tym celu należy zgłosić takie zapotrzebowanie do Opiekuna Handlowego.
3.3.2 Wyliczanie skrótu do uwierzytelnienia
Do wyliczenia skrótu PARAM_HASH należy zbudować ciąg tekstowy z poniższych parametrów, a następnie wyliczyć skrót funkcją SHA 256 (alternatywnie można użyć funkcji md5 - niezalecane). W przypadku kiedy któryś z parametrów jest pusty, pole pomijamy.
Skrót jest wyliczany z następujących wartości
Pozycja | Nazwa atrybutu | Źródło danych |
---|---|---|
1 | Identyfikator sklepu | PARAM_PROFILE |
2 | Typ produktu | PARAM_TYPE |
3 | Rodzaj walidacji | PARAM_AUTH |
4 | Sumaryczna cena towarów | creditInfo.creditAmount |
5 | Nazwa pierwszego towaru z koszyka | cart.itemName1 |
6 | Cena pierwszego towaru z koszyka | cart.itemPrice1 |
7 | Wartość losowa | randomizer |
8 | Hasło sklepu | parametryzacja sklepu -> hasło |
Przykład:
ID sklepu PSP1234567, funkcja SHA 256, kwota zamówienia 26,07 PLN, nazwa pierwszego towaru: "Szafa obrotowa" cena pierwszego towaru 1,07 PLN, randomizer: c7426394, hasło "haslo"
Ciąg tekstowy: PSP1234567RAT126.07Szafa obrotowa1.07c7426394haslo
Wyliczona wartość hasha to 56519295406871a913dee6f4523a19268438aecb67f222f2f0f89a449eeed068
3.3.3 Przykład kodu
Formularz (HTML):
<form action="https://ewniosek.credit-agricole.pl/eWniosek/ewniosek.jsp" name="cartFormPost" method="post" target="_blank" class="pure-form pure-form-aligned"><input type="hidden" name="PARAM_TYPE" value="RAT"/><input type="hidden" name="PARAM_PROFILE" value="PSP1234567"/><input type="hidden" name="POST_ATTR" value="1"/><input type="hidden" name="email.address" value="[email protected]"/><input type="hidden" name="cart.orderNumber" value="zamowienie_234234"/><input type="hidden" name="PARAM_CREDIT_AMOUNT" value="3600.00"/><input type="hidden" name="PARAM_AUTH" value="1"/><input type="hidden" name="PARAM_HASH" value="00015b14c28c2951f6d628098ce6853e14300f1b7d6d985e18d508f9807f44d8"/><input type="hidden" name="randomizer" value="84j34rf30r2j3r23r3j"/><input type="hidden" name="offerId" value="847584"/><input type="hidden" name="cart.itemName1" value="Szafa obrotowa"/><input type="hidden" name="cart.itemQty1" value="1"/><input type="hidden" name="cart.itemPrice1" value="1200.00"/><input type="hidden" name="cart.itemName2" value="Drzwi rozkładane"/><input type="hidden" name="cart.itemQty2" value="1"/><input type="hidden" name="cart.itemPrice2" value="1200.00"/></form>
Wyliczanie hasha:
Ważne! Ze względu na wymaganie użycia jawnej postaci hasła do wyznaczenia skrótu, kod należy wykonać wyłącznie po stronie serwera. Do frontendu powinny zostać przekazane jedynie zmienne hash, randomizer oraz hashTypeNum.
PHP 7:
<?php $psp="PSP1234567"; $password='3#G4^haslo$4*9%'; $orderAmount=584.37; $firstProductName='Szafa obrotowa'; $firstProductPrice=584.37; $applType="RAT" $hashType='sha256'; $hashTypeNum=$hashType=='sha256'?'1':'2'; $randomizer=bin2hex(random_bytes(16)); $toHash=$psp.$applType.$hashTypeNum.number_format($orderAmount,2,'.','').$firstProductName.number_format($firstProductPrice,2,'.','').$randomizer.$password; $hash=hash($hashType,$toHash);?>
JavaScript (z wykorzystaniem Forge.js 0.7):
var forge = require('node-forge');var psp ="PSP1234567";var password ='3#G4^haslo$4*9%';var orderAmount =584.37;var firstProductName ='Szafa obrotowa';var firstProductPrice =584.37;var applType ="RAT"var hashType ='sha256';var hashTypeNum = hashType =='sha256'?'1':'2';var randomizer = forge.util.bytesToHex(forge.random.getBytesSync(16));var toHash = psp + applType + hashTypeNum + orderAmount.toFixed(2)+ firstProductName + firstProductPrice.toFixed(2)+ randomizer + password;var digest = forge.md[hashType].create(); digest.update(toHash);var hash = digest.digest().toHex();
3.4 Powrót na stronę sklepu z formularza wnioskowego
Partner powinien przygotować strony obsługujące powroty Klienta z eWniosku. Dotyczy to zarówno powrotu pozytywnego (strona, na którą zostanie przekierowany Klient sklepu po podpisaniu umowy o kredyt), jak i negatywnego (strona, na którą zostanie przekierowany Klient sklepu jeśli zrezygnuje z wypełniania wniosku ratalnego lub otrzyma odmowę udzielenia kredytu). Adresy stron powinny zostać przekazane do Banku po podpisaniu umowy o współpracy. Szczegóły opisane są w rozdziale 6, podrozdział 6.4 Co to są strony powrotne i jak je przygotować?
Przykład:
Do URL powrotnego zostanie doklejony parametr orderNumber, zawierający numer zamówienia ze sklepu internetowego:
http://sklep15.raty.intenso.pl/success/index.php?orderNumber=1234234
Strony powrotu powinny zawierać co najmniej następujące informacje:
- Dla powrotu pozytywnego:
Umowa wpłynęła do naszego systemu. Po zakończeniu weryfikacji potwierdzenie otrzymasz w kolejnym e-mailu. - Dla powrotu negatywnego:
Wniosek został odrzucony. Skontaktuj się ze sklepem i wybierz inną metodę płatności.
4. Integracja rozszerzona
4.1 Obiór informacji o zmianie statusu wniosku
W celu odbierania informacji o zmianach statusu wniosków kredytowych należy utworzyć webserwis po stronie Partnera oraz przekazać do Banku adres URL, który zostanie wykorzystany do komunikacji. Webserwis powinien być zgodny z ExchangeReceiver.wsdl.
Nazwa atrybutu | Znaczenie | Dopuszczalne wartości |
---|---|---|
applNumberCA | numer umowy w systemie eSprzedaż | Max40Text ^.{0,40}$ |
applNumberExt | numer zamówienia nadany przez sklep | UnboundedText |
statusCA | identyfikator statusu np. S60 | Max4Text |
statusCAInfo | opis statusu, np. Wniosek rozpatrzony pozytywnie. | UnboundedText |
modificationDate | data zlecenia wysłania komunikatu. | ISODateTime |
4.1.1 Statusy wniosków
Kod | Opis |
---|---|
E01 | Wniosek anulowany. Posiadasz już jeden wniosek w trakcie rozpatrywania. |
S20 | Wniosek w trakcie realizacji - pozytywna decyzja kredytowa. Odbiór towaru i finalizacja wniosku w sklepie stacjonarnym. |
S30 | Wniosek rozpatrywany. Wydłużona decyzja kredytowa. |
S50 | Umowa przekazana Klientowi do podpisu. |
S55 | Wniosek rozpatrzony pozytywnie. Oczekiwanie na potwierdzenie rezerwacji towaru |
S56 | Pozytywna wstępna decyzja kredytowa. Można potwierdzać rezerwację towaru. |
S57 | Warunkowa decyzja kredytowa. |
S60 | Umowa podpisana przez Klienta, wniosek zatwierdzony. |
S70 | Wniosek rozpatrzony pozytywnie. Potwierdzono rezerwację towaru. |
S90 | Odmowa udzielenia kredytu lub Klient zrezygnował z wniosku. |
Szczegółowy opis wysyłki komunikatów znajduje się poniżej.
- Pierwsza informacja o zmianie statusu zostanie wysłana do Partnera po wysłaniu przez Klienta wniosku do decyzji kredytowej. Bank wyśle wówczas jeden z następujących statusów:
- E01 - wniosek odrzucony, gdyż Klient posiada już wniosek o kredyt ratalny w trakcie rozpatrywania
- S56 - wstępna pozytywna decyzja kredytowa; w tym momencie nie można jeszcze wysyłać towaru do Klienta. Należy jedynie zarezerwować towar na potrzeby obsługi transakcji. Trzeba mieć jednak na uwadze, że jest to moment w procesie przed przedstawieniem wstępnej umowy Klientowi do podpisu.
- S57 - warunkowa decyzja kredytowa (konieczna zmiana liczby rat lub wpłata własna); wówczas Klient podejmuje decyzję - albo zmienia parametry kredytu i ponownie wysyła wniosek do decyzji (wówczas po pozytywnej decyzji kredytowej wyślemy status S56), albo rezygnuje z kredytu ratalnego (S90).
- S90 - negatywna decyzja kredytowa, rezygnacja Klienta, rezygnacja Partnera, wniosek odrzucony.
- S20 - wstępna pozytywna decyzja kredytowa dla wniosków z odbiorem towarów w sklepie stacjonarnym; dalsze procesowanie wniosku w sklepie, proces zdalny zostaje zakończony.
- W momencie przekazania umowy do podpisania przez Klienta (a więc niezwłocznie po wydaniu wstępnej pozytywnej decyzji kredytowej) Bank wyśle status S50. Oznacza to, ze Klient jest w trakcie procesowania wniosku (identyfikacja, ew. załączenie potrzebnych dokumentów i zdalne podpisanie umowy kodem SMS).
- Po podpisaniu umowy przez Klienta następuje sprawdzenie, czy Partner potwierdził rezerwację towaru (o ile jest to wymagane) dla zamówienia (dostarczył dane o towarach, manualnie w systemie eSprzedaż lub automatycznie, jeżeli wybrano taki model integracji). W zależności od wyników weryfikacji zostaną wysłane statusy:
- S55 - oznaczający brak danych o towarach. Należy wówczas niezwłocznie je uzupełnić. Wniosek nie będzie kontynuowany do czasu uzupełnienia przez Partnera brakujących danych.
- S70 - oznaczający potwierdzenie, ze Bank otrzymał wszelkie niezbędne dane o towarach.
- Jeśli potwierdzono rezerwację towarów dla zamówienia, a Klient dopełnił wszelkich formalności wraz z podpisaniem umowy, Bank wyśle status S60, którego otrzymanie oznacza zatwierdzenie umowy kredytu, a tym samym możliwość wysyłki towaru do Klienta.
- W przypadku rezygnacji Klienta z wniosku na dowolnym etapie procesu, Bank wyśle status S90, oznaczający zamknięcie wniosku.
- W przypadku powiadomienia typu POST od Partnera oczekujemy w treści odpowiedzi „OK”. Jeśli po wywołaniu powiadomienia Bank nie otrzyma w odpowiedzi „OK”, to uznaje, że powiadomienie się nie udało i w rezultacie po jakimś czasie próbuje ponownie wysłać tę samą wiadomość. Próbę ponawiamy 20 razy.
4.1.2 WSDL/XSD
<?xmlversion="1.0"encoding="UTF-8"standalone="no"?><wsdl:definitionsxmlns:impl="exchangeReceiver.webservice.lukas.itkontrakt.pl"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"name="ExchangeReceiver"targetNamespace="exchangeReceiver.webservice.lukas.itkontrakt.pl"><wsdl:types><xsd:schematargetNamespace="exchangeReceiver.webservice.lukas.itkontrakt.pl"></xsd:schema></wsdl:types><wsdl:messagename="applicationStatusModifiedRequest"><wsdl:partname="applNumberCA"type="xsd:string"/><wsdl:partname="applNumberExt"type="xsd:string"/><wsdl:partname="statusCA"type="xsd:string"/><wsdl:partname="statusCAInfo"type="xsd:string"/><wsdl:partname="modificationDate"type="xsd:dateTime"/></wsdl:message><wsdl:messagename="applicationStatusModifiedResponse"><wsdl:partname="result"type="xsd:string"/></wsdl:message><wsdl:portTypename="ExchangeReceiver"><wsdl:operationname="applicationStatusModified"><wsdl:inputmessage="impl:applicationStatusModifiedRequest"/></wsdl:operation></wsdl:portType><wsdl:bindingname="ExchangeReceiverSoapBinding"type="impl:ExchangeReceiver"><soap:bindingstyle="rpc"transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operationname="applicationStatusModified"><soap:operationsoapAction=""/><wsdl:input><soap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://exchangeReceiver.webservice.lukas.itkontrakt.pl"use="encoded"/></wsdl:input><wsdl:output><soap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/"namespace="http://exchangeReceiver.webservice.lukas.itkontrakt.pl"use="encoded"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:servicename="ExchangeReceiverService"><wsdl:portbinding="impl:ExchangeReceiverSoapBinding"name="ExchangeReceiver"><soap:addresslocation="http://localhost:7001/ExchangeReceiver/services/ExchangeReceiver"/></wsdl:port></wsdl:service></wsdl:definitions>
4.1.3 Informowanie o statusie wniosku - POST
Poza usługą SOAP opisaną powyżej statusy wniosku mogą być przesyłane - w zależności od wybranej konfiguracji sklepu - za pomocą metody POST. W wywołaniu znajdują się wtedy następujące parametry:
Nazwa atrybutu | Znaczenie |
---|---|
statusDesc | Opis statusu |
status | Status wniosku (zgodnie z tabelą w rozdziale Statusy wniosków) |
posId | Numer sklepu (PSP) |
orderId | Numer zamówienia ze sklepu internetowego |
applicationNo | Numer umowy z systemu eSprzedaż (CABP) |
updateDate | Data ostatniej aktualizacji (DD-MM-RRRR) |
randomizer | Losowa wartość |
hash | Skrót do uwierzytelniania Partnera |
Przykład:
posId=PSP1234567&orderId=890&applicationNo=1234567890123456&status=S90&statusDesc=Odmowa+udzielenia+kredytu.&updateDate=09-07-2020+16%3A27%3A57&randomizer=98765&hash=b6c3a121fe6f356e15ca171af1c1587a1e124673a3dac16e2313c7b51f12c12
Wyliczanie hash - wykorzystywana jest funkcja SHA256 z parametrami: posId + orderId + applicationNo + status + randomizer + hasło.
4.2 Odpytywanie o status wniosku
Oprócz odbierania informacji o statusach wniosku za pomocą ExchangeReceivera (rozdział powyżej), sklep ma możliwość aktywnego odpytania o status wniosku na każdym jego etapie. W tym celu należy skorzystać z usługi restowej getApplicationStatus (POST). Usługa dostępna jest pod adresem: https://ewniosek.credit-agricole.pl/eWniosek/comm/getApplicationsStatus. W zapytaniu należy podać numer sklepu (posId) oraz numer zamówienia ze sklepu internetowego (orderId) lub numer umowy z systemu eSprzedaż (applicationNo).
Zapytanie:
Nazwa atrybutu | Znaczenie | Dopuszczalne wartości |
---|---|---|
posId | Numer sklepu (PSP) | Regex ^PSP[0-9]{7}$ |
order id | Numer zamówienia ze sklepu internetowego | Regex ^.{0,30}$ |
applicationNo | Numer umowy z systemu eSPrzedaż (CABP) | Regex ^\d{16}$ |
Odpowiedź (w formacie JSON):
Nazwa atrybutu | Znaczenie |
---|---|
applicationFound | Czy znaleziono wniosek (true/false). Nie znalezienie wniosku może oznaczać także, że dla wniosku nie wydano jeszcze żadnej decyzji kredytowej. |
statusDescription | Opis statusu |
exchangeStatusCode | Status wniosku (zgodnie z tabelą w rozdziale Statusy wniosków) |
posId | Numer sklepu (PSP) |
orderId | Numer zamówienia ze sklepu internetowego |
Przykład:
{"applicationFound":true,"statusDescription":"Wniosek rozpatrzony pozytywnie. Oczekiwanie na potwierdzenie rezerwacji towaru.","exchangeStatusCode":"S55","posId":" PSP1070000","orderId":"46600000"}
Statusy opisane są w rozdziale Statusy wniosków. W przypadku, kiedy zostanie zadane pytanie o status wniosku, zanim zostanie on wysłany do decyzji kredytowej, zostanie zwrócona informacja o wniosku, bez wypełnienia pola exchangeStatusCode, np.:
{"applicationFound":true,"statusDescription":"Wniosek w trakcie realizacji.","exchangeStatusCode":"","posId":"PSP1234567","orderId":"02233445566"}
Jeśli sklep będzie odpytywał o status wniosku przy użyciu samego numeru zamówienia, wówczas nie powinien umożliwiać klientom składania więcej niż jednego wniosku dla tego samego numeru zamówienia.
4.3 Odpytywanie o szczegóły kredytu ratalnego
Sklep ma możliwość uzyskania informacji o szczegółach kredytu ratalnego na żądanie za pomocą webserwisu, przy użyciu usługi ReadCreditDetails. W zależności od wybranej opcji integracji może być dostępna ta funkcjonalność lub opisana w punkcie 4.4.
W celu wywołania usługi należy przekazać parametry: partnerId (id sklepu), applNumberExt (nr zamówienia w sklepie) i HASH wyliczony funkcją MD5 z następujących parametrów: partnerId, applNumberExt oraz hasło sklepu na adres https://ewniosek.credit-agricole.pl/eWniosek/rest/readCreditDetails.
Informacje zwracane w usłudze obejmują nr wniosku w Banku, kwotę kredytu, wysokość wpłaty własnej, sumę cen towarów oraz podane w zapytaniu nr zamówienia w sklepie i id sklepu. Informacje o typach danych zawarte są w tabelach poniżej:
Zapytanie:
Nazwa atrybutu | Opis | Typ danych | Wymagalność (W/O) |
---|---|---|---|
partnerID | Numer PSP | Max10Text | W |
applNumberExt | Numer zamówienia ze sklepu internetowego | Max30Tex | |
paramHash | Skrót (hash) do uwierzytelniania Partnera, zbudowany z partnerID, applNumberExt i hasła sklepu, a następnie wyliczony funkcją md5 | Max100Text |
Odpowiedź:
Nazwa atrybutu | Opis | Typ danych | Wymagalność (W/O) |
---|---|---|---|
applNumberCA | Numer umowy kredytowej w Banku | Max16Text | W |
applNumberExt | Numer zamówienia ze sklepu internetowego | Max30Text | |
partnerID | Numer PSP | Max10Text | |
creditAmount | Kwota kredytu | DecimalAmount | O |
downpayment | Wysokość wpłaty własnej Klienta | ||
assetPriceSum | Suma cen towarów |
Usługa po wywołaniu może także zwrócić następujące kody błędu:
Status HTTP | Status HTTP description | ErrorCode | ErrorDescription |
---|---|---|---|
401 | Unauthorized | WrongUserAuthentication | Brak uprawnień do wykonania operacji - niepoprawna wartość paramHash |
404 | NotFound | ApplicationNotFound | Nie znaleziono wniosku sprzedażowego, którego dotyczy zapytanie |
422 | Unprocessable Entity (WebDAV) | WrongApplicationStatus | Błąd zwracany w przypadku gdy wniosek jest w statusie innym niż zatwierdzony |
Przykładowy request:
curl --request POST \ --url https://ewniosek.credit-agricole.pl/eWniosek/rest/readCreditDetails \ --data '{ "partnerID": "PSP1234567", "applNumberExt": "02375016110", "paramHash": "56a5f2b85e83794acd8f3a11ede5543b" }'
Response:
{ "applNumberCA": "1234567010005346", "applNumberExt": "02375016110", "partnerID": "PSP1234567", "creditAmount": 1399, "downpayment": 0, "assetPriceSum": 1399 }
4.4 Informowanie o szczegółach wniosku - POST
Sklep ma możliwość otrzymania informacji o szczegółach kredytu ratalnego automatycznie za pomocą komunikatu POST (usługa creditDetails), po otrzymaniu informacji o podpisaniu umowy - statusu S60. W zależności od wybranej opcji integracji może być dostępna ta funkcjonalność lub opisana w punkcie 4.3. Bank będzie przesyłać następujące informacje na adres URL wskazany przez Partnera: nr wniosku w Banku, kwotę kredytu, wysokość wpłaty własnej, sumę cen towarów, datę wysyłki komunikatu oraz nr zamówienia w sklepie i id sklepu. Po odebraniu informacji z poniższego komunikatu sklep powinien potwierdzić odebranie informacji przesyłając odpowiedź “OK”. W przypadku braku uzyskania odpowiedzi Bank będzie ponawiał 20-krotnie wysyłkę komunikatu.
Przesyłane parametry zostały wyszczególnione w tabeli poniżej:
Nazwa atrybutu | Opis | Typ danych |
---|---|---|
applNumberCA | Numer umowy kredytowej w systemie eSprzedaż | Max16Text |
applNumberExt | Numer zamówienia ze sklepu internetowego | Max30Text |
partnerID | Numer PSP | Max7Text |
creditAmount | Kwota kredytu | DecimalAmount |
downpayment | Wysokość wpłaty własnej Klienta | |
assetPriceSum | Suma cen towarów | |
modificationDate | Data zlecenia wysłania komunikatu | ISODateTime |
Przykładowy YAML dla usługi ReadCreditDetails:
openapi: 3.0.0
info:
title: ReadCreditDetails
version: '1.0'
servers:
- url: 'http://localhost:3000'
paths:
/readCreditDetails:
post:
summary: ''
operationId: post-readCreditDetails
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReadCreditDetailsResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Unprocessable Entity (WebDAV)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReadCreditDetailsRequest'
components:
schemas:
ReadCreditDetailsRequest:
title: ReadCreditDetailsRequest
type: object
properties:
partnerID:
type: string
description: Numer PSP
maxLength: 7
applNumberExt:
type: string
description: Numer zamówienia ze sklepu internetowego
maxLength: 30
paramHash:
type: string
description: 'Skrót (hash) do uwierzytelniania Partnera, zbudowany z partnerID, applNumberExt i hasła z parametryzacji sklepu w KO, a następnie wyliczony funkcją md5'
maxLength: 100
required:
- partnerID
- applNumberExt
- paramHash
ReadCreditDetailsResponse:
title: ReadCreditDetailsResponse
type: object
properties:
applNumberCA:
type: string
description: |
Numer wniosku kredytowego w systemie eSprzedaż
applNumberExt:
type: string
description: Numer zamówienia ze sklepu internetowego
partnerID:
type: string
description: Numer PSP
creditAmount:
type: number
description: Kwota kredytu
format: double
downpayment:
type: number
description: Wysokość wpłaty własnej Klienta
format: double
assetPriceSum:
type: number
description: Suma cen towarów
format: double
required:
- applNumberCA
- applNumberExt
- partnerID
Error:
title: Error
type: object
properties:
errorCode:
type: string
description: |-
WrongUserAuthentication - Brak uprawnień do wykonania operacji - niepoprawna wartość paramHash
ApplicationNotFound - Nie znaleziono wniosku sprzedażowego, którego dotyczy zapytanie
WrongApplicationStatus - Błąd zwracany w przypadku gdy wniosek jest w statusie innym niż zatwierdzony
errorDescription:
type: string
5. Załączniki
5.1 Treść na strony sklepów
Kupuj wygodnie, wybierz raty Banku Credit Agricole.
Sprawdź jakie to proste:
- wybierz produkt który Cię interesuje
gdy wartość koszyka wyniesie minimum 100 zł skorzystaj z rat Banku Credit Agricole, - wypełnij wniosek online i poczekaj na decyzję kredytową,
- przelej 1 zł i załącz zdjęcie dowodu osobistego (o ile będzie to wymagane),
- potwierdź zawarcie umowy kodem z SMS,
- umowę otrzymasz na swoją skrzynkę e-mail,
a sklep zacznie realizować Twoje zamówienie.
[Nazwa Partnera] w imieniu Credit Agricole Bank Polska S.A. wykonuje czynności faktyczne związane z zawarciem umowy kredytu ratalnego z osobami fizycznymi. Decyzję o udzieleniu kredytu podejmie bank na podstawie analizy Twojej wiarygodności i zdolności kredytowej, po spełnieniu wymogów formalnych. Materiał ma charakter informacyjny.
5.2 Logotypy i przyciski do zamieszczenia na stronie sklepu
5.2.1 Przyciski „RRSO 0%”
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/aprc_sm_comp.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/aprc_md_comp.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/aprc_lg_comp.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/aprc_md_full.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/aprc_lg_full.png | |
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/aprc_sm_comp.svg | |
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/aprc_lg_full.svg |
5.2.2Przyciski "Oblicz ratę"
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/calc_sm_comp.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/calc_md_comp.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/calc_lg_comp.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/calc_md_full.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/calc_lg_full.png | |
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/calc_md_comp.svg | |
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/calc_md_full.svg |
5.2.3Przyciski "Raty"
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/inst_md_comp.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/inst_lg_comp.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/inst_md_full.png | |
http://ewniosek.credit-agricole.pl/eWniosek/res/buttons/inst_lg_full.png | |
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/inst_md_comp.svg | |
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/inst_md_full.svg |
5.2.4 Przyciski "Wypełnij wniosek"
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/fill_md_comp.png | |
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/fill_md_full.png | |
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/fill_md_comp.svg | |
https://ewniosek.credit-agricole.pl/eWniosek/res/buttons/fill_md_full.svg |
6. FAQ
6.1 Jak kodować nazwy towarów w koszyku?
Tekst przesyłany w formularzu POST musi być kodowany, zgodnie ze standardami dla formularzy HTML: UTF8 i „URL Encoded Form”.
- Encoding: UTF-8
- Http-Method: POST
- Content-Type: application/x-www-form-urlencoded
Poniżej przykładowe nazwy towarów z zastosowaniem powyższego kodowania:
- nazwa towaru „---> Regulacja roweru” powinno zostać przesłana jako „---%3E%20Regulacja%20roweru”.
- nazwa towaru „ładna pralka!” powinna zostać przesłana jako „%C5%82adna%20pralka!”
- nazwa towaru „Rower MTB 29"” powinna zostać przesłana jako „Rower%20MTB%2029%22”.
6.2 Jak przesyłać koszty przesyłki?
Koszty przesyłki, o ile występują, powinny zostać przekazane jako dodatkowy towar o nazwie „Przesyłka”. Np.:
cart.itemName1=[MonitorGMASTERG2530HSU],
cart.itemPrice1=[599.00],
cart.itemQty1=[1],
cart.itemName2=[Przesylka],
cart.itemPrice2=[19.00],
cart.itemQty2=[1],
Jeżeli koszty przesyłki nie zostaną przesłane jako pozycja na liście towarów, nie będą kredytowane. Należy jednak pamiętać, aby w takiej sytuacji nie uwzględniać kosztów przesyłki w całkowitej kwocie zamówienia, gdyż eWniosek zgłosi błąd w sytuacji, gdy suma cen towarów będzie mniejsza niż całkowita kwota zamówienia.
6.3 Jak obsłużyć rabaty?
W przypadku udzielenia rabatów rekomendujemy przekazanie ceny pojedynczych towarów już po uwzględnieniu rabatów.
Np. Jeżeli towar1 kosztuje 500 zł, towar2 kosztuje 1000 zł i Klient wykorzystuje kod rabatowy na 10% zniżki, przesyłamy:
cart.itemName1=[towar1],
cart.itemPrice1=[450.00],
cart.itemQty1=[1],
cart.itemName2=[towar2],
cart.itemPrice2=[900.00],
cart.itemQty2=[1],
Opcjonalnie możliwe jest przekazanie pierwotnych cen towarów i dodatkowego towaru o nazwie „bonus” z ujemną ceną:
cart.itemName1=[towar1],
cart.itemPrice1=[500.00],
cart.itemQty1=[1],
cart.itemName2=[towar2],
cart.itemPrice2=[1000.00],
cart.itemQty2=[1],
cart.itemName3=[bonus],
cart.itemPrice3=[-150],
cart.itemQty3=[1],
6.4 Co to są strony powrotne i jak je przygotować?
Po podpisaniu umowy o kredyt ratalny Klientowi wyświetla się strona z podziękowaniami oraz z przyciskiem umożliwiającym powrót do sklepu internetowego, w którym dokonał zakupu.
Po naciśnięciu tego przycisku, eWniosek przekieruje Klienta z powrotem na stronę sklepu na adres, który został podany jako adres powrotu pozytywnego, po podpisaniu umowy o współpracy z Bankiem. Sklep powinien wyświetlić na niej tekst wskazany w rozdziale 3.4 Powrót na stronę sklepu z formularza wnioskowego:
Jako parametr wywołanego adresu będzie przekazany numer zamówienia ze sklepu.
Podobnie po decyzji negatywnej lub rezygnacji Klienta z wypełniania wniosku, w formularzu wnioskowym zostanie wyświetlony następujący komunikat:
Po kliknięciu na przycisk „Powrót do sklepu” Klient powinien zostać przeniesiony do sklepu na stronę powrotu negatywnego. Sklep powinien wyświetlić na niej tekst wskazany w rozdziale 3.4 Powrót na stronę sklepu z formularza wnioskowego:
Jako parametr wywołanego adresu będzie przekazany numer zamówienia ze sklepu. Dzięki temu po stronie eCommerce będzie możliwe oprogramowanie powrotu do zamówienia i wyboru innej metody płatności.
Proponowane treści do wyświetlenia na stronach powrotnych zamieszczone są w rozdziale 3.4 Powrót na stronę sklepu z formularza wnioskowego.
6.5 Co to jest URL źródłowy i do czego służy?
Po podpisaniu umowy z Bankiem i nadaniu unikalnego numeru PSP, sklep podaje Bankowi tzw. URL źródłowy (lub listę URLi źródłowych). Są to adresy domen sklepów internetowych.
Po stronie Banku te adresy są zarejestrowane i weryfikowane podczas otrzymywania wniosków ze sklepów internetowych. Wnioski z adresów URL niezarejestrowanych w Banku nie będą przyjmowane.