2013-03-21 74 views
0

我想在用户进行购买时向PayPal发送自定义变量。该变量包含用户提供的信息并存储在$ message变量中。 $ product变量仅用于识别正在购买的产品,并为该产品创建适当的PayPal按钮(通过引用'products.php'中包含的数组。PayPal允许您通过名为“定制”,因为我已经做了以下。解析发送给PayPal的自定义变量

<?php 
include('products.php'); 
$currentProduct = $_GET['product']; 
$message = $_GET['message']; 
?> 

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_s-xclick"/> 
    <input type="hidden" name="hosted_button_id" value="<?php echo $products[$currentProduct]["paypal"]; ?>"/> 
    <input type="hidden" name="custom" value="<?php echo $message?>"/> 
    <input type="submit" class="button paypal" value="Pay with PayPal"/> 
</form> 

不过,我看了看周围公平一点,并不能找到一次订单完成后如何真正从贝宝检索该信息的解释。任何人都可以请提供一个简单的解释,说明如何在订单完成时(在使用或不使用定制PayPal变量的情况下)检索$ message中的信息。谢谢。

+0

我记得很久才回来。你必须有一些其他变量也发送到贝宝。试试这个 (http://eureka.ykyuen.info/2010/02/17/paypal-payment-data-transfer-sample-code/) – 2013-03-21 22:37:47

回答

1

当您使用托管按钮,您不能像这样包含自定义变量。您必须将其包含在托管按钮创建向导的高级部分中。不幸的是,它在那里几乎没用,因为你不能用那种方式使用动态值。

你将不得不做的是返回到贝宝的按钮编辑器并禁用“贝宝保存按钮”选项。这将使更多的字段可用于您的按钮代码和自定义然后将工作。

虽然这并不像托管按钮那样安全。因此,我建议您使用Express Checkout API而不是付款标准。当然,这将需要你有一般的Web服务API的工作经验。

相关问题