Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Skrypt przyjmownaia płatności
Forum PHP.pl > Forum > Przedszkole
zkrystian
Witam,

Do mojego sklepu wykonałem prosty skrypt integracji płatności.

Oto kod:
  1. <?php
  2.  
  3. # Definicja modulów
  4.  
  5. $GATEWAYMODULE["allpayname"]="allpay";
  6. $GATEWAYMODULE["allpayvisiblename"]="All Pay";
  7. $GATEWAYMODULE["allpaytype"]="Invoices";
  8.  
  9. function allpay_activate() {
  10. defineGatewayField("allpay","text","id","15630","id","10","Your Allpay ID");
  11. }
  12.  
  13. function allpay_link($params) {
  14. # Definicja zmiennej Numeru Klienta w ALLPAY
  15. $id = $params['id'];
  16. # Zmienne z faktury
  17. $opis = $params["invoiceid"];
  18. $kwota = $params['amount'];
  19. $duedate = $params['duedate'];
  20. $invoiceid = $params['invoiceid'];
  21. # Dane klienta
  22. $forename = $params['clientdetails']['firstname'];
  23. $surname = $params['clientdetails']['lastname'];
  24. $email = $params['clientdetails']['email'];
  25. $street = $params['clientdetails']['address1'];
  26. $streen_nl = $params['clientdetails']['address2'];
  27. $city = $params['clientdetails']['city'];
  28. $state = $params['clientdetails']['state'];
  29. $postcode = $params['clientdetails']['postcode'];
  30. $country = $params['clientdetails']['country'];
  31. $phone = $params['clientdetails']['phone'];
  32. # Systemowy
  33. $companyname = $params['companyname'];
  34. $systemurl = $params['systemurl'];
  35. $waluta = $params['currency'];
  36. # End of Variables
  37. $code = '<form action="https://ssl.allpay.eu" method="post" >
  38. <input name="id" type="hidden" value="'.$id.'"/>
  39. <input name="opis" type="hidden" value="'.$opis.'"/>
  40. <input name="forename" type="hidden" value="'.$forename.'"/>
  41. <input name="surname" type="hidden" value="'.$surname.'"/>
  42. <input name="kwota" type="hidden" value="'.$kwota.'"/>
  43. <input name="email" type="hidden" value="'.$email.'"/>
  44. <input name="street" type="hidden" value="'.$street.'"/>
  45. <input name="city" type="hidden" value="'.$city.'"/>
  46. <input name="postcode" type="hidden" value="'.$postcode.'"/>
  47. <input name="phone" type="hidden" value="'.$phone.'"/>
  48. <input name="waluta" type="hidden" value="'.$waluta.'"/>
  49. <input name="control" type="hidden" value="'.$invoiceid.'"/>
  50. <input name="URLC" type="hidden" value="URL=http://sklep.pl/modules/gateways/callback/allpay_back.php"/>
  51. <input type="submit" value="Zaplac"/></form>';
  52. return $code;
  53. }
  54.  
  55. ?>



allpay_back.php
  1. <?php
  2. $_POST['control'];
  3. $_POST['t_id'];
  4.  
  5. $url = "http://www.sklep.pl/includes/api.php"; 
  6. $username = "admin"; 
  7. $password = "hasło admina"; 
  8.  
  9. $postfields["username"] = $username;
  10. $postfields["password"] = md5($password);
  11. $postfields["action"] = "addinvoicepayment";
  12. $postfields["invoiceid"] = $control;
  13. $postfields["transid"] = $t_id;
  14. $postfields["gateway"] = "AllPay";
  15.  
  16. $ch = curl_init();
  17. curl_setopt($ch, CURLOPT_URL, $url);
  18. curl_setopt($ch, CURLOPT_POST, 1);
  19. curl_setopt($ch, CURLOPT_TIMEOUT, 100);
  20. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  21. curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
  22. $data = curl_exec($ch);
  23. curl_close($ch);
  24.  
  25.  
  26. $data = explode(";",$data);
  27. foreach ($data AS $temp) {
  28. $temp = explode("=",$temp);
  29. $results[$temp[0]] = $temp[1];
  30. }
  31.  
  32. if ($results["result"]=="success") {
  33.  echo "OK";
  34. } else {
  35. # Jezeli blad
  36. echo "The following error occured: ".$results["message"];
  37. }
  38.  
  39. ?>



Po wysłaniu informacji z allpeya z numerem faktury (np. 400) Mój skrypt krzyczy ze nie może znaleźć tej faktury. Może źle odbieram dane?

Numer faktury wysyłam z zmiennej "control", która wraca później z bramki i na tej podstawie zatwierdzam płatność
webdice
Proszę uzupełnić temat o brakujący tag, w przeciwnym wypadku temat zostanie zamknięty.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.