Как я могу потянуть значение настраиваемого поля в моем скрипте IPN?

Я запускаю IPN на моем сервере dayz, чтобы автоматически позаботиться о пожертвованиях и распределить все, что купил человек. Есть одна проблема, хотя... Я добавил настраиваемое поле под названием "ID игрока", и требуется, чтобы они заполнили его, потому что он используется позже в записи базы данных. Моя страница shopping.php выглядит так:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
  
  
  
  
  
  
  
  
  
  
 <table>
<tbody><tr><td>Player Unique ID</td></tr>
</tbody></table>
  
  
</form>

теперь, я вижу, что поле ввода называется "os0", поэтому я попробовал mysql_real_escape_string($_POST['os0']) и ничего не возвращает.

Вот мой IPN.php:

<!--?php 

mysql_connect("dbhost", "dbuser", "dbpass") or die(mysql_error()); 
mysql_select_db("db") or die(mysql_error()); 

// read the post from PayPal system and add 'cmd' 
$req = 'cmd=_notify-validate'; 
foreach ($_POST as $key =--> $value) { 
$value = urlencode(stripslashes($value)); 
$req .= "&$key=$value"; 
} 
// post back to PayPal system to validate 
$header = "POST /cgi-bin/webscr HTTP/1.0\r\n"; 
$header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; 

$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30); 
if (!$fp) { 
// HTTP ERROR 
} else { 
fputs ($fp, $header . $req); 
while (!feof($fp)) { 
$res = fgets ($fp, 1024); 
if (strcmp ($res, "VERIFIED") == 0) { 
 $id = mysql_real_escape_string($_POST['item_number']);
 $uniqueid = mysql_real_escape_string($_POST['os0']);
// PAYMENT VALIDATED & VERIFIED! 
mysql_query("INSERT INTO cust_loadout_profile (cust_loadout_id, unique_id) VALUES ('$id', '$uniqueid')");
$to = '[removed_email]'; 
$subject = 'Download Area | Login Credentials'; 
$message = ' 

Thank you for your purchase 

Your account information 
------------------------- 
Email: '.$id.' 
Password: '.$password.' 
------------------------- 
 SUCCESS
You can now login at http://yourdomain.com/PayPal/'; 
$headers = 'From:[removed_email]' . "\r\n"; 

mail($to, $subject, $message, $headers); 
} 

else if (strcmp ($res, "INVALID") == 0) { 

// PAYMENT INVALID & INVESTIGATE MANUALY! 
 $to = '[removed_email]'; 
$subject = 'Download Area | Login Credentials'; 
$message = ' 

Thank you for your purchase 
 THIS IS ALSO AN ERROR
Your account information 
------------------------- 
Email: '.$email.' 
Password: '.$password.' 
------------------------- 

You can now login at http://yourdomain.com/PayPal/'; 
$headers = 'From:[removed_email]' . "\r\n"; 

mail($to, $subject, $message, $headers); 
} 
} 
fclose ($fp); 
} 
?>

есть ли способ получить мое обязательное сообщение для работы в моем IPN?

1 ответ

Вам нужно добавить настраиваемое поле в свою форму, например

и чтобы получить это поле в скрипте ipn, используйте код ниже

if (isset ($ _ REQUEST ['custom'])) {

$ custom = $ _REQUEST ['custom'];

}

?>

licensed under cc by-sa 3.0 with attribution.