Google Forms PayPal Express Интеграция

Я делаю работу для некоммерческой организации с нулевым бюджетом на ИТ. Они должны позволить пользователям вводить информацию в форму Google, а затем собирать платежи. Я провел много исследований по этой теме, и в настоящее время кажется, что в Google Forms можно добавить только гиперссылку для ссылки на PayPal. Однако мне было интересно, есть ли какой-нибудь способ связать JavaScript PayPal Express Checkout ( https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/add-paypal-button/) в форма Google, поэтому он перезванивает с идентификатором транзакции и статусом. Тогда я смогу как-то вставить эти значения в форму Google. Любые мысли о том, как интегрировать, будут полезны. Я разработчик, но не знаком с Google Forms.

2 ответа

@user1330219 user1330219 Я согласен с проблемой, которую вы упомянули: согласование того, кто и производил платежи, является ГЛАВНОЙ проблемой, когда нет тесной интеграции с платежной системой. Пользователи Google Form часто сталкиваются с этой проблемой.

Недавно я исследовал эту тему и недавно написал статью о всех возможных вариантах сбора платежей через форму Google , их преимуществах и недостатках.

Там же я нашел пару вариантов для разработчиков:

  1. Решение Google Developer Expert Алана Уэллса для использования клиентского PayPal Javascript SDK и серверного API PayPal для приема платежа от покупателя. https://groups.google.com/g/google-apps-script-community/c/wos-6RaEvVM/m/MHUfDAxhAwAJ

  2. Stripe Elements — предварительно созданные многофункциональные компоненты пользовательского интерфейса, которые помогут вам создать собственные пиксельные потоки оформления заказов на настольных и мобильных устройствах. https://www.google.com/url?q=https://script.google.com/macros/s/AKfycbx2Chr9wjcCs3Ana4xMnAFmPzBjUxuLkPD_E0HUlZeoW9f8B_cw/exec&sa=D&source=hangouts&ust=1609676813295000&usg=AFQjGwqCNFWjAouOuDTz27a

Вы пробовали что-нибудь из этого?

Для не-разработчиков есть 4 варианта:

  1. Добавление ссылки paypal.me на страницу подтверждения Google Forms (как для всех, это самый обсуждаемый вариант во всем Интернете)
  2. Добавление сведений о одноранговых платежах, таких как Paypal, Venmo, Cashapp, реквизиты банковского счета
  3. Вариант 3a. Последующие действия в автономном режиме в электронных письмах
    . Вариант 3b. Написание скрипта Google Apps/добавление элементов Stripe.
  4. Используйте дополнение, такое как Neartail, которое имеет тесную интеграцию с Google Forms и интеграцией Stripe. Обратите внимание, что ваши пользователи должны будут совершить платеж, прежде чем они смогут отправить форму. Вы можете добиться возврата идентификатора транзакции в Таблицы для ведения учета и сверки.

Я недавно столкнулся с этим вопросом и в итоге создал надстройку G Suite, чтобы упростить задачу другим. По совпадению я также занимаюсь волонтерством в сфере ИТ для небольшой некоммерческой организации, и мы хотели использовать PayPal с нашей формой регистрации (есть цены на надстройку, но просто свяжитесь со мной, если вы небольшая некоммерческая организация).

Вот что я узнал при его создании:

  • Сценарий приложений не может изменять форму после того, как она отображается пользователю, или использовать скрипт приложений для ответа на вводимые пользователем данные.
  • Невозможно автоматически перенаправить пользователя в PayPal после отправки формы

Это означает, что если вы хотите отправить кого-то в PayPal, вам нужно использовать обычную ссылку. Вы можете сделать это в форме, добавив URL-адрес к описанию вопроса, или вы можете добавить URL-адрес к тексту, отображаемому после того, как кто-то отправил форму. Для PayPal у вас есть два варианта этого типа ссылки:

  1. Кнопки PayPal
  2. Экспресс-касса

Кнопки PayPal - это статические ссылки, которыми управляет PayPal. Они не требуют кодирования - просто перейдите сюда и создайте кнопку. Затем вам нужно получить необработанную текстовую ссылку для кнопки, которую PayPal называет версией "электронной почты". Вы можете вставить это непосредственно в свою форму и сообщить пользователям, что они должны получить к ней доступ. Единственная проблема в том, что нет реального способа получить идентификатор транзакции. Вы можете попробовать соотнести время отправки формы со временем оплаты или адрес электронной почты плательщика с электронной почтой для отправки формы. Возможно, ни один из них не совпадет, и вам придется сделать это вручную.

Экспресс-оформление требует, чтобы вы динамически создавали новую ссылку для каждого платежа, вызывая PayPal API. Это означает, что ваша ссылка должна открывать страницу, которая затем генерирует URL-адрес для экспресс-оплаты и перенаправляет пользователя на нее. Вы можете сделать это с помощью веб-приложения в Google Apps Script, используяdoGet() триггер, или вы можете создать свой бэкэнд на своем сервере на любом языке.

Если вы можете запустить где-нибудь свой собственный сервер, я рекомендую это (многие службы PaaS имеют бесплатный уровень). Когда вы не используете скрипт приложений, гораздо проще тестировать и отлаживать вещи. Я использовал SDK PayPal Node, который отлично работает, несмотря на то, что его не обслуживают. (Экспресс-касса "устарела" PayPal, но держу пари, что она не исчезнет в ближайшее время). Их пример поможет вам добиться большего. Когда пользователь заходит, сгенерируйте ссылку для оплаты и перенаправьте его. Когда они закончат, они вернутся на ваш сервер, и вы сможете отображать все, что захотите. Например, вы можете попросить их скопировать идентификатор транзакции и вставить его в вашу форму.

Наконец, когда ваша форма отправлена, onSubmit()триггер может быть настроен. На самом деле есть два видаonSubmit()триггеры для форм - один для самой формы, а второй для электронной таблицы, связанной с формой. Вы можете зарегистрировать триггер для дополнительной обработки (например, для поиска идентификатора транзакции), но вы не можете изменить ответ в триггере. Однако вы можете изменить электронную таблицу, в которую отправляется триггер, что в большинстве случаев эквивалентно. Например, вы можете добавить в электронную таблицу столбец со ссылкой на транзакцию PayPal на основе кода транзакции.

Другие вопросы по тегам