问题标签 [django-paypal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
892 浏览

django-paypal - 用于定期付款的 Django Paypal IPN 信号

我们的网站使用 Django Paypal 插件进行预付款。

我们使用贝宝进行注册和一次性费用。这工作得很好。现在我们已经开始实施订阅模式。一切正常,但经常性付款信号未能通过。

注册 IPN URL 后,支付信号就会通过。但是重复出现的信号失败了。

http://www.company.com/notify/

Paypal IPN 历史页面显示重复付款重试并发送成功付款。日志文件没有显示任何错误并且 apache access.log 显示

"POST //notify/ HTTP/1.0" 200 4 "-" "-" - 用于 payment_was_successful 信号

"POST //notify/ HTTP/1.0" 500 35434 "-" "-" 用于定期付款

确实向 PAYPAL MTS 发布了一个问题,但没有听到任何有用的反馈 尝试创建一个表单并将内容发布到相同的 URL,这也很有效。

paypal->ipn->views 中的 IPN 方法返回 OKAY。这也是订阅调用的方法吗?

急切地寻求一些帮助或反馈...

0 投票
1 回答
1236 浏览

django - django-paypal:IPN 请求总是无效的

我正在使用dcramer 的 django-paypal 分支,但在使用我的沙盒帐户时总是遇到无效的 IPN。

我收到以下 IPN:

我尝试了所有出现在谷歌上的东西:

  • 检查卖家和买家的电子邮件
  • 沙盒帐户都经过验证
  • form.sandbox用来呈现贝宝表格
  • 尝试删除自定义值
  • 请求中没有非 ASCII 字符

当使用https://www.sandbox.paypal.com/cgi-bin/webscr手动检查请求时,我也得到INVALID.

有人遇到过这个问题吗?是否有任何更详细的页面来验证 ipn 请求?

0 投票
1 回答
1106 浏览

python - django-paypal 信号未触发

我已经尝试了几个小时来让我的信号与 django-paypal 一起工作。

这是我的 signals.py(在我的 urls.py 中导入):

当我使用 PayPal 的 IPN 模拟器时,我知道交易有效,因为我可以进入数据库,查看 paypal_ipn 表并看到输入的交易很好​​,所以信号应该有效。

我也尝试过 dcramer 和 johnboxall 的 django-paypal 版本,但仍然没有乐趣。

我没有想法,我花了几个小时研究并试图解决这个问题。提前谢谢各位。

0 投票
1 回答
1353 浏览

django - Django Paypal 订阅

感谢任何可以帮助我回答这个问题的人。我正在运行一项 Django 电子学习服务,该服务需要持续 90 天的一次性付款订阅。我已经使用django-paypal来整合我的付款。我在网站支付标准中使用 IPN(即时支付通知)作为我的主要支付方式。

问题 - 在收到 IPN 信号payment_was_successful时,我表示以下许可:

我试图弄清楚如何在 90 天内自动“过期”订阅。IE:

0 投票
0 回答
184 浏览

django - django formwizard django-paypal

我正在努力让 PayPalPaymentsForm 在 FormWizard 中呈现。

[ django 1.3,dcramer 的 django-paypal ]

前 2 个表单渲染和验证很好,但我没有技能将初始数据传递给表单并使用 form.sandbox() 渲染表单

我已经查看了 render_template() FormWizard 方法,但我的任何努力都没有奏效。

所以,我在兜圈子没有成功。任何指针最受赞赏。

0 投票
2 回答
337 浏览

django - django-paypal 信号更新

我一直在通过 django-paypal 文档选择自己的方式,并且当我从沙盒模拟器发送 IPN 时,我得到了连接信号。

我可以:

我也可以这样做:

每个人都可以免费获得一年。不是我想要的……我想做的是

但在这种情况下,我会在即时付款通知 (IPN) 模拟器上收到服务器错误 (500) 消息。

我的数据库中仍然有一个 Paypal IPN,它将显示为未标记且付款状态为“已完成”。但是,信号没有连接。

我只是在这里没有得到一些东西(或多个东西!)。任何指针都非常感谢。

0 投票
1 回答
317 浏览

django - Django paypal ipn 标准付款人地址

我正在使用 django-paypal 的 DCramer 分支:https ://github.com/dcramer/django-paypal

我正在使用 IPN 标准

我想做的是从 IPN 获取付款人(客户)地址。我可以从 paypal 文档中看到此信息是通过 IPN 发送的,并且通过查看 django-paypal,数据库中有用于存储此数据的字段。但是,此数据并未存储在 django-paypal 提供的 paypal_ipn 模型中。我还检查了信号中的 ipn_obj 并且该数据的所有字段也都是空白的。

任何人都可以阐明我如何能够获得付款人地址吗?

如果有帮助,我将使用示例中的信号:

编辑:

下面 scytale 建议的 ipn_obj 转储会为相关字段生成:

还有很多其他字段,如果您需要这些字段的数据,请告诉我,我将它们粘贴在这里。

0 投票
2 回答
712 浏览

paypal-ipn - 使用 Django-PayPal - PayPal IPN 得到 401

我正在尝试设置 Django-Paypal 并已从 PayPal 获得回报。长话短说,在我的 Apache 访问日志中,每当我通过 PayPal 处理付款(并且 PayPal 将结果发送回我的服务器)时,我都会得到以下信息:

通知视图确实具有@csrf_exempt解决此错误的目的,但它仍然不起作用。

如果有人能告诉我如何解决这个问题(这显然是权限/授权问题),我将不胜感激!

PS:我尝试添加WSGIPassAuthorization到我的 apache 配置文件中,这也没有帮助。

0 投票
1 回答
1043 浏览

django - 为什么Paypal在使用django-paypal时会重试IPN

我一直在尝试让 django-paypal 应用程序在我的 Django 项目中工作。我正在使用dcramer fork和 Django 1.4。我还在使用带有企业和个人帐户的 Paypal 开发人员帐户,通过 Paypal 沙盒网站处理交易。

如果我没有连接到payment_was_successful信号的接收器功能,事情似乎按预期工作。事务发生后,paypal_ipn在数据库表中创建一个新行,该行的值为“VERIFIED” response。Paypal IPN 日志报告此交易没有重试。

当我确实将接收器功能连接到payment_was_successful信号时,该paypal_ipn表包括两个新行,created_at时间戳相隔 10-15 秒。它们在响应列中的值都为“VERIFIED”,但两者中的后者被标记为flag_info如下所示:

'重复 txn_id。(5M907276M1007902B)'

Paypal 商业账户报告 IPN 被重试 1 次。

我找到了可能的解决方案,其中提到了将dispatch_uid接收器功能连接到我尚未尝试的信号时的使用。我的问题是我查看了相关的 django-paypal 源代码,但我不明白为什么 Paypal 会在验证第一个回发后重试 IPN。

有没有其他人遇到过这个问题并找到了他们理解的解决方案?


更新:

我发现我的接收器函数代码中有一个错误,这会引发异常。现在我已经解决了这个问题,Paypal 不再重试 IPN。我很高兴问题已经消失,但我仍然无法弄清楚它为什么会发生。

以下是数据库中最近重复记录的摘录。请注意,第一行是在下一行之前至少 10 秒创建和更新的。

0 投票
1 回答
268 浏览

paypal - 无法使用 django-paypal 获得有效的 IPN 回发

在花了几个小时试图让 django-paypal(最初是 dcramer 的分支)从 PayPal IPN 获得 200 OK 响应后,我将错误定位到 PayPal,&cmd=在使用 IPN 模拟器时添加了一个空的、虚假的参数。如果我离开&cmd=,当我尝试回发时会收到 400 Bad Request 响应;如果我把它拿出来,我会得到 200 OK,但是回发当然是无效的,因为它不是 PayPal 发送给我的服务器的。

当然,我非常乐意完全取消 IPN 模拟器,而只使用沙盒帐户,但这些也被破坏了:我通过开发人员界面创建的那些无法登录(登录失败错误);我通过沙盒网站上的“常规”界面创建的那些无论如何都不会发送任何 IPN。

所以,实际上这里有两个问题:

  1. 有没有办法解决 IPN 模拟器&cmd=错误?
  2. 有没有办法让沙盒帐户工作?

对其中任何一个的回复都会让我非常非常高兴。