收到付款后如何执行功能(Sofort)?

How to execute function, after payment was received (Sofort)?

我正在尝试将 sofort 作为支付选项集成到我的节点 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-'

然后创建一条路线(post or get I don't know)

router.post('/sofort/success/:transaction', function(req, res) {
    var transactionId = req.body.transaction;

    console.log('transaction succesful for id ' + transactionId);    

    res.end();
});