Как получить веб-крючок в asp classic? - PullRequest
0 голосов
/ 25 мая 2019

Я совершенно новичок в вебхуках, но я думаю, что понимаю, как это должно работать. Но мне нужна помощь, чтобы понять это и понять, не ошибаюсь ли я: -)

И мне интересно, как получить веб-крючок? Если я что-то упустил, или я могу просто сделать 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

Но это ничего не вставляет в мою базу данных?

...