问题标签 [paypal-webhooks]

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 投票
2 回答
2923 浏览

paypal - 沙盒中的 PayPal Webhook 不起作用

我将 REST API 集成到我们的系统中。唯一缺少的是对我创建的 webhook 的响应。

Webhook 已在我的沙盒应用程序中注册,但是当我使用应用程序密钥在沙盒中创建付款时,我没有接到对 Webhook 接收器的呼叫。使用 webhook 模拟器效果很好。

我做的步骤:

  1. https://api.sandbox.paypal.com/v1/oauth2/token
  2. https://api.sandbox.paypal.com/v1/payments/payment
  3. 使用方法重定向到结果链接:“REDIRECT”
  4. 使用沙盒账户完成支付

有什么我做错了吗?在沙箱中使用它有什么问题吗?

0 投票
1 回答
717 浏览

paypal - 贝宝和网络钩子

通过 REST API,我可以创建计划,并且可以为订阅(定期付款)创建协议。

(作为一般意见:PayPal 还应该允许在开发人员沙箱/实时中创建计划)

创建协议时,我使用卖方 oAuth2 令牌(相对于会员令牌)

Webhooks 在开发者帐户中设置为“全部”,测试正常,模拟正常。

但是,当事件(https://developer.paypal.com/docs/integration/direct/rest-webhooks-overview/#event-type-support)发生时,我不会收到通知。

问题:

  • 难道我做错了什么 ?
0 投票
1 回答
315 浏览

paypal - 永远不会发送 PayPal webhook 事件?

我们有一个使用 PayPal 作为付款方式之一的制作游戏。在某些情况下,我们永远不会收到 webhook 通知。

这是正在发生的顺序。有时我们会从这个序列中获得 webhook,而其他时候我们不会。在服务器上,我们使用 Java API。所有这些都是生产(不是沙盒)贝宝服务器的行为。

  1. 用户选择产品后,它会调用我们的服务器,该服务器通过 Payment.create() 创建 Payment 对象。此时状态为“已创建”,我们将用户重定向到链接中返回的approval_url。
  2. 用户批准付款并被发送回我们的服务器。我们通过 Payment.get() 获取付款,这是成功的,并且状态为“已创建”。
  3. 我们使用 PaymentExecution 执行付款。这将返回更新状态为“已批准”的付款。
  4. 然后我们等待 WebHook 通知我们付款已完成。有时,从不发送此 webhook,导致购买不完整。检查 PayPal 控制台,付款不存在 webhook 事件,即使付款显示为已完成。

这里的问题是:

  • 这是正确的顺序吗?还是缺少什​​么?
  • 当用户从 PayPal 返回而不是仍然“创建”时,付款不应该被“批准”吗?
  • 成功执行后,付款不应该是“完成”还是“进行中”?
  • 处理 webhook 永远不会到达的情况的正确方法是什么?继续轮询付款直到状态更新?
0 投票
2 回答
311 浏览

paypal - Paypal 不会在沙盒中的 BILLING.SUBSCRIPTION.CANCELLED 上触发 webhook

我没有在现场测试过,但目前我有一个订阅以下事件的 webhook

  • 已取消结算订阅
  • 已创建结算订阅
  • 重新激活计费订阅
  • 结算订阅暂停
  • 计费订阅已更新

我正在接收 CREATED 的 Webhook 事件,但当用户从其 PayPal 仪表板取消订阅时,没有发送任何内容。

这是预期的行为吗?我应该订阅另一个事件来捕获该用户操作吗?

0 投票
1 回答
372 浏览

paypal - 收到帐单协议付款的 Paypal Webhook?

收到计费协议的付款时是否会触发 webhook?

我创建了一个计费计划,并让用户接受每月定期付款的计费协议。

执行计费协议时,将BILLING.SUBSCRIPTION.CREATED触发 webhook。

每月收到付款时是否会触发 webhook?

我已经看到了一些关于这个的较早的讨论,我不确定它是否已经实现,或者我是否应该仍然使用 IPN。

0 投票
2 回答
2954 浏览

paypal - 未收到 Paypal webhook 事件

我正在使用 paypal REST API 实现一个简单的支付工作流程。我首先创建一个付款,将用户重定向到此调用返回的 URL,并在批准后执行付款。为了使其更可靠,我想使用 webhook 通知。
这就是它开始成为问题的时候:我没有收到任何通知。

鉴于我到目前为止阅读的不同问答,以下是我的评论:

  1. 整个付款过程正常,我可以与 Paypal 通信并验证付款。
  2. 使用 webhook 模拟器时它工作正常,所以我知道我的系统没问题。
  3. 我订阅了所有活动。我希望至少收到“PAYMENT.AUTHORIZATION.CREATED”和“PAYMENT.SALE.COMPLETED”通知(如果付款被拒绝,则为“PAYMENT.SALE.DENIED”)。我检查了它们是否列在支持的事件类型列表中
  4. 我仍在使用沙盒环境,但我没有看到任何说明它不应该在这种情况下工作。
  5. “Sandbox Webhooks Events”是空的,但我不确定它们是否应该出现在这里。
  6. 我不知道这个相关 ID/调试 ID 应该在哪里。
    编辑:从答案中,可以在响应标头中找到相关 ID。这里是地雷:
    • aa25ee518487a // 创建 webhook
    • 1fbf78ce3a034 // 支付创建
    • 7a5d3c34daa5d // 支付执行

我还应该做些什么来让它发挥作用吗?还是我可以做更多的事情来调试它?
奖励:在我的情况下,我期望“PAYMENT.AUTHORIZATION.CREATED”和“PAYMENT.SALE.COMPLETED/DENIED”通知是否正确?

EDIT2:所以一个月后,我又回到了这个问题上。我现在可以在仪表板中看到 webhook 事件(不知道发生了什么变化),它的状态是 PENDING。它的事务 ID 是 4396a630-78bc-11e6-8890-77339302725b。知道如何获得有关它为何未决的更多详细信息吗?

0 投票
1 回答
501 浏览

php - Paypal webhook 到达服务器,但值为空白

我正在尝试使用 webhook 模拟器来确保信息至少在继续之前到达我们的服务器。好消息是在我的日志中我看到请求做了一些事情,但问题是所有变量都是空白的。我正在使用 php,根据我的打印输出,$_GET、$_POST 和 $_REQUEST 都是空数组。有人对如何解决此特定问题有任何提示吗?

以下是我们服务器上唯一的代码(再次,只是想看看数据是否成功)。

事件发生后的服务器日志:

0 投票
1 回答
455 浏览

paypal - BILLING.SUBSCRIPTION.CANCELLED 不会在用户操作时触发?

我想跟踪有效计费协议的订阅状态。

现在我认为 webhook 会很方便。

我有一个监听器,BILLING.SUBSCRIPTION.CANCELLED它被描述为

取消计费订阅时触发此事件。

现在,当用户转到他的贝宝帐户并取消订阅时,什么都不会被解雇。仅当我使用 REST API 取消订阅时,才会触发此挂钩。这有什么意义呢?当我进行 API 调用时,我会立即收到订阅是否被取消的响应,为什么 sb 需要额外的 webhook 呢?

唯一有用的应用程序是跟踪用户使用他的贝宝帐户所做的事情。现在我的问题是:这是沙盒行为吗?当用户直接通过贝宝取消订阅/协议时,钩子会在“现实世界”中触发吗?

0 投票
1 回答
475 浏览

paypal - 将 PayPal webhook 与 NVP DoExpressCheckoutPayment 结合使用

我正在一个网站上工作,用户可以在该网站上向另一个用户支付产品费用,获得付款的用户有他的API Signature设置,并且付款是使用完成ExpressCheckout (NVP)的(付款人只是被重定向到他在必要时登录的 PayPal 页面和只需单击一个按钮即可支付)。

问题是我尝试使用 webhook 来跟踪这些付款的退款,所以我以后可以通过回调 URL(php 函数)将退款数据插入到我的数据库中,但是我设置的 URL 根本没有被调用(我'之前在同一个 URL 上模拟了一个事件,一切都很好)。

我试图通过设置我API Signature和我的一个朋友向我支付一些美分(通过DoExpressCheckoutPayment)来让这个工作,然后我将它们退还给他(没有电话,只使用 PayPal 网站)。

Sandbox Webhooks 事件页面或 Live 页面上也没有显示任何内容。我已经尝试向我的 webhook 注册其他事件,例如“付款捕获完成”或“付款销售完成”,但结果相同。

我必须更改帐户中的某些设置吗?为了使用 webhook,我创建了一个 REST API 应用程序,但我看到有一个用于 NVP/SOAP API 应用程序的选项。如果 webhook 不起作用,我已经考虑过 IPN。

0 投票
0 回答
57 浏览

paypal - 无法保存 Paypal 沙盒 webhook url

我们正在配置 Paypal Sandbox webhook 并收到错误。我们已经使用 RestClient 测试了 URL,它正在访问我们的测试服务器。见附件。

PayPal 沙盒 Webhook 设置

我们尝试了现场直播,它确实保存了我们的 webhook url。