我正在尝试将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-'
然后创建一个路由(发布或获取我不知道(
router.post('/sofort/success/:transaction', function(req, res) {
var transactionId = req.body.transaction;
console.log('transaction succesful for id ' + transactionId);
res.end();
});