2016-02-01 3 views
0

Пользователи могут выбрать один из вариантов из раскрывающегося списка и заплатить за него (одинаковая стоимость для всех опций). Правильный URL-адрес возврата в настройках веб-сайта установлен правильно, и я получаю информацию о транзакции как данные _POST. Оценки ниже - это раскрывающийся список с несколькими вариантами, как мне передать его paypal и вернуть его? Я попробовал присвоить переменную как пользовательскую, но это тоже не сработало. Что я делаю не так?Как отправить пользовательские данные в paypal и получить его обратно в URL-адресе, используя сообщение?

<div class="form-group"> 
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> 
    <select class="form-select" id="assessments" name="assessments"> 
    foreach ($choices as $key => $value) { 
     <option value="'.$key.'">'.$value.'</option> 
    } 
    </select> 
    <input type="hidden" name="rm" value="2"> 
    <input type="hidden" name="cmd" value="_s-xclick"> 
    <input type="hidden" name="hosted_button_id" value="TESTBUTTONID"> 
    <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
    <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
</form> 
</div> 
+0

Вы используете IPN? – PHPglue

+0

Я так не думаю. Настроил автоматический возврат с возвращаемым url, где я обрабатываю данные _POST. Я понимаю, что это не самый безопасный способ сделать это, но я хочу сначала получить что-то на своем месте и пойти оттуда. –

+2

http://stackoverflow.com/questions/2847114/can-i-send-a-variable-to-paypal-and-have-it-post-it-back-to-me-when-payment-com – C2486

ответ

1

Paypal принимает только переменные, указанные в скрытом виде. Вот на веб-сайте Paypal:

Входные переменные HTML в PayPal PayPal Payments Стандартная форма всегда скрыта от представления плательщика. Они имеют следующий общий формат:

Пожалуйста, проверьте эту ссылку: https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/formbasics/

+1

Вы можете использовать отдельную форму для показа выпадающего списка и использовать кнопку оплаты сейчас в другой форме. Вы можете использовать Ajax для изменения значения скрытого поля ввода в форме кнопки оплаты сейчас. –

0

Вот код, который работал.

<div class="form-group"> 
    <script type="text/javascript"> 
    function assessmentSelected() { 
     var e = document.getElementById("assessments"); 
     document.getElementById("custom").value = e.options[e.selectedIndex].value; 
    } 
    </script> 
    <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> 
    <select class="form-select" id="assessments" name="assessments" onchange="assessmentSelected()"> 
     <option value="A1">Assessment One</option> 
     <option value="A2">Assessment Two</option> 
     <option value="A3">Assessment Three</option> 
    </select> 
    <input type="hidden" id="custom" name="custom" value="A1"> 
    <input type="hidden" name="rm" value="2"> 
    <input type="hidden" name="cmd" value="_s-xclick"> 
    <input type="hidden" name="hosted_button_id" value="TESTBUTTONID"> 
    <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
    <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
    </form> 
</div>