gpt4 book ai didi

scala - 如何在 Play Framework Scala 中实现 PayPal IPN 监听器( Controller )

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:26 26 4
gpt4 key购买 nike

我目前在用 Scala (Play Framework) 编写的应用程序中使用 PayPal 按钮。

现在我正在尝试实现 PayPal IPN 而不是重定向。根据 PayPal 文档

https://developer.paypal.com/docs/classic/ipn/gs_IPN/

用户完成支付后,事件流程为:

  1. PayPal 向我的应用程序的监听器发布一条消息,其中包含各种变量。
  2. 我的监听器返回一个空的 HTTP 200 响应。
  3. 我的监听器执行 HTTP POST 以将完整的、未更改的通知发送回 PayPal。
  4. PayPal 发回一个单词 - VERIFIED 或 INVALID。

所以,我的 Controller 的方法应该是这样的:

  def payPalIpn() = Action { implicit request =>
.... Get all PayPal Variables .......

/* Send empty response with empty HTTP 200 response */
Ok("")

.... Make a POST request to PayPal site with all original PayPal's variables

}

这是我偶然发现的 - 我如何在返回 OK("") 后发出 POST 请求?在 Play 中这甚至可能吗?

如果有人能给我任何想法,我将不胜感激。

安德烈。

最佳答案

这对于 Akka Actor 来说是一个很好的用例:

def payPalIpn() = Action { implicit request =>
.... Get all PayPal Variables .......

actorSystem.actorSelection("paypal-ipn-actor") ! ValidateIPN(request.body)

/* Send empty response with empty HTTP 200 response */
Ok("")

}

关于scala - 如何在 Play Framework Scala 中实现 PayPal IPN 监听器( Controller ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34487257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com