Coldfusion 接收并记录webhook帖子

Coldfusion 接收并记录webhook帖子,coldfusion,webhooks,stripe-payments,Coldfusion,Webhooks,Stripe Payments,我在Stripe.com上建立了一个帐户。我已经为测试配置了一个webhook,并且正在向“接收”这些请求的cfm页面发送测试帖子。然而,我不确定这个页面是否做了它应该做的事情。目前,我只是转储所有数据。下面是页面代码的外观 当我在本地运行该页面,或者直接在我们的实时测试站点上调用它时,我会收到一封包含所有预期数据的电子邮件。但是,如果我将该页面设置为webhook url,然后让Stripe向其发送测试消息,则不会发生任何事情-没有电子邮件。我在错误日志中也没有看到任何内容。这里会出什么问题?

我在Stripe.com上建立了一个帐户。我已经为测试配置了一个webhook,并且正在向“接收”这些请求的cfm页面发送测试帖子。然而,我不确定这个页面是否做了它应该做的事情。目前,我只是转储所有数据。下面是页面代码的外观

当我在本地运行该页面,或者直接在我们的实时测试站点上调用它时,我会收到一封包含所有预期数据的电子邮件。但是,如果我将该页面设置为webhook url,然后让Stripe向其发送测试消息,则不会发生任何事情-没有电子邮件。我在错误日志中也没有看到任何内容。这里会出什么问题?有人能推荐一种更好的方法来接收和记录来自Stripe的webhook调用吗?我在这里有点不知所措。谢谢

<cfsavecontent variable="local.emailBody">
    <cfdump var="#GetHttpRequestData()#">
    <cfdump var="#HTTP#">
    <cfdump var="#REQUEST#">
    <cfdump var="#FORM#">
    <cfdump var="#VARIABLES#">
</cfsavecontent>

<!--- Build Email --->
<cfset sMessage.messageType = "email" />
<!--- Setup other Email settings like to,from etc --->


<!--- Send Email --->
<cfset application.Communication.SendMessage(sMessage)  />

我相信你现在已经明白了,但是你使用

ToString(getHTTPRequestData().content)
。。。或者把它放在CF对象中

deserializeJSON(ToString(getHTTPRequestData().content))

在我看来,Stripe没有向您的应用程序发送任何内容。你能检查一下你的网络日志看看你是否收到了请求吗?@baynezy:奇怪的是,如果我设置了一个不同的webhook url并将帖子从Stripe发送到RequestBin,它很好地到达了那里。明白了,但是你检查了你的网络日志,看看这个URL是否被请求了吗?@checkey-它由所使用的内容类型和请求方法决定。更多细节。假设您收到的是UTF-8编码的字符串,请尝试:
toString(getHTTPRequestData().content,“UTF-8”)
@Cheeky-明确指定编码比依赖默认值更好/更安全。这就消除了如果机器设置发生更改,代码可能意外中断的可能性。