您可以像处理您的 Express 应用程序的任何其他请求一样处理它。由于它是一个GET 请求,因此您将定义一个GET 路由。
根据Fields and Formats 部分,您会得到相当多的查询字符串。知道我们可以做到以下几点:
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 请求将回发从我们的服务器发送到您的服务器 (...)