DiscordJS和php链接

时间:2018-08-17 20:00:26

标签: php node.js paypal

我正在制造一个Discord机器人,该机器人具有在其中生成付款链接的地方,一旦付款,它就会在聊天室中发送一条消息,指示已付款。我以前看过它,所以我知道这是可能的,我已经完成了基本工作,但是我陷入了困境。我使用Paypal-express-checkout npm插件,当您运行-pay(amount0)时,它为给定的金额生成了一个付款链接,但是当它返回到我的返回URL(confirm.php)时,URL中有变量,但是我不知道如何将它们发送到node.js应用程序,或者不知道如何将它们发送给node.js应用程序,以便它可以确认它确实是真实的。我使用的插件有2个函数,其中一个创建了链接,其中一个确认了链接,因此为什么我需要将变量发送到php文件。

谢谢

paypal.pay(message.id, args[0], 'Invoice', 'USD', function(err, url) {
        if(err) {
          console.log(err);
          return;
        }
        message.channel.send({embed: {
          color: 0x28d651,
          title: "Slashy Payment",
          fields: [
            {
              name: "Invoice Amount",
              value: "$" + args[0],
              inline: true
            },
            {
              name: "Invoice Client",
              value: message.author.username,
              inline: true
            },
            {
              name: "Invoice Status",
              value: "Pending..."
            },
            {
              name: "Payment Link",
              value: '[Pay here](' + url + ')'
            }
          ],
          timestamp: new Date(),
          footer: {
            icon_url: bot.user.avatarURL,
            text: "© Slashy 2018"
          }
        }
        });
      });

2 个答案:

答案 0 :(得分:0)

对于任何想知道我最终如何做到的人,只需将message.channel.id存储在贝宝返回链接的URL中,当他们到达页面时,将信息保存到带有频道的数据库中id并仅在频道中每5秒钟检查一次数据库(如果该项目已在数据库中标记为已付款)。真的很酷的修复程序似乎正常工作

答案 1 :(得分:0)

为您提供另一种解决方案,而不是轮询,只需创建一个快速Web服务器或打开一个TCP套接字即可。是的,php也可以执行tcp套接字。无论如何,一旦paypal将其消息返回到您的php服务器,请让php脚本向也正在运行您的机器人的node.js express服务器发送请求。我不知道人们将如何通过您的机器人购买期权,但是,这似乎是一个不错的选择,而不是如果大量的人开始购买:D会浪费一些CPU时间,但这是个好问题吗?