我目前在使用Scala(Play Framework)编写的应用程序中使用PayPal按钮。
现在我正在尝试实施PayPal IPN而不是重定向。 根据PayPal文件
https://developer.paypal.com/docs/classic/ipn/gs_IPN/
用户完成付款后,事件流程为:
因此,我的控制器方法应如下所示:
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中使用吗?
感谢有人能给我任何想法。
安德烈。
答案 0 :(得分:1)
对于Akka演员来说,这将是一个很好的用例:
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("")
}
答案 1 :(得分:0)
如果我理解正确,您希望在操作中向PayPal发出POST请求。为此,您可以使用Play中的WS Client库。详细的教程在 https://www.playframework.com/documentation/2.4.x/ScalaWS