[英]handling Postbacks From other website to My website
我正在使用SuperRewards (SR)為我網站上的用戶進行硬幣交易,也許您對SR很熟悉。 每當交易發生時, SuperRewards都會向我的服務器發送回發 (發布請求),其中包含有關交易和硬幣等的信息...
所以我的問題是如何使用Node.js Express處理其他網站到我服務器的回發或發帖請求(我真的不知道這有什么不同)?
圖片1應用測試
圖片2應用測試
碼
您將像處理Express應用程序中的任何其他請求一樣處理它。 由於這是一個GET
請求,因此您將定義一個GET
路由。
根據“ 字段和格式”部分,您獲得了很多查詢字符串。 知道我們可以執行以下操作:
app.get('/super-rewards', async (req, res) => {
// `new` is a reserved keyword, so we can't use `new` as a variable name.
const newCurrency = req.query['new']
const {
id,
uid,
oid,
total,
sig
} = req.query
})
此外,文檔指出sig
應該與您的secret key
的MD5哈希匹配,如果我正確理解的話。 因此,完整的示例如下所示:
const crypto = require('crypto')
const express = require('express')
const app = express()
app.get('/super-rewards', async (req, res) => {
// `new` is a reserved keyword, so we can't use `new` as a variable name.
const newCurrency = req.query['new']
const {
id,
uid,
oid,
total,
sig
} = req.query
const secretHash = crypto.createHash('md5').update(process.env.SECRET_KEY).digest('hex')
if (secretHash !== sig) {
throw new Error('Invalid transaction')
}
})
另外,它是一個GET
請求,因為文檔明確指出:
使用HTTP GET請求將回發從我們的服務器發送到您的服務器(...)
我聯系了支持團隊,他們告訴我我必須使用公共域而不是本地主機,這就是為什么它無法正常工作,因此問題得以解決,感謝您的寶貴時間:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.