简体   繁体   中英

handling Postbacks From other website to My website

Im using SuperRewards (SR) To make Coin transaction for users in my website,maybe you are familiar with SR. Whenever a transaction happens SuperRewards sends a postback (Post Request) to my server containing information about the transaction and coins etc...
So my question is how to handle Postbacks or Post request ( i really dont know the diffrence ) from other website to my server USing Nodejs Express ?
Picture 1 App testing
picture 2 app Testing
Code

You would handle it like any other request coming to your Express app. Since it's a GET request, you would have a GET route defined.

According to section Fields and Formats , you get back quite a few query strings. Knowing that we can do the following:

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

Additionally, the documentation states that sig should match the MD5 hash of your secret key , if I'm understanding that correctly. So a full example would be something like:

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')
  }
})

Aside, it is a GET request because the documentation clearly states that:

Postbacks are sent from our server to yours using a HTTP GET request (...)

我联系了支持团队,他们告诉我我必须使用公共域而不是本地主机,这就是为什么它无法正常工作,因此问题得以解决,感谢您的宝贵时间:)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM