将 Stripe Webhooks 发送到 Grails 中的控制器
Sending Stripe Webhooks to Controller in Grails
我正在尝试从 Stripe on Grails(2.5.1) 捕获测试 Web 挂钩。我在我的 URL 映射中设置了一行,当直接转到本地计算机 运行 浏览器上的 URL 时,ngrok 执行控制器方法 ok。但是,我似乎无法将 Stripe 有效负载发送到控制器?谢谢!
//UrlMappings.groovy
class UrlMappings {
static mappings = {
"/stripe-demo" (controller: 'charge', action: 'respond')
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
//Controller
package stripe.demo
class ChargeController {
def respond(String payload){
//capture the payload sent by Stripe and do something, also respond with 200.
}
}
条带 webhook 数据来自 request.JSON
,因此将其数据绑定到这样的字符串是行不通的。这是一个例子:
class ChargeController {
def webHook() {
if(request.JSON) {
// do something with it, eg:
switch(request.JSON.type) { }
}
render '' // sends nothing back but a http 200
}
}
然后将 webhook 设置为 https://example.com/charge/webHook(请注意,它必须可以访问,以便 localhost 无法工作)
我正在尝试从 Stripe on Grails(2.5.1) 捕获测试 Web 挂钩。我在我的 URL 映射中设置了一行,当直接转到本地计算机 运行 浏览器上的 URL 时,ngrok 执行控制器方法 ok。但是,我似乎无法将 Stripe 有效负载发送到控制器?谢谢!
//UrlMappings.groovy
class UrlMappings {
static mappings = {
"/stripe-demo" (controller: 'charge', action: 'respond')
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
//Controller
package stripe.demo
class ChargeController {
def respond(String payload){
//capture the payload sent by Stripe and do something, also respond with 200.
}
}
条带 webhook 数据来自 request.JSON
,因此将其数据绑定到这样的字符串是行不通的。这是一个例子:
class ChargeController {
def webHook() {
if(request.JSON) {
// do something with it, eg:
switch(request.JSON.type) { }
}
render '' // sends nothing back but a http 200
}
}
然后将 webhook 设置为 https://example.com/charge/webHook(请注意,它必须可以访问,以便 localhost 无法工作)