我已经好几天了,我似乎无法弄明白。我想要做的就是当推送订阅按钮,发送一个变量(post get i not not care)付款完成并登陆成功页面,带有我的变量!
从我可以收集到的内容应该可以做到:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="0000000">
<Input type="hidden" name="custom" value="<?php md5($code.microtime()); ?>"/>
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
任何帮助都非常感谢(是的,我已经阅读过paypal和沙盒文档,只是不那么擅长阅读。)
答案 0 :(得分:9)
变量'custom'和'invoice'都是PayPal所谓的“传递”变量。 PayPal不对它们做任何事情,只是在您收到的有关该交易的任何IPN通知中将其传回给您(有人付款,退款等)。
我个人可以确认,现在使用'custom'变量正常工作。我目前正在使用他们的标准(免费)付款解决方案......
您如何监控IPN通知以查看哪些变量正在发回给您?
修改 - 下方添加了其他信息:
我想稍微扩展一下,因为我最近遇到了与传递变量相关的问题!
'invoice'变量必须是每个事务的唯一; PayPal只允许1个完成的付款通过每个UNIQUE发票字符串。任何后续的结账尝试(带有已付款的“发票”变量)将立即显示为“此发票已付款”。消息。
另一方面,'custom'变量不需要是唯一的,并且旨在严格用作传递变量 - 在大多数情况下,这是您在寻找的时候想要使用的“传递”功能。
希望有所帮助 - 最近的独特性问题让我花了近一整天的时间来完成我个人项目的结账过程!
答案 1 :(得分:0)
缺少echo
。而不是:
<?php md5($code.microtime()); ?>
试试这个:
<?php echo md5($code.microtime()); ?>
答案 2 :(得分:0)
PayPal不会处理您的自定义数据,因此不要将其发送给他们并将其取回,只需将其存储在您自己的数据库中即可。使用invoice
作为密钥将数据与交易相关联。
在目标网页中,您可以从PayPal交易中获取invoice
。然后,您可以从您自己的数据库中获取由invoice
id引用的数据。
答案 3 :(得分:0)
似乎似乎没有让CUSTOM在Sandbox中传递
羞耻PayPal并不如我们所想的那么好
答案 4 :(得分:0)
试试这个:
<input type="hidden" name="custom" value=<?php echo "\"".md5($code.microtime())."\""; ?>/>
缺少回音,引号也在值附近,而不是php