首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PayPal网页钩子URL中的HTTP基本身份验证

PayPal网页钩子URL中的HTTP基本身份验证
EN

Stack Overflow用户
提问于 2017-06-26 16:34:06
回答 2查看 970关注 0票数 3

(添加:对于这个问题,假设PayPal API上的操作是有效的并经过身份验证。)

PayPal Webhooks是否支持具有HTTP身份验证凭据的URL,因此下面将创建一个使用给定凭据foo:secret的有效webhook

代码语言:javascript
运行
复制
webhook_attrs = {
  # NOTE the URL has HTTP Basic credentials of
  # user is 'foo' and password is 'secret':
  url: 'https://foo:secret@example.com/paypal_events',
  event_types: [
      { name: 'PAYMENT.AUTHORIZATION.CREATED' },
      { name: 'PAYMENT.AUTHORIZATION.VOIDED' }
  ]
}
webhook = PayPal::SDK::REST::Webhook.new(webhook_attrs)
if webhook.create && webhook.error.nil?
  p "Created webhook:", webhook
else
  p "Failed to create webhook:", webhook.error, webhook
end
EN

回答 2

Stack Overflow用户

发布于 2017-06-28 10:21:42

HTTP不支持PayPal基本身份验证(在编写本文时)。

尝试使用URL (包括HTTP基本凭据)创建Web钩子时,如果出现以下错误,将失败:

代码语言:javascript
运行
复制
{
  "name" => "VALIDATION_ERROR",
  "details" => [ { "field" => "url", "issue" => "Not a valid webhook URL" } ], 
  "message" => "Invalid data provided",
  "information_link" => "https://developer.paypal.com/docs/api/webhooks/#errors"
}

对于希望这样做的开发人员,有几个建议:

  1. 请PayPal支持这一点(值得一提的是,Stripe支持HTTP基本身份验证)
  2. 作为解决办法,可以考虑在URL查询字符串中包含一个长的随机秘密令牌,而不是作为身份验证检查。为此,URL必须是HTTPS。注意检查令牌的代码中的定时和长度攻击,简单的==等式检查容易受到定时攻击。有关定时和长度攻击的更多信息,请参见utils.rb#L22
票数 1
EN

Stack Overflow用户

发布于 2019-09-17 08:19:06

我们知道HTTP不支持PayPal基本身份验证,但是我们有一个解决方案来解决这类问题。我们需要一个没有HTTP基本认证的实时服务器,这样我们就可以在paypal应用程序中为web钩子URL在PHP文件上设置。

  1. 在活动服务器上创建一个名为paypalWebhook.php的PHP文件。下面是此文件的代码。

$body = @file_get_contents('php://input');$url = 'events';//open connection $ch = curl_init();//设置url、post vars数量、POST数据curl_setopt($ch、CURLOPT_URL、$url);curl_setopt($ch、CURLOPT_POST、count($fields));curl_setopt($ch、CURLOPT_POSTFIELDS、$ch);//execute POST $ch=(#en22 20#);//关闭连接();

  1. 现在可以像这样设置Webhook URL:https://{live-server}/paypalWebhook.php

现在,您可以通过活动服务器将所有post值传递给devlopmentHTTP Basic身份验证服务器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44764407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档