0

我正在尝试从 Stripe on Grails(2.5.1) 捕获一个测试网络钩子。我在我的 URLmappings 中设置了一行,当我在运行 ngrok 的本地计算机上的浏览器上直接访问 URL 时,可以执行控制器方法。但是,我似乎无法将 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.

 }

  }
4

1 回答 1

1

条纹 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 不能工作)

于 2016-04-07T13:26:48.107 回答