问题标签 [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.
perl - Perl 中的 PayPal REST API WebHook 验证
我知道我可能不应该在 Perl 中这样做,但请幽默:
尝试验证 PayPal REST API 2 Webhook 的签名。“raw_query”是 PayPal 发送的 HTTP 有效负载,按照 PayPal 进行 CRC32 编码。为方便起见,公钥证书被硬编码(已从 PayPal 下载并检查)。
wh_id 是来自 PayPal 开发人员后端的 Webhook ID(当您将 Webhook 添加到您的应用程序时)。
有人知道为什么这总是无法验证吗?
paypal - 在另一个 PayPal 帐户上注册 webhook
我了解如何在我的 OWN PayPal 帐户中为各种事件注册 webhook。我需要一些不同的东西:我希望我的用户授权我为他们帐户中的特定事件注册一个 webhook。
简而言之,我想在参与用户和商家之间放置一项服务。所以我想这可能是以下两种方式之一:
USER 授权我在他的 PayPal 账户(通常是 PayPal Personal)上注册 webhook 以获取授权事件。我阅读了有效载荷以识别与参与的商家相关的交易。
MERCHANT 授权我在他的 PayPal 帐户(通常是 PayPal Pro/Business)上为授权事件注册 webhook。我阅读了有效载荷以识别与参与用户相关的交易。
提前感谢您的想法!
paypal - PHP 中的 PayPal WebHook 验证
在这里参考答案:PHP verify Paypal webhook signature
这仍然是今天(22 年 1 月)的有效解决方案吗?好奇为什么它在 github.com/paypal/PayPal-PHP-SDK 上说这个包已被弃用?(并存档)?
node.js - 当我拥有 PEM 格式的证书时,如何根据 nodejs 14.x 中的主机名验证证书?
我有一个 PEM 格式的证书。我想用来tls.checkServerIdentity()
验证证书是否有效。但是 nodejs 的TLS
模块不接受 PEM 格式。
我尝试了各种 X509 解析器,但它们都没有生成与tls.checkServerIdentity()
. 我试过了
- 节点锻造。对象格式不兼容,无法导入节点的根证书,因为它们包含不兼容的证书
- x509
- @奇特/x509
- 我不能使用节点 17 的 X509 功能,因为 Lambda 只能访问节点 14.x
- 证书的 CN 无法连接,所以我不能简单地作弊并让 TLS 连接到它
上下文:我最终的问题是在 nodejs/lambda 中执行与此 PHP 版本的 paypal webhook 验证相同的操作。但是似乎没有办法获得与 nodejstls
模块兼容的证书以使用 nodejs 内置功能。(PHP 版本不验证证书)
如何验证 Paypal webhook 通知 DIY 样式(不使用 Paypal SDK)
NodeJS 参考: https ://nodejs.org/docs/latest-v14.x/api/tls.html#tls_tls_checkserveridentity_hostname_cert
wordpress - WooCommerce 通过 WebHook PayPal 的订单密钥获取订单 ID 不再工作
我的代码有一个被 PayPal 称为 webhook 的函数。但是,在 Webhook 请求正文中,缺少所需的 json 参数。
webhookBody = json_decode($requestBody); orderid = wc_get_order_id_by_order_key($webhookBody->resource->custom);
如果我手动设置订单 ID,正如我在 WooCommerce 订单中看到的那样,它也不起作用。
这是整个功能,它不起作用,因为订单键/id 存在问题。是否有任何更改,所以它不再以这种方式工作?