首页 > 解决方案 > 收到付款后如何执行功能(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);
}
)}

如果您有任何想法,那可能会有所帮助

标签: node.jsintegrationpayment-gateway

解决方案


将 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();
});

推荐阅读