Skocz do zawartości

Formularz zamówienia i opłacenia usług


Saint

Rekomendowane odpowiedzi

Chodź może się to wydawać prostym zadaniem napotkałem kilka problemów już na etapie planowania samego formularza. Chciałbym zrobić formularz zamówienia usług coś jak https://w3-markup.com/order tyle, że tu mamy do czynienia java czego osobiście nie chciałbym dotykać. Tak czy owak zaplanowałem trzy kroki w tym formularzu tj. 1. Wprowadzenie wymaganych danych, 2. Wybór usługi 3. Wybór sposobu płatności i płatność. Myślę raczej, że wcześniej nie powstało rozwiązanie tego typu z powodu posłużenia się kilkoma procesorami płatności online... w każdym razie starałem się znaleźć półprodukt, do którego mógłbym dorobić płatności innymi metodami i w zasadzie znalazłem parę tak zwanych koszyków do Word Press (bo na nim będzie stała docelowo sama strona), ale były bardzo ograniczone lub wątpliwie bezpieczne.

Oto jak sobie to zaplanowałem:

1. Wprowadzenie niezbędnych danych

Dane personalne:

Imię: [----]

Nazwisko: [----]

Adres zamieszkania:

Ulica: [-----]

Numer domu / lokalu: [----] / [----]

Miejscowość: [----]

Kraj: [----]

Numer telefonu stacjonarnego: [----] (opis formatu)

Numer faksu: [----] (opis formatu)

Numer telefonu komórkowego: [----] (opis formatu)

Adres korespondencyjny:

[X] Zaznacz jeśli taki sam jak adres zamieszkania.

Ulica: [-----]

Numer domu / lokalu: [----] / [----]

Miejscowość: [----]

Kraj: [----]

[X] Wyrażam zgodę na przetwarzanie moich danych osobowych w celu realizacji zamówienia ...

[X] Zapoznałem(-am) się z treścią Regulaminu (link do regulaminu) serwisu ...

[Dalej >>]

2. Wybór usługi

[x] Usluga 1 cena: xxx PLN

Krótki opis usługi

[x] Usługa 2 cena: xxx PLN

Krótki opis usług

[x] Usługa 3 cena: xxx PLN

Krótki opis usług

[x] Usługa 4 cena: xxx PLN

Krótki opis usług

[x] Usługa 5 cena: xxx PLN

Krótki opis usług

[x] Usługa 6 cena: xxx PLN

Krótki opis usług

[x] Usługa 7 cena: xxx PLN

Krótki opis usług

[x] Usługa przekierowania poczty 1 cena: xxx PLN

Krótki opis usług

Przekierować pocztę na adres: [>]Wzbierz ]

[korespondencyjny]

[zamieszkania ]

[x] Usługa przekierowania poczty 2 cena: xxx PLN

Krótki opis usług

Przekierować pocztę na adres: [>]Wzbierz ]

[korespondencyjny]

[zamieszkania ]

[x] Usługa przekierowania poczty 3 cena: xxx PLN

Krótki opis usług

Przekierować pocztę na adres: [>]Wzbierz ]

[korespondencyjny]

[zamieszkania ]

[<<Wstecz] [Dalej >>]

