Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]Integracja płatności Transferuj.pl
nikestylex7
post
Post #1





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


Witam. Czy robił już to ktoś? Staram się zrobić tak jak tłumaczą lecz nie są zwracane żadne dane. Chciałbym aby dodatkowo w płatności było id osoby która tą płatność dokonała, data kiedy potem po prostu zrobić update bazy dodać 30dni dodatkowo. Może mógłby mnie ktoś nakierować?
Przykładowy odbiór ma wyglądać tak
  1. <?php // sprawdzenie adresu IP oraz występowania zmiennych POST
  2. if($_SERVER['REMOTE_ADDR']=='195.149.229.109' && !empty($_POST)){
  3. $id_sprzedawcy = $_POST['id'];
  4. $status_transakcji = $_POST['tr_status'];
  5. $id_transakcji = $_POST['tr_id'];
  6. $kwota_transakcji = $_POST['tr_amount'];
  7. $kwota_zaplacona = $_POST['tr_paid'];
  8. $blad = $_POST['tr_error'];
  9. $data_transakcji = $_POST['tr_date'];
  10. $opis_transakcji = $_POST['tr_desc'];
  11. $ciag_pomocniczy = $_POST['tr_crc'];
  12. $email_klienta = $_POST['tr_email'];
  13. $suma_kontrolna = $_POST['md5sum'];
  14. // sprawdzenie stanu transakcji
  15. if($status_transakcji=='TRUE' && $blad=='none'){
  16. /* Dalsze przetwarzanie, np: - identyfikacja transakcji na podstawie ciągu pomocniczego - weryfikacja transakcji (sprawdzenie poprawności kwoty itp.) - realizacja zamówienia */
  17. } else {
  18. // transakcja wykonana niepoprawnie
  19. } } echo 'TRUE';
  20. // odpowiedź dla serwera o odebraniu danych ?>
Go to the top of the page
+Quote Post
kayman
post
Post #2





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


żeby mieć id osoby lub inne dane trzeba je najpierw do nich wysłać

generalnie w formularzu wysyłania jest przewidziane pole/pola dla dodatkowych danych

ja robiłem coś takiego że przykładowo miałem do wysłania id + data + kwota netto to robiłem ciąg znaków -> 15a20131030a402a45 gdzie pierwsza liczba to id druga data trzecia kwota czwarta grosze smile.gif

oczywiście to uproszczenie ale podaje ci pomysł jak prosto zakodować a potem rozkodować co potrzebujesz przemycić smile.gif

btw. instrukcja jest ok, po chwili sie połapiesz co co chodzi
Go to the top of the page
+Quote Post
nikestylex7
post
Post #3





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


Zakodować mogę w md5 lub hash lecz wysyłając do nich te dane oni nie zwracają mi ich z powrotem

mógłbyś pokazać jak zbudowałeś formularz?
Go to the top of the page
+Quote Post
kayman
post
Post #4





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


to znaczy ze masz źle skonfigurowany formularz wysyłania w stosunku do ustawień konta w transferuj

a jak masz ustawiony to wiesz tylko ty smile.gif

jak tryb testowy odpowie to i produkcyjny będzie działać smile.gif

e:/

niestety nie bardzo mogę pokazać ale robiłem to z instrukcji smile.gif

Ten post edytował kayman 31.12.2013, 18:23:01
Go to the top of the page
+Quote Post
nikestylex7
post
Post #5





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


pokaż ale zamianst danych umieść zmienna np $koza bede wiedział mniej więcej
Go to the top of the page
+Quote Post
kayman
post
Post #6





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. function getTicketForm($brutto, $nazwa, $ticket, $netto) {
  2. echo '<form style="text-align: center;" action="https://secure.transferuj.pl" method="post" accept-charset="utf-8">';
  3. echo '<input type="hidden" name="id" value="8888">';
  4. $id = '8888'; // twoje id czy inny kod z transferuj
  5. $cena = str_replace(',', '.', $brutto);
  6. $crc = $this->codeBackUrl($brutto, $ticket, $netto); // to tworzy ciąg znaków powrotnych
  7. $kod = 'to wazne'; // jakis twoj kod na transferuj
  8. $md5sum = md5($id . $cena . $crc . $kod);
  9. echo '<input type="hidden" name="kwota" value="' . $cena . '">';
  10. echo '<input type="hidden" name="opis" value="' . $nazwa . '">';
  11. echo '<input type="hidden" name="crc" value="' . $crc . '">';
  12. echo '<input type="hidden" name="md5sum" value="' . $md5sum . '">';
  13. echo '<input type="hidden" name="wyn_url" value="' . SITE . 'payment.html">';
  14. echo '<input type="hidden" name="wyn_email" value="Adres mailowy powiadomienia">';
  15. echo '<input type="hidden" name="opis_sprzed" value="jakas firma">';
  16. echo '<input type="hidden" name="pow_url" value="' . SITE . 'payok.html">';
  17. echo '<input type="hidden" name="pow_url_blad" value="' . SITE . 'paybad.html">';
  18. echo '<input type="hidden" name="email" value=""> <input type="hidden" name="nazwisko" value="">';
  19. echo '<input type="hidden" name="imie" value="">';
  20. echo '<input type="hidden" name="adres" value="">';
  21. echo '<input type="hidden" name="miasto" value="">';
  22. echo '<input type="hidden" name="kod" value="">';
  23. echo '<input type="hidden" name="kraj" value="">';
  24. echo '<input type="hidden" name="telefon" value="">';
  25. echo '<input type="hidden" name="jezyk" value="pl">';
  26. $this->getTRButtonForForm('Kupuję ' . $nazwa);
  27. echo '</form>';
  28. }
