Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Paypal Node SDK payment.execute http req-在弹性负载平衡上维护多个ec2实例的状态。描述_Node.js_Amazon Web Services_Express_Paypal_Amazon Elastic Beanstalk - Fatal编程技术网

Node.js Paypal Node SDK payment.execute http req-在弹性负载平衡上维护多个ec2实例的状态。描述

Node.js Paypal Node SDK payment.execute http req-在弹性负载平衡上维护多个ec2实例的状态。描述,node.js,amazon-web-services,express,paypal,amazon-elastic-beanstalk,Node.js,Amazon Web Services,Express,Paypal,Amazon Elastic Beanstalk,我将要在一个有多个ec2实例的弹性beanstalk云上运行一个MEAN应用程序,因此我遇到了一个问题: 目前,我正在使用paypal node SDK销售活动门票。我进行支付。创建并传递此交易对象: transactions: [{ amount:{ total: req.headers.amount, currency:'AUD' }, description:'eventID: ' + req.headers.eventid + ', userID:

我将要在一个有多个ec2实例的弹性beanstalk云上运行一个MEAN应用程序,因此我遇到了一个问题:

目前,我正在使用paypal node SDK销售活动门票。我进行支付。创建并传递此交易对象:

transactions: [{
    amount:{
    total: req.headers.amount,
    currency:'AUD'
    },
    description:'eventID: ' + req.headers.eventid + ', userID: ' + req.headers.userid
}]
我在服务器中创建了一个关联数组来缓存eventid和userid,并使用paypal事务ID作为密钥,这样当paypal返回并确认支付成功时,我就知道需要在数据库中更新哪个用户和哪个事件


如果我转到云,如果HTTP重定向到不同的ec2实例,这个方法将失败,因为关联数组将位于不同的机器上。理想的解决方案是能够将eventid和userid传递给paypal,并让他们将其传递回给我,是否有办法在他们的req回调中访问事务/描述数据,或者是否有其他好办法

要么在负载平衡器中,要么开始将数据存储在所有服务器共享的某个位置。

我希望使用paypal.payment描述字符串访问这些数据,但我找到了一个适合我的目的的简单解决方案,我将这两个字符串传递到paypal return_url中,然后在返回时与req.query.e和req.query.u一起使用:

redirect_urls: {
            return_url: config.baseUrl + '/pay/payment?e='+req.headers.eventid+'&u='+req.headers.userid, 
            cancel_url: config.baseUrl + '/'
        },

是的,我在看粘性会话,但我想如果我能把这两条字符串传给paypal,让他们传给我,那就太容易了。我不确定他们发送回我的req中的某个地方是否隐藏了我发送给他们的描述字符串。另外,它的paypals确认服务器在确认后发送回重定向,因此发出http请求的不是同一个用户,这是一篇来自paypal的http帖子,对粘性会话没有帮助,对吗?我已经有几年没有使用paypal API了,但上次我使用它时,paypal导致用户的浏览器重定向。它不是在做一个直接的HTTP帖子。如果是这样,那么粘性会话就不起作用了。您在最初的问题中提到,这是一个“HTTP重定向”,而不是来自Paypal的直接帖子。如果是重定向,那么粘性会话就可以工作。