所以我正在将Paypal Rest API与我的django网站集成,因此我可以引入基于订阅的计费,到目前为止一切都很顺利.
我有一个关于计费计划,计费协议,交易历史以及创建和激活计费协议等所有内容的界面.
但是,如果取消了结算协议或者为结算协议付款,我需要一种方式来通知,所以我虽然可以通过webhooks来实现这一目标但是我不能100%确定webhooks是否适用于结算协议?
任何人都可以建议我可以跟踪为结算协议或其他方法付款的方式吗?
我设置了 Paypal webhook 来跟踪定期付款。我已经设置了 webhook
除了激活之外我没有收到任何事件。谁能帮助我找出我需要设置的挂钩来跟踪定期订阅计费的交易?
谢谢
使用我的沙箱帐户和RestAPI,我创建了一张发票.我的买家帐户收到了通知,我转到了链接并支付了它.有通知我收到了付款.但是,没有WebHook通知.
我将所有事件添加到我的WebHook中.使用WebHook模拟器时,我很好地接受了我的API.它由基于Redmond的云提供商托管,并且是https.
在Sandbox部分的WebHook Events链接下,它没有显示任何条目.
还有什么地方可以去研究这个?
我将REST API集成到我们的系统中。唯一缺少的是对我创建的Webhook的响应。
Webhook已在我的应用程序中为沙箱注册,但是当我使用apps密钥在沙箱中创建付款时,没有接到Webhook接收者的电话。使用webhook模拟器可以正常工作。
我要做的步骤:
我做错了什么吗?在沙箱中使用此工具是否有问题?
我尝试在进行简单付款时通过 webhooks 收到通知,但是我在指定的 URL 上没有收到来自 paypal 的任何请求。这是我所做的:
在开发人员仪表板中,如果我转到沙盒 -> 通知:“从测试买家收到付款通知”,则会收到付款,但不会调用我服务器上的 Webhook 页面。我知道这一点是因为每次调用页面时 php 脚本都会创建一个 txt 文件。另外,如果我转到开发者帐户 -> Webhook 通知并选择应用程序,我会收到以下消息:您没有所选应用程序的任何事件
注意:如果我在 webhook 模拟器中添加 URL,一切都会很好。
难道我做错了什么?我必须将应用程序与“立即购买”按钮连接起来吗?
谢谢
JavaScript PayPal 按钮http://paypal.github.io/JavaScriptButtons/允许在 data-custom 字段中发送自定义数据。
使用 IPN 时,这些数据清晰可见且可用。
但是,我在 webhook 文档中没有发现任何对自定义数据的提及;我希望“销售完成”事件能收到一些关于自定义数据的信息。
所以我的问题是双重的:
我正在使用Paypal REST API实现一个简单的付款工作流程。我首先创建一个付款,将用户重定向到此调用返回的URL,然后在批准后执行付款。为了使其更可靠,我想使用webhook通知。
这就是开始出现问题的时候:我没有收到任何通知。
鉴于我到目前为止所阅读的问答内容不同,以下是我的评论:
还有什么我应该做的才能使它起作用?还是我可以做些其他的事情来调试它?
奖金:我是否希望我的情况下收到“ PAYMENT.AUTHORIZATION.CREATED”和“ PAYMENT.SALE.COMPLETED / DENIED”通知?
EDIT2:所以一个月后,我又回到了这个问题。现在,我可以在仪表板上看到webhook事件(不知道更改了什么),其状态为PENDING。它的交易ID为4396a630-78bc-11e6-8890-77339302725b。知道如何获得有关为何未决的更多详细信息吗?
我已经使用PayPal Rest API实现了定期付款。我已经订阅了一些Webhooks事件。创建订阅后,我收到了来自贝宝的通知。但是,在创建定期付款时,即使在开发者帐户的事件控制台上,我也没有收到任何通知。
集成 Paypal 的智能按钮后,我在验证 Paypal 发送的 webhook 通知时遇到问题。我发现的例子要么已经过时,要么不起作用。
有没有办法验证 webhook 通知,最好是 DIY 方式(即无需使用庞大而复杂的 Paypal API)?
我正在尝试使用 webhook 模拟器来确保信息至少在继续之前到达我们的服务器。好消息是,在我的日志中,我看到请求做了一些事情,但问题是所有变量都是空白的。我正在使用 php,根据我的打印输出,$_GET、$_POST 和 $_REQUEST 都是空数组。任何人都有关于如何解决此特定问题的任何提示?
以下是我们服务器上唯一的代码(再次,只是想看看数据是否成功)。
<?php
function write_to_log($text) {
try {
$file = fopen("../../../paypal_test_log.txt", "a");
$text = date("m/d/Y H:i:s") . " -- " . $text . "\n";
fwrite($file, $text);
fclose($file);
} catch(Exception $e) {
echo 'error<br/>';
echo $e->getMessage();
}
}
header('HTTP/1.1 200 OK');
write_to_log('===============================================testing post');
write_to_log(print_r($_POST, true));
write_to_log('===============================================get');
write_to_log(print_r($_GET, true));
write_to_log('===============================================request');
write_to_log(print_r($_REQUEST, true));
?>
Run Code Online (Sandbox Code Playgroud)
事件发生后的服务器日志:
07/14/2016 15:07:22 --
===============================================testing post 07/14/2016 15:07:22 -- Array ( )
07/14/2016 15:07:22 --
===============================================get 07/14/2016 15:07:22 -- Array ( …
Run Code Online (Sandbox Code Playgroud) 我正在努力验证 Paypal webhook 数据,但我遇到了一个问题,它总是为验证状态返回 FAILURE。我想知道是不是因为这一切都发生在沙盒环境中,而 Paypal 不允许对沙盒 webhook 事件进行验证?我按照这个 API 文档来实现调用:https : //developer.paypal.com/docs/api/webhooks/v1/#verify-webhook-signature
相关代码(来自单独的 elixir 模块):
def call(conn, _opts) do
conn
|> extract_webhook_signature(conn.params)
|> webhook_signature_valid?()
|> # handle the result
end
defp extract_webhook_signature(conn, params) do
%{
auth_algo: get_req_header(conn, "paypal-auth-algo") |> Enum.at(0, ""),
cert_url: get_req_header(conn, "paypal-cert-url") |> Enum.at(0, ""),
transmission_id: get_req_header(conn, "paypal-transmission-id") |> Enum.at(0, ""),
transmission_sig: get_req_header(conn, "paypal-transmission-sig") |> Enum.at(0, ""),
transmission_time: get_req_header(conn, "paypal-transmission-time") |> Enum.at(0, ""),
webhook_id: get_webhook_id(),
webhook_event: params
}
end
def webhook_signature_valid?(signature) do
body = Jason.encode!(signature)
case …
Run Code Online (Sandbox Code Playgroud)