Go to the top of the page
+Quote Post
nikestylex7
post
Post #7





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


a co masz po odbiorze tzn żeby wiedzieć jaka osoba kupiła jak odbierasz powrotne dane??
Go to the top of the page
+Quote Post
kayman
post
Post #8





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


odbieram formularzem który pokazałeś i z pola crc rozkodowuje co mi potrzebne -> w wypadku tego potrzebuję id sprzedanego biletu by zmniejszyć ich dostępna ilość no i kwoty bo ktoś miedzy czasie mógł podać kod rabatowy smile.gif
Go to the top of the page
+Quote Post
nikestylex7
post
Post #9





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


ok powalcze z tym. Dam znać co i jak

a możesz podazać jak skonfigurowałeś to odbieranie danych
Go to the top of the page
+Quote Post
kayman
post
Post #10





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. function pay() {
  2. // sprawdzenie adresu IP oraz występowania zmiennych POST
  3. if ($_SERVER['REMOTE_ADDR'] == '195.149.229.109' && !empty($_POST)) {
  4. $id_sprzedawcy = $_POST['id'];
  5. $status_transakcji = $_POST['tr_status'];
  6. $id_transakcji = $_POST['tr_id'];
  7. $kwota_transakcji = $_POST['tr_amount'];
  8. $kwota_zaplacona = $_POST['tr_paid'];
  9. $blad = $_POST['tr_error'];
  10. $data_transakcji = $_POST['tr_date'];
  11. $opis_transakcji = $_POST['tr_desc'];
  12. $ciag_pomocniczy = $_POST['tr_crc'];
  13. $email_klienta = $_POST['tr_email'];
  14. $suma_kontrolna = $_POST['md5sum'];
  15. // sprawdzenie stanu transakcji
  16. if ($status_transakcji == 'TRUE' && $blad == 'none') {
  17.  
  18. // obrobka togo co odebralem
  19.  
  20.  
  21. echo 'TRUE'; // odpowiedź dla serwera o odebraniu danych
  22. }
  23. }


jak mówiłem kopia twojego kodu smile.gif

Ten post edytował kayman 31.12.2013, 19:06:54
Go to the top of the page
+Quote Post
nikestylex7
post
Post #11





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


a jak obrabiasz to co odebrales?
Go to the top of the page
+Quote Post
kayman
post
Post #12





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


tego już pokazać nie mogę smile.gif generalnie jest to insert/update do 2-3 tabel w bazie typu zdjęcie ilości dostępnych biletów lub co tam potrzeba

klasa rozbija -> $ciag_pomocniczy = $_POST['tr_crc']; przez explode() i ma co obrabiać
Go to the top of the page
+Quote Post
nikestylex7
post
Post #13





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


To tylko zmienne dlaczego nie mozesz pokazać jak się boisz to zmien zmienne i to mi pomoże smile.gif
Go to the top of the page
+Quote Post
kayman
post
Post #14





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


ale tu wszytko widać

to z przykładu -> ciąg znaków -> 15a20131030a402a45 gdzie pierwsza liczba to id druga data trzecia kwota czwarta grosze rozbijam $c= explode('a',$ciag_znakow) i wiem że $c[0] to id $c[1] to data etc

potem odpowiednie zapytania do bazy i koniec

poza tym to mój pomysł, wcale nie wiem czy najlepszy ale chodzi na kilku stronach i problemu nie ma smile.gif
Go to the top of the page
+Quote Post
nikestylex7
post
Post #15





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


nie wiem coś jest nie tak jakby serwer nie zwracał mi tych danych w post. Po zapłaceniu przekierowuje mnie na moją stronę i nic nawet komunikatu mojego nie wyświetla.
Go to the top of the page
+Quote Post
kayman
post
Post #16





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


tu -> echo '<input type="hidden" name="wyn_url" value="' . SITE . 'payment.html">'; podaj pełny poprawny adres skryptu, potem sobie przekierujesz w .htaccess jak to bedzie konieczne, pełny to znaczy http://domena.pl/skrypt.php
Go to the top of the page
+Quote Post
nikestylex7
post
Post #17





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


a jak to Ci działa bo masz podane że dane ma Ci wysłać na payment a masz też podane żeby jak transakcja będzie poprawna to na payok
Go to the top of the page
+Quote Post
kayman
post
Post #18





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


paymanent.html -> przekierowanie przez htaccess na skrypt php -> to obrabia co zwrócił serwer transferuj

payok.html -> statyczny html co sie wyswielta userowi jak platnosc jest ok
paybad.html -> jak wyzej tylko jak cos nie tak z platnoscia

wszedzie trzeba podac pelny adres -> u mnie to robi stala SITE plus nazwa dokumentu
Go to the top of the page
+Quote Post
nikestylex7
post
Post #19





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


hmmm powiem Ci tak coś mam nie tak formularz mam dobrze bo tranzakcja przebiega poprawnie i jak przekierowywuje mnie to na payok a nie na payment wiec nic sie nie dzieje jak ustawie na payment gdzie mam obrobke to tak jak by zadne dane nie zostaly wyslane od serwera...

w panelu transferuj mam
Adres powiadomienia URL https://strona.com/payment.php
Zezwól na nadpisanie tak

w payment mam
  1. <form action="https://secure.transferuj.pl" method="post">
  2. <?php
  3. $id = "111111"; // twoje id czy inny kod z transferuj
  4. $cena = "139.99";
  5. $crc = "dsfsfsfsfs"; // to tworzy ciąg znaków powrotnych
  6. $kod = "f691ea8d7363b9ae"; // jakis twoj kod na transferuj
  7. $md5sum = md5($id . $cena . $crc . $kod);
  8. ?>
  9. <input type="hidden" name="id" value="11111">
  10. <input type="hidden" name="kwota" value="<? echo $cena; ?>">
  11. <input type="hidden" name="opis" value="Płatność za abonament">
  12. <input type="hidden" name="crc" value="<? echo $crc; ?>">
  13. <input type="hidden" name="md5sum" value="<? echo $md5sum; ?>">
  14. <input type="hidden" name="wyn_url" value="https://strona.com/payment.php">
  15. <input type="hidden" name="wyn_email" value="Adres mailowy powiadomienia">
  16. <input type="hidden" name="opis_sprzed" value="Twoja Giełda">
  17. <input type="hidden" name="pow_url" value="https://strona.com/payok.php">
  18. <input type="hidden" name="pow_url_blad" value="https://strona.com/paybad.php">
  19. <input type="hidden" name="email" value="">
  20. <input type="hidden" name="nazwisko" value="">
  21. <input type="hidden" name="imie" value="">
  22. <input type="hidden" name="adres" value="">
  23. <input type="hidden" name="miasto" value="">
  24. <input type="hidden" name="kod" value="">
  25. <input type="hidden" name="kraj" value="">
  26. <input type="hidden" name="telefon" value="">
  27. <input type="hidden" name="jezyk" value="pl">
  28. <input type="submit" name="Przejdź do płatności">
  29. </form>
  30. <?
  31. if($_SERVER['REMOTE_ADDR']=='195.149.229.109' && !empty($_POST)){
  32. $id_sprzedawcy = $_POST['id'];
  33. $status_transakcji = $_POST['tr_status'];
  34. $id_transakcji = $_POST['tr_id'];
  35. $kwota_transakcji = $_POST['tr_amount'];
  36. $kwota_zaplacona = $_POST['tr_paid'];
  37. $blad = $_POST['tr_error'];
  38. $data_transakcji = $_POST['tr_date'];
  39. $opis_transakcji = $_POST['tr_desc'];
  40. $ciag_pomocniczy = $_POST['tr_crc'];
  41. $email_klienta = $_POST['tr_email'];
  42. $suma_kontrolna = $_POST['md5sum'];
  43. if($status_transakcji=='TRUE' && $blad=='none'){
  44. echo "dddddddd";
  45. } else {
  46. echo "eeeeeeeeee";
  47. } } echo 'TRUE';


oczywiście na razie dane sprawdzające tylko żeby zobaczyć czy dostaje odp od serwera a tu nic żadnego komunikatu od razu mi przechodzi na payok a co z payment i odbiorem danych?
Go to the top of the page
+Quote Post
kayman
post
Post #20





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


tak ma być, user widzi payok.html, dane z serwera idą do innego skryptu

zwróć uwagę na to ze ze może być sytuacja ze serwer przekieruje usera na payok.html natychmiast a wyśle dane do payment.html np za 2 min po transakcji kiedy już user dawno wyszedł ze strony i zapomniał ze coś płacił smile.gif

bardzo często występuje 30+ sek opóźnienia w odbieraniu danych w stosunku do przekierowania, ktoś słusznie uznał ze nie ma co wstrzymywać usera az serwer transferuj obrobi dane smile.gif

Ten post edytował kayman 1.01.2014, 18:05:39
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 02:29