paytm付款成功后,我将无法返回我的角度申请

问题描述

我正在使用angular 8,nodejs和expressjs集成Paytm支付网关。我正在服务器端(nodejs和expressjs)上处理回调URL事件,但是从Paytm付款网关获取成功的回调URL后,我无法返回到我的angular应用程序。请帮助我解决此问题。

我的回调代码(在expressjs中):

app.post('/callback',(req,res) => {
        responsePayment(req.body).then(
            success => {
                res.render("response.ejs",{resultData: "true",responseData: success});
                console.log(res);
            },error => {
                res.send(error);
            }
        );
    })
}

const responsePayment = function(paymentObject) {
    return new Promise((resolve,reject) => {
      if (
        checksum_lib.verifychecksum(
          paymentObject,"my Merchant Key",paymentObject.CHECKSUMHASH
        )
      ) {
        resolve(paymentObject);
      } else {
        return reject('Error while verifying checksum');
      }
    });

解决方法

似乎没有从回调响应中验证校验和。

请使用paytm开发人员页面上为nodejs提供的最新校验和库。此处提供了相同的github链接供您参考:https://github.com/paytm/Paytm_Node_Checksum 请参考此处给出的验证校验和的方法:

/* import checksum generation utility */
var PaytmChecksum = require("./PaytmChecksum");

paytmChecksum = request.body.CHECKSUMHASH;
delete request.body.CHECKSUMHASH;

var isVerifySignature = PaytmChecksum.verifySignature(request.body,config.PAYTM_MERCHANT_KEY,paytmChecksum);
if (isVerifySignature) {
    console.log("Checksum Matched");
} else {
    console.log("Checksum Mismatched");
}