如何迭代客户端Axios响应

时间:2020-05-30 20:53:15

标签: javascript node.js api axios payment-gateway

我只能从axios获得第一个结果。我正在将付款数据发送到网关。所有付款都会清除,但是我只能取回第一次付款的结果。

这是我正在运行的代码:

app.get("/api/v1/gatewayService/:pId", (req, res) => {
let queryBuilder = `select * from payments where paymentdate = CURDATE() AND pid = ${req.params.pId}`;

var query = db.query(queryBuilder, (err, results) => {
  res.send(results);
  key = env.key;
  var query = db.query(queryBuilder, (err, results) => {
    for (let i = 0; i < results.length; i++) {
      axios
        .post(
          `https://secure.myImportantGatewayService/api/transact.php?type=sale&security_key=${key}&ccnumber=${results[i].ccnumber}&ccexp=${results[i].ccexp}&cvv=${results[i].cvv}&amount=${results[i].amount}&currency=USD&payment=creditcard&orderid=${results[i].orderid}&shipping=0.00&ponumber=${results[i].ponumber}&first_name=${results[i].first_name}&last_name=${results[i].last_name}&address1=${results[i].address1}&city=${results[i].city}&state=${results[i].state}&zip=${results[i].zip}`
        )
        .then((res) => {
          console.log(res.data);
        })
        .catch((err) => console.error(err));
    }
  });
});

以下是结果:

response=3&responsetext=Duplicate transaction REFID:987654321&authcode=&transactionid=&avsresponse=&cvvresponse=&orderid=12345&type=sale&response_code=300

因此,我可以分别在每个&=处进行解析以获得结果,但是问题是我要通过许多不同的付款方式发送,并且只能收到1条回复到我的应用/终奌站。如果我检查网关,就会看到每笔付款都可以正常运行,但是如果不破坏每笔付款的付款ID,就无法发布正确的付款。

我尝试使用不同的数组遍历不同的循环已有几天了,只能返回第一个响应。

我正在使用Axios,.then是我尝试遍历所有可以想象的没有成功的循环的地方。

0 个答案:

没有答案