如何在本地设置上使用paypal Sandbox webhooks?

ale*_*lex 7 webhooks

我正在玩Paypal REST(php)环境,我喜欢玩沙盒webhooks.是否可以使用本地设置的paypal沙盒webhooks?http://localhost/test

是一个无效的网址

有什么建议?

SRa*_*ack 7

正如@zeyu 所说,你不能直接做到这一点。您可以用来实现此目的的另一项服务是https://ngrok.com/。希望它对某人有用!

它会给你一个类似这样的链接:http://75z929f4.ngrok.io,我将其设置为APP_HOST.

并像这样跳入 webhook:

  def generate_url
    values = {
      business: ENV["PAYPAL_ACCOUNT"],
      cmd: '_xclick',
      return: ENV["APP_HOST"] + @return_path,
      custom: @user.id,
      upload: 1,
      invoice: Time.now,
      currency_code: 'GBP',
      amount: @price,
      no_shipping: 1,
      item_name: self.purchase_name,
      item_number: @product_id,
      quantity: 1,
      notify_url: ENV["APP_HOST"] + @notify_path,
      on0: ('Coupon Code' if @coupon_code.present?),
      os0: @coupon_code
    }

    "#{ENV["PAYPAL_URL"]}/cgi-bin/websr?" + values.to_query
  end
Run Code Online (Sandbox Code Playgroud)

最后要注意的是,APP_HOST每次重新运行 ngrok 时,您都需要更新 ,因为您将从它们那里获得新的标识符。这将链接所有内容,以便您可以从本地主机发送此请求并成功返回响应。


小智 6

不,它不能以这种方式工作,因为localhost不是paypal webhook的有效地址.但是,您可以使用requestbin,requestbin进行尝试.记得在设置webhook网址时使用https而不是http.


538*_*MEO 6

最简单:在线接收webhook

https://webhook.site/是单页面,简单,无需登录。它将实时接收 webhook 并显示有关接收到的有效负载的所有详细信息(正文、标头...)

webhook.站点图像


第二种方法:将 webhooks 转发到 localhost

只需进行更多设置,您就可以使用ngrok等免费服务将收到的 Webhook 转发到某个localhost地址。出于安全考虑,您需要登录。
在一个 cli 命令中,它会将任何localhost地址置于在线状态(仅应用于开发)。

  • 设置和使用更加容易!感谢分享 (2认同)