我正在尝试将 sofort 作为支付选项集成到我的 Node js 应用程序中,到目前为止一切正常。我遇到的唯一问题是,我不知道收到付款后如何执行功能。现在我只被重定向到 sofort,转账,然后被重定向到成功 URL,但我不知道如何给服务器一个信号,表明付款已收到。我以为我可以使用通知 URL 作为与服务器通信的方式,但它不会发送 GET 或 POST 请求,因此我真的不知道它实际上做了什么
这是迄今为止我的代码:
router.get('/sofort', function(req, res, next) {
'use strict';
var util = require('util');
var Sofort = new (require('node-sofort'))({
configKey : '181556:493374:5c3627c5d50e1f77ee0f5824abb46084'
});
try {
Sofort.createPayment(101.00, 'EUR', ['Demo1'], {
user_variables: ['variable1','variable2','variable3'],
success_url: 'http://localhost:3000/',
success_link_redirect: true,
notification_urls: 'http://localhost:3000/testo'}, function (err,
data) {
console.log(data);
console.log(data.payment_url);
res.redirect(data.payment_url)
});
} catch (e) {
console.log(e);
}
)}
如果您有什么想法,直接说出来可能会有所帮助
将 success_url 更改为
success_url: 'http://localhost:3000/sofort/success/-TRANSACTION-'
然后创建一条路线(发布或获取我不知道)
router.post('/sofort/success/:transaction', function(req, res) {
var transactionId = req.body.transaction;
console.log('transaction succesful for id ' + transactionId);
res.end();
});
我是一名优秀的程序员,十分优秀!