如何将自定义数据发送到 paypal 并使用 post 在 return url 中取回?

How to send custom data to paypal and get it back in return url using post?

用户可以从下拉列表中选择一个选项并支付费用(所有选项费用相同)。网站首选项中的 return URL 设置正确,我确实将交易信息作为 _POST 数据获取。下面的评估是一个下拉菜单,几乎没有选项,我如何通过 paypal 将其取回?我尝试将变量命名为自定义,但这也不起作用。我做错了什么?

<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>

Paypal只接受hidden中提到的变量。以下是来自 Paypal 网站的内容:

HTML input variables in a PayPal PayPal Payments Standard FORM are always hidden from the payer's view. They have the following general format:

请检查这个link:https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/formbasics/

这是有效的代码。

<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>