Как интегрировать платежи Stripe с Google Apps Script - PullRequest
2 голосов
/ 31 октября 2019

Согласно этому ответу , Gmail не предоставляет API для отправки и получения платежей. Поэтому Я пытаюсь использовать Stripe для этого.

Code.js
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc');

(async () => {
  const product = await stripe.products.create({
    name: 'My SaaS Platform',
    type: 'service',
  });
})();

Однако в настоящее время GAS не поддерживает напрямую async и require. Есть ли возможный обходной путь, чтобы я мог использовать Stripe для отправки и получения платежей в своем приложении GAS?

Если это невозможно, в каком направлении я должен идти отсюда?

1 Ответ

2 голосов
/ 31 октября 2019

Как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких ответов.

Проблема и обходное решение:

К сожалению, модуль Node.js нельзя напрямую использовать для скрипта Google Apps. Поэтому необходимо подготовить скрипт для Google Apps Script. К счастью, на официальном документе по ссылке в вашем вопросе есть несколько образцов. Используя это, как насчет конвертации в скрипт скрипта Google Apps?

Пример скрипта:

Когда ваш скрипт в вашем вопросе конвертируется в скрипт Google Apps, он выглядит следующим образом.

С:

// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc');

(async () => {
  const product = await stripe.products.create({
    name: 'My SaaS Platform',
    type: 'service',
  });
})();

До

function myFunction() {
  var url = "https://api.stripe.com/v1/products";
  var params = {
    method: "post",
    headers: {Authorization: "Basic " + Utilities.base64Encode("sk_test_4eC39HqLyjWDarjtT1zdp7dc:")},
    payload: {name: "My SaaS Platform", type: "service"}
  };
  var res = UrlFetchApp.fetch(url, params);
  Logger.log(res.getContentText())
}
  • В этом случае оба запроса Node.js и Google Apps Script совпадают.

Примечание:

  • В примере сценария Node.js для ключа используется sk_test_4eC39HqLyjWDarjtT1zdp7dc. Но в этом случае, поскольку используется базовая авторизация, используйте sk_test_4eC39HqLyjWDarjtT1zdp7dc:, добавив :.

Ссылки:

Если я неправильно понял ваш вопрос и это не то направление, которое вы хотите, я приношу свои извинения.

...