首页 文章

PayPal按钮通过IPN发送自定义变量

提问于
浏览
15

我试图通过丛林(真的,PayPal,你为什么不把它除掉......)几天来找到解决我非常简单问题的方法 .

我有一个会员订阅的网站 . 客户在我的网站上注册他们的电子邮件和密码 . 然后他们去PayPal支付他们的订阅 .

我的问题是如何通过整个交易传递密钥 - their email ,以便我知道付款的对象是谁?

这可能是因为他们有时会用一封电子邮件注册并用另一封电子邮件付款 . 以及如何使用(安全)加密按钮完成所有操作 .

我想的是我可以在PayPal“ Create PayPal payment button ”页面上创建加密按钮 .

Step 3 中,添加(x-ed out real url)高级变量:

notify_url=http://xxxxxxxxxx.com/xxxxx.php
test_ipn=1

获取代码:

<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="N6UMVCMXSWMYG">
<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>

并将给定的代码粘贴到我的php页面中,但添加一个名为“ custom ”的隐藏字段并将其发送给手头的电子邮件并更改表单操作以转到 sandbox .

有点像:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">

<input type="hidden" name="custom" value="<?=$signUpEmail ?>">

<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="N6UMVCMXSWMYG">
<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>

这个自定义变量我以后可以在我的ipn页面上找到,所以我知道会员资格是谁...

我在想吗?或者我应该用“手写”代码做按钮?还是有更好的方法吗?

2 回答

  • 2

    上面的方法有效,虽然我在 PayPal Sandbox 不接受 "Regular PayPal" hosted_button_id时遇到了一些问题 - 这是通过在Sandbox中重新创建一个hosted_button_id来处理的 .

    <input type="hidden" name="hosted_button_id" value="RECREATENEWINPAYPALSANDBOX">
    
  • 16

    您可以在Paypal表单中使用一个字段来放置您想要的任何内容 . 该字段的名称是“自定义” . 所以你可以这样写:

    <input name="custom" value="blablabla" type="hidden">
    

    我建议编码自定义值的值 . 例如,某种base64_encode可能有助于阻止好奇的人 . 但是,在手册中也可以用Paypal做很好的解释 . 这个link和这个one是一个摘录 .

    此外,正如评论中所建议的那样,在您的站点和PayPal之间的后退通信中,不可能使用与您的前端相关的会话变量 .

相关问题