【问题标题】:Passing variables rather than hard coded data to paypal buy now button将变量而不是硬编码数据传递给贝宝立即购买按钮
【发布时间】:2020-10-28 05:05:58
【问题描述】:

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

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

【问题讨论】:

  • 到目前为止,您为实现这一目标做了哪些尝试?我们可以看看你的 JavaScript 吗?社区不会你编写代码,甚至在你还没有提供 HTML 示例开始时也无法编写。

标签: php html paypal


【解决方案1】:
<input type="hidden" name="hosted_button_id" value="89924XE27QRNY">

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

虽然可以使用其他设置变量创建non-hosted HTML button,但没有理由这样做。

改为使用智能按钮: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

【讨论】:

  • 我正在使用的当前托管按钮似乎采用了我在自定义中传递的变量,这不是我正在努力解决的问题。对我来说困难在于我不确定如何设置要发送到 Paypal 的 custom_id 字符串。我已将其设置为我的处理程序可以解码为 json 的内容,但我不确定如何获取需要发送的数据字段并使用它们来制作 custom_id 字符串。
  • 您可以在托管按钮上传递其他变量,是的,但不能覆盖现有的。对于您的斗争,您似乎在询问如何在 PHP 中连接字符串。使用. 运算符。
  • 更好的是,创建一个 PHP 数组,然后 json_encode()
  • 哦,带有json_encode() 的PHP 数组听起来可能会解决我的问题!但是,这似乎不太奏效&lt;input name="custom" type="hidden" value="&lt;?php echo json_encode($arr) ?&gt;"&gt;
  • 用上面的方法澄清我的处理程序file_put_contents()ipn中的自定义变量和文件是空的。
猜你喜欢
  • 2011-05-04
  • 2012-04-07
  • 1970-01-01
  • 2013-03-25
  • 2017-08-15
  • 2011-07-17
  • 2013-06-18
  • 2016-06-21
  • 2015-03-01
相关资源
最近更新 更多