Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przelewy24 konfiguracja plik
login90
post 17.07.2022, 10:13:17
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


Witam.

W necie na forum znalazłem coś takiego. Czy ktoś wie jak przerobić tak aby wiedzień, który użytkownik zapłacił. np. wchodzi na moje konto, potem w plik zapłać za ogłoszenie http://localhost/strona/pay/1/user pay to nazwa pliku, 1 to id, a user to nazwa. I jak zrobił aby po kliknięciu zapłać i po dokonaniu tranzakcjii do bazy danych wbiła się id tranzakcji, nazwa, id użytkownika z serwisu do bazy danych.


Przelewy24_API.php
  1. <?php
  2.  
  3. define('PRZELEWY24_MERCHANT_ID', 'Twój nr sprzedawcy');
  4. define('PRZELEWY24_CRC', 'Twój kod CRC');
  5. // sandbox - środowisko testowe, secure - środowisko produkcyjne
  6. define('PRZELEWY24_TYPE', 'sandbox');
  7.  
  8. class Przelewy24_API
  9. {
  10. public function CreateToken($p24_amount = null, $p24_description = null, $p24_email = null, $p24_url_return = null, $p24_url_status = null)
  11. {
  12. $p24_session_id = uniqid();
  13.  
  14. $headers[] = 'p24_merchant_id=' . PRZELEWY24_MERCHANT_ID;
  15. $headers[] = 'p24_pos_id=' . PRZELEWY24_MERCHANT_ID;
  16. $headers[] = 'p24_crc=' . PRZELEWY24_CRC;
  17. $headers[] = 'p24_session_id=' . $p24_session_id;
  18. $headers[] = 'p24_amount=' . $p24_amount;
  19. $headers[] = 'p24_currency=PLN';
  20. $headers[] = 'p24_description=' . $p24_description;
  21. $headers[] = 'p24_country=PL';
  22. $headers[] = 'p24_url_return=' . urlencode($p24_url_return);
  23. $headers[] = 'p24_url_status=' . urlencode($p24_url_status);
  24. $headers[] = 'p24_api_version=3.2';
  25. $headers[] = 'p24_sign=' . md5($p24_session_id . '|' . PRZELEWY24_MERCHANT_ID . '|' . $p24_amount . '|PLN|' . PRZELEWY24_CRC);
  26. $headers[] = 'p24_email=' . $p24_email;
  27.  
  28. $oCURL = curl_init();
  29. curl_setopt($oCURL, CURLOPT_POST, 1);
  30. curl_setopt($oCURL, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
  31. curl_setopt($oCURL, CURLOPT_POSTFIELDS, implode('&', $headers));
  32. curl_setopt($oCURL, CURLOPT_URL, 'https://' . PRZELEWY24_TYPE . '.przelewy24.pl/trnRegister');
  33. curl_setopt($oCURL, CURLOPT_SSL_VERIFYHOST, 2);
  34. curl_setopt($oCURL, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
  35. curl_setopt($oCURL, CURLOPT_RETURNTRANSFER, 1);
  36. curl_setopt($oCURL, CURLOPT_SSL_VERIFYPEER, false);
  37. $response = curl_exec($oCURL);
  38. curl_close($oCURL);
  39.  
  40. parse_str($response, $output);
  41. return isset($output['token']) ? $output['token'] : 0;
  42. }
  43.  
  44. public function Pay($p24_amount = null, $p24_description = null, $p24_email = null, $p24_url_return = null, $p24_url_status = null)
  45. {
  46. $token = $this->CreateToken($p24_amount, $p24_description, $p24_email, $p24_url_return, $p24_url_status);
  47. return 'https://' . PRZELEWY24_TYPE . '.przelewy24.pl/trnRequest/' . $token;
  48. }
  49.  
  50. public function Verify($data = null)
  51. {
  52. $headers[] = 'p24_merchant_id=' . $data['p24_merchant_id'];
  53. $headers[] = 'p24_pos_id=' . $data['p24_pos_id'];
  54. $headers[] = 'p24_session_id=' . $data['p24_session_id'];
  55. $headers[] = 'p24_amount=' . $data['p24_amount'];
  56. $headers[] = 'p24_currency=PLN';
  57. $headers[] = 'p24_order_id=' . $data['p24_order_id'];
  58. $headers[] = 'p24_sign=' . md5($data['p24_session_id'] . '|' . $data['p24_order_id'] . '|' . $data['p24_amount'] . '|PLN|' . PRZELEWY24_CRC);
  59.  
  60. $oCURL = curl_init();
  61. curl_setopt($oCURL, CURLOPT_POST, 1);
  62. curl_setopt($oCURL, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
  63. curl_setopt($oCURL, CURLOPT_POSTFIELDS, implode('&', $headers));
  64. curl_setopt($oCURL, CURLOPT_URL, 'https://' . PRZELEWY24_TYPE . '.przelewy24.pl/trnVerify');
  65. curl_setopt($oCURL, CURLOPT_SSL_VERIFYHOST, 2);
  66. curl_setopt($oCURL, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
  67. curl_setopt($oCURL, CURLOPT_RETURNTRANSFER, 1);
  68. curl_setopt($oCURL, CURLOPT_SSL_VERIFYPEER, false);
  69. $response = curl_exec($oCURL);
  70. curl_close($oCURL);
  71.  
  72. parse_str($response, $output);
  73. return ($output['error'] == '0') ? true : false;
  74. }
  75. }?>

payments.php
  1. <?php
  2.  
  3.  
  4. include_once('Przelewy24_API.php');
  5. $oPrzelewy24_API = new Przelewy24_API();
  6.  
  7. if (isset($_POST['p24_merchant_id']) AND isset($_POST['p24_sign'])) {
  8. if ($oPrzelewy24_API->Verify($_POST) === true) {
  9. // Tutaj dokonujemy aktywacji usługi, która jest opłacana
  10. }
  11. } else {
  12. // Powrotny adres URL
  13. $p24_url_return = 'http://twoja-strona.com/payments.php';
  14.  
  15. // Adres dla weryfikacji płatności
  16. $p24_url_status = 'http://twoja-strona.com/payments.php';
  17.  
  18. // Kwota do zapłaty musi być pomnożona razy 100.
  19. // Czyli, jeżeli użytkownik ma zapłacić 499 złotych, to kwota do zapłaty
  20. // to 499 * 100 (wyrażona w groszach)
  21. $redirect = $oPrzelewy24_API->Pay('Tutaj wstaw kwotę do zapłaty', 'Tutaj wstaw tytuł płatności', 'Tutaj adres e-mail osoby płacącej', $p24_url_return, $p24_url_status);
  22. Header('Location: ' . $redirect); exit;
  23. }?>
Go to the top of the page
+Quote Post
trueblue
post 17.07.2022, 10:27:56
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Do bazy wpisujesz dane przed płatnością.
W linii 10 drugiego skryptu oznaczasz tranSakcję jako opłaconą (w bazie).


--------------------
Go to the top of the page
+Quote Post
login90
post 17.07.2022, 10:43:46
Post #3





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


Czyli bo mam takie coś. Plik user czyli po logowaniu użytkownik zostaje na niego przekierowany

  1. <?php
  2.  
  3. echo '<body>';
  4. if(!$user->zalogowany()) {
  5. header('location:http://localhost/strona ');
  6.  
  7. }else{
  8. if(isset($_GET['id']) && isset($_GET['uid'])){
  9. if($_SESSION['username'] == $_GET['uid'] && $_SESSION['userid'] == $_GET['id']){
  10. echo '<h2 style="color: white;">Moje konto:</h2>
  11.  
  12.  
  13.  
  14. </div>
  15.  
  16. </div>
  17. ';
  18. $conn = mysqli_connect('localhost', 'root','','');
  19. $id = $_GET['id'];
  20. $uid= $_GET['uid'];
  21. $sql = ("select userid,username from `users` where userid='$id' and username='$uid'");
  22. $result = mysqli_query($conn,$sql);
  23.  
  24. if(mysqli_num_rows($result) == 1) {
  25. $row = mysqli_fetch_assoc($result);
  26. echo "<div id='whole'>
  27. <div class='panel'> <p style='color: white;'>Witaj ".$_SESSION['username']."</p>
  28. </div>
  29. <div id='panel'>
  30.  
  31. <div class='right'>
  32. <li><a href='http://localhost/strona/pay/".$row['userid']."/".$row['username']."'><p style='color:white;font-weight:bold;'>Zapłąć</p></a></li>
  33. <li><a href='http://localhost/strona/logout'><p style='color:white;font-weight:bold;'>Wyloguj</p></a></li>
  34.  
  35. </div>
  36.  
  37. </div>
  38. </div>";
  39.  
  40. }else{
  41. header('location:http://localhost/strona');
  42. }
  43.  
  44. }else{
  45. header('location:http://localhost/strona');
  46. }
  47. }
  48. echo '</div>';
  49.  
  50. }
  51.  
  52. echo '</body>';
  53.  
  54. ?>
  55.  
  56. <style>
  57. body {
  58. background-color: black;
  59. }
  60. </style>


i drugi pay.php czyli ten zapłać
  1. <?php
  2.  
  3. echo '<body>';
  4. if(!$user->zalogowany()) {
  5. header('location:http://localhost/strona ');
  6.  
  7. }
  8. if(isset($_GET['id']) && isset($_GET['uid'])){
  9. if($_SESSION['username'] == $_GET['uid'] && $_SESSION['userid'] == $_GET['id']){
  10.  
  11. echo'<li><a href="http://localhost/strona/przelewy24">Zapłać</a></li>';
  12.  
  13. }
  14.  
  15.  
  16. }else{
  17. header('location:http://localhost/strona');
  18. }
  19.  
  20.  
  21. echo '</div>';
  22.  
  23. }else{
  24. header('localhost:http://localhost/strona');
  25. }
  26.  
  27. echo '</body>';
  28.  
  29. ?>
  30.  
  31.  


i jeszcze plik .htaccess


RewriteRule ^pay/([0-9a-zA-Z]+)/([0-9a-zA-Z]+) pay.php?id=$1&uid=$2
RewriteRule ^strona?$ index.php
RewriteRule ^user/([0-9a-zA-Z]+)/([0-9a-zA-Z]+) user.php?id=$1&uid=$2


i jak zrobić, że by do bazy danych wbiło się id trazakcji, id usera, nazwa usera z serwisu

Ten post edytował login90 17.07.2022, 10:46:29
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 28.04.2024 - 11:56