Problem jaki nasówa się w tym kroku jak i w następnym to bezpieczne przeliczanie walut jako, że za usługi te muszę zapłacić w dolarach amerykańskich chciałbym nie być w plecy z powodu kursu USD do PLN zatem wymyśliłem, że cena będzie ustalana automatycznie na podstawie kursu któregoś z banków bo obliczanie dla każdego z osobna trochę mija się z celem. Do wyznaczenia kursu wziąłem mBank (https://www.mbank.pl/przewodnik/kurs_walut/) tabele kursów są w miarę przejrzyste i można dość łatwo wyłowić to co trzeba. Oczywiście z interesuje mnie kurs sprzedaży USD + 0,15 PLN z uwagi na ryzyko skoku kursu zwłaszcza kiedy zamówienie jest opłacane w weekend i ma dużą wartość to nie jest parę złoty.

Zrobiłem co takiego:

<?php
mbank_dolar();

function mbank_dolar()
{ $rx = '~<td .*>1 USD</td>[\r\n\s]*<td .*/td>[\r\n\s]*<td .*>(.*)</td>~isU';
$file = 'kursdolara.txt';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.mbank.pl/przewodnik/kurs_walut/');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_MAXREDIRS,10);
curl_setopt($ch, CURLOPT_TIMEOUT, 20); // timeout in seconds
$output = curl_exec($ch);
#echo ($output);
if (!curl_errno($ch))
{ if ($kurs = preg_match($rx, $output, $match))
#echo $match[0];
file_put_contents($file, $match[1]);
}
curl_close($ch);
}

?>

Nie jest to doskonałe rozwiązanie z paru względów: 1. Zapisuje w .txt , 2. Nie operuje na wielu tabelach (kursy walut mogą się zmieniać kilka razy dziennie), 3. Jest problem z dniami wolnymi - mBank nie pokazuje żadnej tabeli.

Tak czy owak chciałbym aby wyglądało to w tej sposób, że wpisuje kwotę mojego kosztu w USD danej usługi i ta cześć obliczana jest automatycznie na podstawie ostatniego kursu sprzedaży USD wg. tabeli mBanku + 0,15 PLN zaokrąglaną w górę do pełnej złotówki oraz swoją prowizję za tę usługę w złotych w ten sposób w formularzu powstała by cena końcowa jaką klient musi zapłacić za daną usługę.

3. Wybór sposobu płatności i płatność

Jest to ostatni, a jednocześnie najtrudniejszy krok w całym formularzu tj. integracja z trzema niezależnymi procesorami płatności. W Polsce jest tak, że żaden z nich nie obsługuje wszystkiego zatem trzeba skorzystać z trzech co jest pewną trudnością bo każdy jest inny, a klienci mają różne konta i chcieliby płacić tak jak jest im najwygodniej. Będę wdzięczny jeśli ktoś ma jakieś rady w tej materii gdyż nigdy wcześniej nie robiłem integracji różnych forma płatności w jedno.

Platnosci.pl

ING Online

mTransfer

Płacę z Inteligo

MultiTransfer

Przelew24

Pekao24 przelew

Płacę z PKO

BPH

Nordea

Lukas e-przelew

Karta Kredytowa

DotPay.pl

Millenet

KB24

Deutsche Bank

CitiBank

BOŚBank24

eBGŻ

InvestBank

Fortis Bank Planet

VW Bank Direct

Zapłać w Żabce

Moje Rachunki

Kupony Ukash

PayPal

Przelew PayPal

Karta kredytowa

Myślę, że jeśli by to zrobić nawet w formie plugina do Word Pressa to przydało by się bardzo wielu osobą.

Giełda Domen Internetowych - najlepsze domeny w sieci
Odnośnik do komentarza
Udostępnij na innych stronach

- najpierw powinien być wybór usługi a następnie proces podawania danych osobowych.

Jest to jakiś pomysł, ale nie musi tak być zawsze.

- dane osobowe ogranicz do minimum,

Nie jest to możliwe z powodu specyfiki usług jakie chce oferować.

- wybor płatności to powinno być jedno kliknięcie.

Tak też będzie o ile uda mi się zrobić ten formularz.

Giełda Domen Internetowych - najlepsze domeny w sieci
Odnośnik do komentarza
Udostępnij na innych stronach

Może się odniosę od razu do 2 punktu, bo miałem podobny problem, skończyło się na tym że od czasu do czasu sam sobie uaktualniam kursy, bo sprzedaję licencje i one należą do mnie więc małe różnice nie są dla mnie istotne. Myślałem jednak o automacie. Proponował bym to jednak oprzeć na kursie średnim nbp https://nbp.pl/ tam tabela jest zawsze i jest chyba najbardziej aktualna i miaro dajna. Oczywiście za każdym razem gdy pobierasz dane mogą pojawić się błędy( brak połączenia itp. ) wtedy powinieneś pobierać ostatnią prawidłową wartość. By sprawdzać prawidłowość pobranych kursów, proponował bym ustalić sobie przedział dla którego kurs jest prawdopodobny, tak by naglę nie wyskoczyło, że euro kosztuje 80 zł lub co gorsza 2 grosze, przykładowy przedział może wynosić od 3.30 do 4.10, jeśli te wartości są przekroczone, to admin dostaję maila że coś jest nie tak, a koszt obliczany jest według ostatniej prawidłowej wartości. Można też zrobić tak co będzie nawet lepsze że sprawdzasz jaki był wzrost lub spadek kursu i jeśli wykracza poza przedział wzrostu stwierdzasz ze dane zostały pobrane nie prawidłowo. To tyle jeśli chodzi o pierwszy punkt.

3. Punkt wydaje mi się bardzo prosty, budujesz sobie table który operator obsługuje którą płatność i na taką stronę kierujesz usera. Olał bym wykorzystywanie jakiegoś ajaxa lub javy zrobił bym to na 3 krokowy formularzu( czyli klasycznie 3 formularze następujące po sobie )

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności