首页 > 解决方案 > 将变量而不是硬编码数据传递给贝宝立即购买按钮

问题描述

我正在研究一个贝宝按钮,我试图弄清楚如何将变量传递给贝宝以将它们反弹回我的处理程序。我目前在我的贝宝按钮代码中有以下内容。

<input name="custom" type="hidden" value='{"firstName" : "Lucas","lastName" : "Harvmaster","email" : "shrike321@hotmail.com","companyName" : "Matchbox","password" : "123Cupcakes"}'>

这有效,但不是特别动态的。我不确定如何将这些数据作为我从用户那里收集的变量而不是硬编码传递。我认为我不能只在表单中创建可填写的点,因为它需要添加在一起并格式化以作为 paypal 的自定义变量点发送。

编辑:我看到有些人做这样的事情,但我不太能够让它工作。

<?php
    $firstName = "Lucas";
    $lastName = "Harvmaster";
    $email = "shrike321@hotmail.com";
    $companyName = "Matchbox";
    $password = "123Cupcakes";
?>

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <input name="custom" type="hidden" value='{"firstName" : <?php echo $firstName ?>,"lastName" : "Harvmaster","email" : "shrike321@hotmail.com","companyName" : "Matchbox","password" : "123Cupcakes"}'>
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="89924XE27QRNY">
    <input type="image" src="https://www.paypalobjects.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.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

标签: phphtmlpaypal

解决方案


<input type="hidden" name="hosted_button_id" value="89924XE27QRNY">

这是一个托管按钮,它不使用存储在 PayPal 帐户中的动态变量(可通过https://www.paypal.com/buttons编辑)

虽然可以使用其他设置变量创建非托管 HTML 按钮,但没有理由这样做。

相反,请使用智能按钮:https ://developer.paypal.com/demo/checkout/#/pattern/client

您可以通过https://www.paypal.com/buttons/smart个性化一个

然后编辑该purchase_units对象以描述其销售的内容。您可以在custom_id此处记录的字符串中设置您自己的数据:https ://developer.paypal.com/docs/api/orders/v2/#definition-purchase_unit_request


推荐阅读