【问题标题】:Node and PayPal: Retrieve User Info after PaymentNode 和 PayPal:付款后检索用户信息
【发布时间】:2018-08-12 18:55:58
【问题描述】:

我正在使用本教程: https://www.nodejsera.com/paypal-payment-integration-using-nodejs-part2.html

它实现PayPal的方式是:

// start payment process 
app.get('/buy' , ( req , res ) => {
    // create payment object 
    var payment = {
            "intent": "authorize",
    "payer": {
        "payment_method": "paypal"
    },
    "redirect_urls": {
        "return_url": "http://127.0.0.1:3000/success",
        "cancel_url": "http://127.0.0.1:3000/err"
    },
    "transactions": [{
        "amount": {
            "total": 39.00,
            "currency": "USD"
        },
        "description": " a book on mean stack "
    }]
    }   

    // call the create Pay method 
    createPay( payment ) 
        .then( ( transaction ) => {
            var id = transaction.id; 
            var links = transaction.links;
            var counter = links.length; 
            while( counter -- ) {
                if ( links[counter].method == 'REDIRECT') {
                    // redirect to paypal where user approves the transaction 
                    return res.redirect( links[counter].href )
                }
            }
        })
        .catch( ( err ) => { 
            console.log( err ); 
            res.redirect('/err');
        });
}); 
// helper functions 
var createPay = ( payment ) => {
    return new Promise( ( resolve , reject ) => {
        paypal.payment.create( payment , function( err , payment ) {
         if ( err ) {
             reject(err); 
         }
        else {
            resolve(payment); 
        }
        }); 
    });
}       

然后相应地重定向用户:

app.get('/success' , (req ,res ) => {
    res.redirect('/success.html');
    console.log(req.query);
})

// error page
app.get('/err' , (req , res) => {
    console.log(req.query);
    res.redirect('/err.html');
})

我正在使用沙盒,虚拟支付成功。付款完成后,我想向买家(在本例中为我自己)发送一封电子邮件。我如何检索该信息(如果付款正常,用户电子邮件和姓名等)?

还有,关于在 node.js 中使用库来实现自动邮件的任何建议(nodemailer 是一个选项,还是已弃用?)?

谢谢

【问题讨论】:

    标签: node.js paypal


    【解决方案1】:

    我不熟悉 paypal api。但我认为有两件事要记住。

    • 创建一个 webhook 来接收通知(对于处理那里的状态变化很重要)

    • 在重定向端点捕获立即结果

    请仔细检查您的重定向端点已经从贝宝收到了什么。

    app.get('/success' , (req ,res ) => {
        console.log(req.query); // should include payer id
        res.redirect('/success.html');
    })
    

    【讨论】:

      猜你喜欢
      • 2016-06-26
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      • 2013-09-03
      • 1970-01-01
      • 2013-02-22
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多