Express / LinePay и Meteor работают только с localhost - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь внедрить LinePay на своем веб-сайте, построенном с помощью метеора.

Мне удается запустить транзакцию при запуске метеора на локальном хосте, но он не работает, но я пытаюсь запустить его в Интернете ...

Вот мой код.

Вызов моего метода со стороны клиента:

    Meteor.call('linePay', orderAmount, merchandiseInformation, orderComment, Meteor.userId(), function(err, response) {
  if (!err) {
    window.open("http://my-website.meteorapp.com:" + response + " / pay ");
    //window.open("http://localhost:" + response + "/pay");
    window.close();
  } else {
    alert('Error')
  }
});

А вот мой метод Метеор:

    Meteor.methods({
  'linePay'(orderAmount, merchandiseInformation, orderComment, userId) {
    "use strict";

    const app = require("express")();
    const uuid = require("uuid/v4");
    const line_pay = require("line-pay");
    const url = require('url');

    const pay = new line_pay({
      channelId: '(my channelId)',
      channelSecret: '(my secret code)',
      isSandbox: true
    });

    let server = app.listen(process.env.PORT, () => {
      console.log("server is listening to :" + process.env.PORT + "...");
    });

    app.use("/pay", pay.middleware({
      productName: "My-Website",
      productImageUrl: "(my logo)",
      amount: orderAmount,
      currency: "TWD",
      orderId: uuid(),
      //confirmUrl: "http://localhost:" + process.env.PORT + "/pay/confirm",
      //cancelUrl: "http://localhost:" + process.env.PORT + "/linepayment/error/",
      confirmUrl: "http://my-website.meteorapp.com:" + process.env.PORT + "/pay/confirm",
      cancelUrl: "http://my-website.meteorapp.com:" + process.env.PORT + "/linepayment/error/",
    }), (req, res, next) => {
      // Now payment should have been completed.
      // close server listener
      server.close();
      //redirect to confirmation page
      res.redirect("http://my-website.meteorapp.com/linepayment/success/" + get("transactionId", "http://my-website.meteorapp.com" + req.originalUrl) + "?amount=" + orderAmount);

    });

    return process.env.PORT;
  }

});

IЯ начинающий с Метеор и JS.Я знаю, что мне может понадобиться использовать библиотеки, такие как Picker, чтобы достичь своей цели, но я и в действительности не знаю, как использовать эту библиотеку ... И сейчас все, что у меня есть, это

503(Служба недоступна)

Как мне заставить LinePay работать с моим сайтом?

...