• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dotpay/CURL pomoc

Object Storage Arubacloud
0 głosów
514 wizyt
pytanie zadane 24 lipca 2018 w PHP przez s4bek Użytkownik (600 p.)
edycja 24 lipca 2018 przez s4bek

Cześć! Dzisiaj dostałem informację, aby przekazać wszystkie parametry do dotpay.pl przez curla. Napisałem taki kod. Wszystko okej, przekazało, ale dlaczego mi nie wyświetla styli, nic nie mogę kliknąć(zdj. poniżej)? Czy jest to spowodowane przez to, że jestem na localhost, czy jakieś opcji nie dodałem?

<?php

if(isset($_POST['zaplac'])) {
	$config = [
		'id' => 123456,
		'amount' => '1',
		'waluta' => 'PLN',
		'description' => 'Test',
		'lang' => 'pl'
	];

	$get = http_build_query($config);

	$url = 'https://ssl.dotpay.pl/test_payment/';

	$url .= '?' . $get;

	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $config);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

	echo curl_exec($ch);

	curl_close($ch);


}


?>

<form method="post" action="">
	<button type="submit" name="zaplac">Zaplac</button>
</form>

1 odpowiedź

0 głosów
odpowiedź 30 lipca 2018 przez cprn Początkujący (380 p.)

W wielkim skrócie: CURL nie do tego służy. Nie chcesz używać CURL-a, chcesz zrobić zwykły POST (taki jak np. z formularza, tag <form> i w inputach typu "hidden" parametry z ceną, etc.). To co robisz teraz:

  1. klient (przeglądarka) łączy się z Twoim serwerem
  2. Twój serwer łączy się z Dotpay i odbiera dane
  3. Twój serwer wyświetla dane klientowi (przeglądarce) i klient nie ma możliwości kontynuacji procesu płatności

Klient nigdy nie opuszcza Twojego sklepu/strony, czyli widzi content z Twoimi stylami i w kontekście Twojego serwera, w którym np. przycisk "Dokonaj płatności" albo linki do logotypów banków nie mają sensu bo wskazują na nieistniejące (na Twoim serwerze) zasoby. To co chcesz osiągnąć, to przekierowanie przeglądarki klienta do Dotpay, tj:

  1. klient (przeglądarka) łaczy się z Twoim serwerem
  2. Twój serwer serwuje URL (użytkownik w niego klika)
  3. klient jest przekierowany na stronę Dotpay i tam widzi wszystkie style, etc., kończy płatność
  4. klient wraca do Twojego sklepu
  5. w osobnym połączeniu (taki CURL od serwera Dotpay, ale nazywa się URLC) odbierasz potwierdzenie płatności i odpowiadasz "OK"
  6. weryfikujesz, że potwierdzenie na pewno przyszło od Dotpay
  7. wydajesz towar/usługę

Podobne pytania

0 głosów
1 odpowiedź 512 wizyt
pytanie zadane 27 lipca 2018 w PHP przez Olek Szymański Użytkownik (920 p.)
0 głosów
1 odpowiedź 791 wizyt
pytanie zadane 31 lipca 2018 w PHP przez Olek Szymański Użytkownik (920 p.)
0 głosów
2 odpowiedzi 356 wizyt
pytanie zadane 8 września 2018 w PHP przez Rafał Michalik 1 Początkujący (490 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...