Идея заключается в том, что у меня есть стандартная кнопка PayPal Buy Now на моем тестовом сайте. Я смог узнать, как передать одну переменную на страницу обработки платежей PayPal и вернуть ее на странице моего слушателя/успеха. Я делаю это, вводя значение в скрытое «пользовательское» поле в форме, содержащей кнопку. Пока нет проблем.отправить json encoded var через настраиваемое поле кнопки PayPal Купить сейчас
Однако, поскольку мне нужен массив данных, а не только одно значение для одной переменной, я пытаюсь применить метод JSON ENCODE для отправки данных, а затем использовать метод JSON DECODE в URL-адресе моего успешного сообщения. У меня есть три определенные переменные: $ st_id, $ selected_mod, $ selected_tut.
К сожалению, никто из них не может пройти. Как я могу заставить его работать? Благодарю.
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="JKXXXXXXXXXXXXX">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="custom" value="<?php json_encode(array($st_id,$selected_mod,$selected_tut,JSON_FORCE_OBJECT)) ;?>">
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
// THE FOLLOWING IS MY CODE IN SUCCESS MESSAGE URL
<?php
$ipn_post_data = $_POST;
//$st_id=$_POST['custom']; //this works if I use a simple variable than a json encoded array
$posted_json = json_decode($_POST['custom']);
$json_st_id= $posted_json['0'];
$json_mod_code= $posted_json['1'];
$json_tut_id= $posted_json['2'];
echo "Wow! Payment was done.";
echo "Your student ID: ".$json_st_id."<br />";
echo "Module: ".$json_mod_code."<br />";
echo "Selected Tutor: ".$json_tut_id."<br />";
echo "Please save the above information until you will receive a confirmation from us. Thank you."
?>
следующий код работал отлично для меня: Входной тип = "скрытые" NAME = "пользовательские" значение = " "> Спасибо вам большое! @Фил –
Ali