Я совершенно новичок в вебхуках, но я думаю, что понимаю, как это должно работать. Но мне нужна помощь, чтобы понять это и понять, не ошибаюсь ли я: -)
И мне интересно, как получить веб-крючок? Если я что-то упустил, или я могу просто сделать request.form («что-то») для его получения?
Это то, что у меня сейчас.
Я отправляю форматированное сообщение json с XmlHttp из sendorder.asp
в платежный сервис, и в нем я объявляю веб-перехват в форматированном json, как это, вместе с другими деталями заказа.
webhooks"": [{" &_
"""eventName"": ""payment.checkout.completed"","&_
"""url"": ""https://mydomain.se/getorderinfo.asp"","&_
"""authorization"": ""xxxxxxxx"""
А в документации по платежному сервису написано "Easy will send the event as a HTTP POST request to the URL specified by the merchant.
"
Итак, я думаю, что на моей getorderinfo.asp
странице у меня просто есть theinfo=request.form("something")
, чтобы иметь возможность получать информацию?
Но тогда их документы говорят, что "When you subscribe to a webhook, Easy will try to send the request to the specified URL until the server responds with a 200 OK status code."
Значит ли это, что я должен что-то отправить обратно, или 200 OK
автоматически отправляется в ответ на них?
Данные json, которые я должен вернуть, выглядят так.
{
"id" : "f3d5043af4094d6887ee95bf16073958",
"merchantId" : "e718004345cc48cba095a235de85c359",
"timestamp" : "2018-01-12T09:40:19.8919+00:00",
"event" : "payment.refund.completed",
"data" : {
...
...
}
}
Я использую aspJSON1.17.asp, чтобы иметь возможность конвертировать данные json с этим кодом.
theinfo=request.form("something")
jsonstring = theinfo
'response.write jsonstring
Set oJSON = New aspJSON
'Load JSON string
oJSON.loadJSON(jsonstring)
theevent=oJSON.data("event")
Так что если я тогда просто сделаю это, это сработает?
if theevent="payment.checkout.completed" then
response.write "Yepp the payment is completed, insert it into the db now!"
end if
А также, как я могу проверить, отправляется ли webhook на getorderinfo.asp page
?
Как видите, я совершенно новый, поэтому любой вклад очень ценен, спасибо.
Просто чтобы посмотреть, получаю ли я что-нибудь на мою страницу getorderinfo.asp, у меня есть это.
theinfo = CStr(Request.Form)
if theinfo<>"" then
testing=123
sql= "INSERT INTO ordrar(userId) VALUES ("&testing&");"
conn.Execute (sql)
end if
Но это ничего не вставляет в мою базу данных?