Javascript 贝宝赢了';t将沙箱事务数据发送到IPN

Javascript 贝宝赢了';t将沙箱事务数据发送到IPN,javascript,php,paypal,paypal-ipn,Javascript,Php,Paypal,Paypal Ipn,我今天花了9个小时和Paypal一起工作,我遇到了一个无法解决的问题 我正在使用github脚本为简单的Buy Now交易创建动态页面生成按钮 按钮示例输出由PHP生成(因此是动态的),如下所示(具有沙盒细节): 但是上述替换数据回调不起作用。交易似乎仍然成功,但未记录交易或IPN数据 删除/替换各种数据-实体,但未成功 我的整个网站都有完整的PHP错误报告,没有生成任何形式的错误 进一步考虑事项 我相信你们中的一些人会说,我应该使用SDK下载来做这类事情,但SDK的范围很大,我的需求

我今天花了9个小时和Paypal一起工作,我遇到了一个无法解决的问题

我正在使用github脚本为简单的Buy Now交易创建动态页面生成按钮

按钮示例输出由PHP生成(因此是动态的),如下所示(具有沙盒细节):

但是上述替换
数据回调
不起作用。交易似乎仍然成功,但未记录交易或IPN数据

  • 删除/替换各种
    数据-
    实体,但未成功

  • 我的整个网站都有完整的PHP错误报告,没有生成任何形式的错误


进一步考虑事项

我相信你们中的一些人会说,我应该使用SDK下载来做这类事情,但SDK的范围很大,我的需求相对简单,Paypal文档留下了大量的设计。此外,他们(在一系列Paypal github存款上)正在使用示例代码上的
MySQL\uuz
请求,以及
addslashes
和其他过时的东西

另外值得注意的是,虽然Javascript按钮生成器的Paypal文档接受帐户电子邮件或帐户代码,但提供帐户代码会导致严重错误,并阻止处理付款(real或sandbox)

再加上在文档中只找到了零碎的指导信息和“循环”,因此我只讨论了一个主题,它说“哦,如果你想知道如何做,请点击这个链接”,然后点击这个链接,它是为非开发人员编写的更详细的文本(在开发人员门户上)然后是指向另一个文本块的链接,然后是指向要开始的文本的链接

很抱歉,这变成了Paypal的抱怨,但我希望尽可能避免使用庞大的SDK系统进行直接的发送和接收数据操作


有解决此问题的有用示例吗?


最后说明: 上个月,我做了一个支付系统,做了完全相同的事情,它花了四个小时,工作完美

(我不能在这里使用Stripe,因为客户端有一个现有的Paypal帐户,并且不会更改)

解决方案:

在David Nguyens的帮助下,我发现我的案例中的问题是我已经设置了IPN并启用了IPN 并给出了正确的地址,但这是在直播上的 帐户而不是沙箱帐户,尽管只设置了 在应用了有关live one的所有详细信息后,沙盒帐户被删除

Paypals Live和沙盒配置文件完全互斥 沙盒创建不会从live帐户导入任何数据 它与


在Paypal上进一步解决此问题

  • 调查Sandbox Paypal上的IPN日志,查看数据发送到什么地方,链接的是和
  • 如果收到5xx类型错误-调试脚本,请检查状态代码
  • 这应该告诉您IPN发送到哪里,如果不是应该检查的内容:
    • 按钮中的ipn URL
    • 配置文件中的ipn URL被覆盖

My transactions(我的事务)页面不显示任何事务,但是登录到沙箱站点会显示事务,但不会显示JS表单中给出的任何数据,也不会返回5xx等。侦听器脚本不应出错,因为IPN模拟器使用相同的脚本引用(如在正版帐户控制面板中设置的)。我在沙盒管理站点中找不到编辑任何交易目的地等的选项。哦,看在上帝的份上,我使用了你提供的链接,并将沙盒地址替换到了其中,我告诉我它“排队”,因为在我的沙盒配置文件中,我没有创建IPN目的地文件(但我在现实生活的配置文件中有)。谢天谢地,谢谢你朝着正确的方向轻推。尽管我很确定沙盒交易列表似乎无法从沙盒配置文件中访问。。。。。“非常好的Paypal。@Martin,这应该会让你走了,是的,Paypal开发会引起愤怒:)我必须等待他们重新发送交易,看看他们是否真的到达,但如果这样做有效,我可以给你打勾。谢谢你给我指明了正确的方向,大卫。非常感谢。
  <script src='https://site-addr/includes/js/paypal-button.min.js?merchant=siteemail-facilitator@gmail.com'
data-callback='https://site-addr/account/listener.php'
data-tax='0' 
data-env='sandbox' 
data-shipping='0' 
data-currency='GBP' 
data-amount='1.00'
data-quantity='1' 
data-custom='$2y$10$BdA/7xN2S/fzRq8X9p4pFOmzYBpia/u7sWsAcWN/4w9NZVXduaUzu'
data-number='20165'
data-size='Large'
data-locale='UK'
data-host='www.sandbox.paypal.com'
data-type='button'
data-cancel_return='https://site-addr/account/basket.php'
data-return='https://site-addr/account/complete.php'
data-name='Site Name Tickets' 
data-button='buynow' 
async='async'></script>
data-notify_url='https://site-addr/account/listener.php'