0

我正在尝试向 3rd 方结帐 PayPal 选项添加“自定义”值。我遇到的问题是 PHP 变量正在屏幕上显示。我在会话变量中传递购物车值。

if(isset($_SESSION['checkout'])){
$orderData = '<table border="1"><th style="width:80px">Item</th>
             <th sytle="width:250px">Size</th>
             <th style="width:60px">Quantity</th>';
for ($i=0; $i<count($_SESSION['checkout']); $i++){
    $orderData .= '<tr><td style="text-align:center">'.$_SESSION['checkout'][$i][0].'</td><td style="text-align:center">'.$_SESSION['checkout'][$i][1].'</td><td style="text-align:center">'.$_SESSION['checkout'][$i][2].'</td></tr>';
}
}

我希望传递该表,并且根据PayPal 文档,我需要做的就是包含它。我正在呼应这样的 PayPal 表格:

echo '<form>
      //other hidden values
      <input type="hidden" name="custom" value="'.$orderData.'">
      //input submit button here
      </form>

就像我说的那样,输入应该是隐藏的,但它会显示在 PayPal 按钮之前。怎么来的?

更新:这些代码完美地传递了数量:

<input type="hidden" name="amount" value="';?><?php if(isset($_SESSION['disc'])){print_r($_SESSION['disc']);}?><?php echo '">

它不会显示在页面上,但变量数量在页面源中是正确的。

UPDATE2:这是我的整个购物车脚本:

echo '<div style="position:absolute; left:770px; top:50px">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="myemail@example.com">
<input type="hidden" name="item_name" value="Merchandise">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="no_shipping" value="0">
<input type="hidden" name="custom" value="'.$orderData.'">
<input type="hidden" name="return" value="backtomywebsite.com">
<input type="hidden" name="cancel_return" value="backtomywebsite.com">
<input type="hidden" name="amount" value="';?><?php if(isset($_SESSION[$disc])){print_r($_SESSION[$disc]);}?><?php echo '">
<input type="image" src="http://www.mywebsite.com/images/BuyNow.png" name="submit" alt="Make payments with PayPal - it\'s fast, free and secure!" width="300" height="204">
    </form>
    </div>';

当我有一个包含项目信息的 print_r 会话而不是 $orderData 时,该脚本可以工作。该信息被发送到我的贝宝帐户,但它是数组形式,看起来很难看。如果有办法将所有内容(会员信息、订单信息)变成一个 php 变量并将其传递给自定义字段,那就太好了。无论如何......这是屏幕上的内容:

显示 PayPal 文本的图像

希望你仍然愿意帮助我。

4

1 回答 1

0

你是什​​么意思它显示在 PayPal 按钮之前?如果您正在查看页面的源代码,您将看到页面中的值。

如果您说您正在传递金额,但没有看到它,您可能使用了错误的变量。变量金额是一个有效的 PayPal 变量,但取决于您具体使用的按钮,金额变量略有不同。我无法从您的代码中看出,因为我没有看到您为“cmd”传递的内容,但是如果您使用的是立即购买按钮或添加到购物车按钮,那么变量“数量”将是正确的变量利用。如果您使用购物车上传方法,那么您想使用变量“amount_x”。因此,如果我传递两个项目,第一个是 0.99,第二个是 1.99,我将传递“amount_1=0.99”和“amount_2=1.99”的变量/值。

于 2013-05-14T12:26:28.967 回答