Получать и регистрировать сообщения веб-перехватчика

У меня есть учетная запись на Stripe.com. Я настроил веб-перехватчик для тестирования и отправляю тестовые сообщения на страницу cfm, которая «получает» эти запросы. Однако я не уверен, что эта страница работает так, как должна. В настоящее время я просто выгружаю все данные. Ниже представлен код страницы.

Когда я запускаю страницу локально или вызываю ее прямо на нашем тестовом сайте, я получаю электронное письмо со всеми ожидаемыми данными. Однако, если я настрою страницу как URL-адрес веб-перехватчика, а затем заставлю Stripe отправить ей тестовое сообщение, ничего не произойдет - никаких писем. В журналах ошибок тоже ничего не вижу. Что здесь может быть не так? Может ли кто-нибудь порекомендовать лучший способ принимать и регистрировать вызовы веб-перехватчика от Stripe? Я здесь немного невежественен. Спасибо

<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)  />

person Paolo Broccardo    schedule 06.10.2012    source источник
comment
мне кажется, что Stripe ничего не отправляет в ваше приложение. Можете ли вы проверить свои веб-журналы, чтобы узнать, получаете ли вы вообще запросы?   -  person baynezy    schedule 06.10.2012
comment
@baynezy: Странно то, что если я настроил другой URL-адрес веб-перехватчика и отправил сообщение из Stripe в RequestBin, оно доставлялось туда отлично.   -  person Paolo Broccardo    schedule 06.10.2012
comment
Понятно, но проверяли ли вы свои веб-журналы, чтобы узнать, запрашивается ли этот URL-адрес?   -  person baynezy    schedule 06.10.2012
comment
Вам также следует добавить cflog операторы для входа в определенный файл в CF Admin для вашего обзора, и обернуть все это в try/catch блог и отправить себе сообщение об ошибке по электронной почте, если что-то пойдет не так.   -  person Dan Short    schedule 06.10.2012
comment
@DanShort: Похоже, запрос действительно поступил. Но если я сбрасываю структуру с помощью #GetHttpRequestData () #, поле 'content', которое, как я предполагаю, должно содержать данные JSON, будет содержать двоичные данные. Почему это так и как мне прочитать данные JSON из двоичных данных? Спасибо   -  person Paolo Broccardo    schedule 07.10.2012
comment
@Cheeky - определяется типом контента и используемым методом запроса. Дополнительные сведения см. в документации. Предполагая, что вы получаете строку в кодировке UTF-8, попробуйте: toString(getHTTPRequestData().content, "UTF-8").   -  person Leigh    schedule 08.10.2012
comment
@Leigh: Спасибо за миллион! Документы помогли, как и вы. Все, что требовалось - это простой ToString(getHTTPRequestData().content)   -  person Paolo Broccardo    schedule 08.10.2012
comment
@Cheeky - лучше / безопаснее указывать кодировку явно, а не полагаться на значения по умолчанию. Это исключает вероятность того, что ваш код может неожиданно сломаться при изменении настроек вашего компьютера.   -  person Leigh    schedule 08.10.2012
comment
@Cheeky - Один из вас, ребята, должен опубликовать резолюцию в качестве ответа. Так что найти проще, чем искать в комментариях :)   -  person Leigh    schedule 13.10.2012


Ответы (1)


Я уверен, что вы уже поняли это, но вы используете ...

ToString(getHTTPRequestData().content)

... или поместить его в объект CF ...

deserializeJSON(ToString(getHTTPRequestData().content))
person user1909962    schedule 17.12.2012