Центр помощи

Найдено 100 из 200

Hosted Fields: как встроить форму оплаты на сайт

Hosted Fields позволяют встроить поля ввода карты на ваш сайт или в приложение, полностью адаптируя их под дизайн системы. Они создают ощущение целостности интерфейса и исключают необходимость перенаправления клиента на внешнюю страницу оплаты. Это повышает удобство использования и конверсию.

Поля ввода для номера карты, даты истечения и CVC представляют собой iFrame. Мы даем возможность полностью кастомизировать их CSS и встроить на ваш сайт в виде единого фрейма.

Видеоинструкция

Настройка

<span class="u-richtext-counter">1</span> В разделе <span class="u-richtext-element">Настройки</span> → <span class="u-richtext-element">Интеграции</span> → <span class="u-richtext-element">Мои сайты</span> включите опцию Hosted Fields для нужной интеграции.

<span class="u-richtext-counter" id="domains">2</span> Нажмите кнопку <span class="u-richtext-element">Настройка Hosted Fields</span> и укажите домены, на которых будут использоваться Hosted Fields. Вводите каждый домен или поддомен с новой строки, без «https://», например: <span class="u-richtext-element">mysite.com</span>. Чтобы разрешить все поддомены, используйте маску со звёздочкой, например: <span class="u-richtext-element">*.mysite.com</span>.

При необходимости адаптируйте стили CSS для полей ввода.

<span class="u-richtext-counter">3</span> На странице оплаты вашего сайта разместите iFrame, задайте ему произвольный параметр <span class="u-richtext-element">id</span>, а в параметре <span class="u-richtext-element">src</span> укажите ссылку на оплату (payment_url), которую возвращает Allpay в ответ на запрос на создание платежа (см. раздел Payment request в документации API). Ссылки на оплату также можно генерировать через Allpay API Tester.‍

<span class="u-richtext-counter">4</span> На странице оплаты разместите следующий скрипт:

<script src="https://allpay.to/js/allpay-hf.js"></script>
    <script>
    let Allpay = new AllpayPayment(
        {
            iframeId: 'iframe_id',
            onSuccess: function() { alert('Payment success'); },
            onError: function(error_n, error_msg) { alert('Payment error: ' + error_n + ' (' + error_msg + ')'); }
        }
    );
    </script>

‍

В скрипте замените следующие параметры на ваши:

  • <span class="u-richtext-element">iframeId</span> — значение id вашего iFrame.
  • <span class="u-richtext-element">onSuccess</span> — обработчик успешного завершения платежа (что должно произойти после успешной оплаты).
  • <span class="u-richtext-element">onError</span> — обработчик ошибки платежа. Используя шаблон в скрипте, вы можете выводить текст ошибки оплаты.

<span class="u-richtext-counter">5</span> Для запуска процесса выполните функцию <span class="u-richtext-element">Allpay.pay()</span>. Например, назначив ее для кнопки «Pay»:

<button onclick="Allpay.pay();">Pay</button>

‍

Рассрочка

Если при создании платежа вы включили для клиента опцию рассрочки, передав значение в параметре <span class="u-richtext-element">inst</span>, тогда во фрейме автоматически появится поле для выбора количества платежей.

Кнопки быстрой оплаты

Кнопки Apple Pay и Bit не будут отображаться в предпросмотре и во фрейме, если они не активированы в разделе <span class="u-richtext-element">Настройки</span> → <span class="u-richtext-element">Модули</span>.

Также кнопки не отображаются в тестовом режиме и в рабочем режиме для оплат с опциями рассрочки и подписки.

Кнопка Apple Pay

Чтобы кнопка Apple Pay работала корректно, выполните две настройки:

<span class="u-richtext-counter">1</span>Добавьте атрибут <span class="u-richtext-element">allow="payment *"</span> в тег <span class="u-richtext-element">iframe</span>. Пример:

<iframe id="myPaymentIframe" allow="payment *" src="..." >

<span class="u-richtext-counter">2</span>Разместите сертификат Apple Pay на сервере домена. Сертификат и инструкция по его размещению доступны в разделе настроек Hosted Fields в личном кабинете Allpay.

<span id=google-pay>Кнопка Google Pay</span>

Чтобы кнопка Google Pay работала на вашем домене, домен необходимо верифицировать в Google, а затем прописать полученный Google Merchant ID в Allpay.

<span class="u-richtext-counter">1</span>Создайте профиль в Google Pay & Wallet Console.

<span class="u-richtext-counter">2</span>В разделе Google Pay API → Web integration укажите ваш домен и выберите тип интеграции Gateway.

<span class="u-richtext-counter">3</span>Приложите скриншоты платежного процесса (buyflow) с вашего сайта. После активации Google Pay в платежных модулях Allpay кнопка Google Pay уже будет отображаться, но пока не будет работать. Это позволит вам приложить скриншоты Item selection, Pre-purchase screen и Payment method screen.

Для Google Pay API payment screen приложите скриншот ошибки, которая появляется при нажатии на кнопку. Для Post-purchase screen приложите скриншот страницы успешной оплаты, даже если на ней не упоминается Google Pay.

<span class="u-richtext-counter">4</span>Подайте заявку и дождитесь одобрения Google. Рассмотрение может занять несколько рабочих дней.

<span class="u-richtext-counter">5</span>Скопируйте ваш Google Merchant ID и вставьте его в настройках Hosted Fields в личном кабинете Allpay. В течение нескольких дней ID пропишется в платежной системе, после чего платежи через Google Pay заработают.

Ваш сайт может не пройти проверку Google, если он не соответствует Google Pay and Wallet API's Acceptable Use Policy или Google’s Terms of Service.

Если вы представляете НКО (амуту) следуйте этим инструкциям Google.

Встравание в mobile app (WebView)

Hosted Fields поддерживают оплату картой с подтверждением 3D Secure в Android WebView и WKWebView на iOS.

Некоторые сценарии оплаты, например через Bit или с подтверждением в приложении банка, требуют перехода во внешнее приложение. Для этого могут использоваться специальные ссылки, такие как <span class="u-richtext-element">intent://</span> WebView не всегда обрабатывает их автоматически, поэтому без дополнительной настройки пользователь может не завершить оплату.

Для поддержки таких переходов рекомендуем открывать страницу оплаты через системную браузерную вкладку:

  • Chrome Custom Tabs — на Android;
  • SFSafariViewController — на iOS.

Эти компоненты работают аналогично обычному мобильному браузеру и лучше поддерживают переходы в платёжные и банковские приложения.

Если необходимо использовать WebView, обрабатывайте навигацию на стороне мобильного приложения:

  • обычные <span class="u-richtext-element">https://</span> ссылки открывайте внутри WebView;
  • ссылки с другими схемами передавайте операционной системе для открытия соответствующего приложения;
  • если приложение не установлено, используйте предусмотренную ссылку для перехода в браузер, App Store или Google Play.

Эта особенность связана с обработкой внешних ссылок внутри WebView, а не с работой Hosted Fields.

Читать далее
API

Отображение суммы в валюте (USD, EUR и др.) вместо шекеля

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

Чтобы сумма на странице оплаты отображалась, например, в долларах (USD) или евро (EUR), необходимо перейти в <span class="u-richtext-element">Настройки</span> ➙ <span class="u-richtext-element">Платежные ссылки</span> и активировать переключатель «Мультивалютный формат цены». Затем в выпадающем списке выбрать нужные валюты.

Теперь при создании платежных ссылок под суммой появится переключатель валюты отображения. Если вы выберете USD, то сумма отобразится в двойном формате, например, 100 USD (350 ILS).

Это не валюта платежа, а формат отображения суммы на странице оплаты. Транзакция пройдет в шекелях по текущему курсу и квитанция будет создана в шекелях. Источник курсов валют: Google Finance.

Курс валюты определяется в момент открытия клиентом страницы оплаты. Для подписок курс пересчитывается при каждом новом списании, поэтому сумма платежа может меняться в зависимости от актуального курса.

Если карта клиента в долларах, банк клиента самостоятельно произведет конвертацию в шекели по своему курсу. Вы получите полную сумму платежа в шекелях.

Если необходимо, чтобы оплата поступала в валюте, а не в шекелях, читайте статью Прием платежей в валюте.‍

Нехватает валюты?

Если в списке нет нужной валюты, напишите в поддержку.

Интеграции

В запросе на оплату, который поступает с вашего сайта, содержатся два параметра: валюта и сумма платежа. Например, если валюта — RUB, на кнопке оплаты будет отображаться сумма в двух валютах: рублях и шекелях. Система сконвертирует рубли в шекели и спишет с карты клиента сумму в шекелях.

Читать далее
Платежные ссылки

Платежная система для амуты (НКО)

Мы помогаем амуте подключить платежную систему для приема пожертвований.

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

Документы, необходимые для подключения платежей

  1. Удостоверение личности (תעודת זהות) учредителя или директора.
  2. Свидетельство о регистрации амуты (תעודה לרישומה של עמותה).
  3. Справка с реквизитами банковского счета (אישור ניהול חשבון בנק).
  4. Протокол со списком лиц, имеющих право подписи (פרוטוקול מורשי חתימה). Должен быть заверен адвокатом. Скачать пример.
  5. Свидетельство о надлежащем управлении (אישור ניהול תקין) или подтверждение подачи документов, подписанное бухгалтером (אישור הגשת מסמכים).
Свидетельство о надлежащем управлении подтверждает законность и неперывность деятельности амуты в течении двух лет. А «подтверждение подачи документов» — это собой своего рода временное «свидетельство о надлежащем управлении».

Шаги регистрации

  1. Убедитесь, что сайт амуты соответствует требованиям.
  2. Заполните форму регистрации.
  3. В течение 24 часов менеджер Allpay свяжется с вами для уточнения необходимых документов.
  4. Если все порядке, в течение 48 часов вы получите одобрение и сможете начать принимать платежи.

Технические возможности

Allpay позволяет НКО удобно принимать пожертвования онлайн. Вы можете:

  • создавать платежные ссылки, в том числе с полем для ввода суммы, где жертвователь сам указывает размер взноса;
  • автоматически создавать документы типа кабала (קבלה) и кабала аль трума (קבלה על תרומה) в соответствии с требованиями закона, введенными в 2026 году;
  • принимать автоматические ежемесячные пожертвования (подписки);
  • встраивать форму оплаты на ваш сайт;
  • принимать платежи через Bit, Apple Pay и Google Pay;
  • и другие возможности системы Allpay.
Читать далее
Регистрация

Выплаты

Выплата — это перевод на ваш банковский счет сумм по принятым платежам за вычетом комиссии.

Выплаты прозводятся автоматически раз в месяц каждого 6 числа. В выплату включаются платежи, полученные в предыдущем месяце.

Обычно требуется до трех рабочих дней, чтобы выплата отразилась на вашем банковском счете.

Минимальная сумма выплаты — 100 ILS, USD или EUR.

Платежи в рассрочку выплачиваются раз в месяц по мере списания средств с карты клиента.

Время обработки платежа

После того как клиент совершает платёж, он обрабатывается в течение 3–7 рабочих дней. После обработки платежу назначается дата выплаты — это 6-е число следующего месяца.

Например, если платёж был обработан 25 августа, он будет выплачен 6 сентября. Если платёж обработан 2 сентября, то дата выплаты назначается на 6 октября.

Таким образом, возможна ситуация, когда платёж сделан в конце месяца, но обработан уже в следующем. В этом случае он попадёт в выплату ещё через месяц. Например, платёж от 30 августа может быть обработан 2 сентября и тогда будет выплачен только 6 октября.

Дату выплаты каждого платежа можно посмотреть в его свойствах, нажав кнопку «Детали».

Ручные выплаты

Автоматическую выплату можно отключить. В этом случае баланс выплат будет пополняться каждого 6 числа, и накопленная сумма будет ждать, пока вы запросите ее вручную.

Доступные режимы:

1) Автоматически 6 числа. Каждого 6 числа будет автоматически инициирована выплата средств, доступных на балансе на этот день.

2) Автоматически по достижению N суммы. Каждого 6 числа баланс будет пополняться и выплатится, когда сумма достигнет указанного значения. Если установить сумму N = 5000 можно избежать оплаты комиссии за выплату до 5000 шек.

3) Выводить средства вручную. Каждого 6 числа баланс будет пополняться и ждать, когда вы нажмете на кнопку запроса выплаты.

Комиссия

С выплат на сумму менее 5000 шек кредитная организация взимает комиссию в размере 14.9 шек + НДС.

Чтобы уменьшить расходы, можно настроить выплаты так, чтобы они проводились только после накопления 5000 шек на балансе выплат.

Уведомления

Уведомления о выплатах можно получать на e-mail и в Телеграм. Настраиваются они в разделе <span class="u-richtext-element">Настройки</span> ➙ <span class="u-richtext-element">Уведомления.</span>

Счет для выплат

Выплаты переводятся только на банковский счёт бизнеса, указанный при регистрации. Проверить его можно в настройках.

Для смены счёта нужно предоставить банковскую справку с реквизитами нового счёта.

Возвраты

Если в течение месяца вы делали возвраты клиентам, они будут автоматически вычтены из ближайшей выплаты.

Разбивка и документы

Каждого 11-го числа в истории выплат появляется запись с двумя документами:

  1. Разбивка по всем платежам за предыдущий месяц с указанием комиссий.
  2. Квитанция за комиссию, подходящая для бухгалтерской отчётности

Читайте также: «Где скачать квитанцию за комиссию платёжной системы».

Еженедельные выплаты

О возможности получать выплаты чаще, чем раз в месяц, читайте в статье: «Еженедельные выплаты».

Читать далее
Выплаты
Популярные

Bit

Чтобы кнопка оплаты через Bit появилась на ваших платежных страницах, активируйте модуль Bit в разделе <span class="u-richtext-element">Настройки</span> ➙ <span class="u-richtext-element">Модули</span> ➙ <span class="u-richtext-element">Bit</span>.

Оплата через Bit возможна только с мобильного устройства, на котором установлено приложение Bit. При оплате с компьютера система отобразит QR-код для сканирования и перехода на оплату с мобильного устройства.

Платежи, полученные через Bit, зачисляются на банковский счет бизнеса вместе с выплатой точно так же, как и другие платежи.

Кнопка Bit для зарубежных клиентов

Так как Bit — израильская система, мы даем возможность скрывать кнопку Bit для клиентов, которые платят из-за границы. Геолокацию клиента система определяет по его IP.

Соответствующий переключатель можно найти в настройках модуля.

Ограничения

Не платит с баланса. Списание происходит с карты, прикрепленной к Bit. Если карта имеет недостаточный баланс — платеж не пройдет. Если карта не прикреплена, вместо кнопки оплаты Bit покажет кнопку прикрпления карты. Если клиент не прикрепит карту и бросит оплату транзакция получит ошибку "Запрос отклонен клиентом" или "Запрос истек".

До 5000 ILS. Платеж через Bit не может превышать 5000 шекелей. Сумма всех платежей в месяц от всех клиентов не может превышать 20 000 шекелей.

ILS. Bit поддерживает только оплату в шекелях.

Нет рассрочки. Через Bit можно оплатить только одним платежом.

Нет подписок. Bit не позволяет сохранять карту клиента для последующих списаний, поэтому мы скрываем кнопку Бита для платежных ссылок типа «Подписка».

9 минут. С момента нажатия на кнопку Bit у клиента есть 9 минут, чтобы совершить платеж.

Diners. Карты брендов Diners и Discover не поддерживаются Bit.

Имя и е-мейл

Bit не передает нам имя и e-mail плательщика, поэтому мы запрашиваем их самостоятельно при совершении платежа.

Поле e-mail является опциональным, и если не заполнено клиентом, подтверждение платежа не будет отправлено. Поле можно сделать обязательным в настройках модуля Bit.

Интеграции

Для платежных интеграций из нашего каталога кнопка Bit будет показана на странице оплаты, если модуль Bit активирован, и скрыта, если нет.

API

Разработчики, осуществляющие интеграцию по документации, могут управлять отображением кнопки Bit на странице оплаты, задействуя параметр <span class="u-richtext-element">show_bit</span>. Однако сперва модуль Bit должен быть активирован через личный кабинет Allpay.

Bit не поддерживает тестовые платежи, поэтому мы деактивируем кнопку Bit, если для интеграции включен тестовый режим.

Читать далее
Платежные ссылки
Методы оплаты

Как интегрировать вашу платформу с Allpay

Разработчики платформ, которым требуется платежное решение, могут интегрироваться с Allpay.

Эта модель подходит платформам, которые хотят добавить Allpay как платежный метод и быть представлены в каталоге интеграций Allpay. Она не предполагает партнерских выплат и строится на взаимном продвижении (другие модели партнерства).

Такая интеграция станет доступна клиентам Allpay как готовый способ подключения вашей платформы.

Требования

Чтобы ваша платформа была добавлена в каталог интеграций Allpay, должны быть соблюдены следующие условия:

  1. Вы не участвуете в партнерской или реферальной программе Allpay.
    ‍
    Такая интеграция строится на принципе взаимного продвижения.
  2. Интеграция должна быть предварительно согласована с Allpay.
    ‍
    Ваша платформа должна быть востребована в Израиле и уже использоваться реальными клиентами.
  3. Вы готовы поддерживать интеграцию на постоянной основе.
    Вы обеспечиваете работоспособность интеграции и клиентскую поддержку со своей стороны.

Как начать

Чтобы согласовать интеграцию вашей платформы, напишите в поддержку Allpay и кратко опишите:

  • вашу платформу;
  • кто ваши клиенты;
  • как именно вы хотите использовать платежи Allpay;
  • какой способ интеграции планируете: ручной или автоматизированный;
  • есть ли уже клиенты, которым требуется такая интеграция.

Способы интеграции

Интеграция с Allpay может быть реализована двумя способами:

  • ручная интеграция;
  • автоматизированная интеграция.

Ручная интеграция

При ручной интеграции вы реализуете подключение на своей стороне и размещаете на своем сайте инструкцию для клиентов.

Клиенту потребуется:

  1. Открыть раздел интеграций в кабинете Allpay.
  2. Создать API-ключи.
  3. Скопировать ключи и вставить в настройках вашей платформы.

Техническое участие Allpay для такой интеграции обычно не требуется. После реализации пришлите нам информацию о вашей платформе и ссылку на инструкцию по подключению Allpay на вашем сайте.

После проверки с согласования ваша платформа будет добавлена в каталог интеграций Allpay.

Автоматизированная интеграция

Автоматизированная интеграция позволяет подключить платформу без ручного копирования API-ключей. Пользователь нажимает кнопку подключения в кабинете Allpay, подтверждает связку на стороне вашей платформы, а API-ключи передаются автоматически.

Перед началом реализации Allpay выдает вашей платформе:

<span class="u-richtext-element">partner_id</span> — индивидуальный номер интеграции;

<span class="u-richtext-element">secret_key</span> — секретный ключ для подписи и проверки серверных запросов.

<span class="u-richtext-counter">1</span>Переход из Allpay на страницу вашей платформы

Пользователь открывает в кабинете Allpay раздел<span class="u-richtext-element">Настройки</span> → <span class="u-richtext-element"> Интеграции</span> → <span class="u-richtext-element"> Ваша платформа</span> и нажимает кнопку подключения.

Allpay генерирует одноразовый токен для связки аккаунтов и перенаправляет пользователя на страницу подтверждения на стороне вашей платформы, например:

https://your-platform.com/connect?token=TOKEN

Где <span class="u-richtext-element">TOKEN</span> — одноразовый токен, созданный Allpay.

Стандартный срок действия токена — 1 час.

<span class="u-richtext-counter">2</span>Подтверждение подключения на стороне вашей платформы

На вашей стороне пользователь подтверждает подключение под своим аккаунтом.

После подтверждения ваша платформа перенаправляет пользователя обратно на универсальный endpoint Allpay:

https://allpay.to/services/endpoints/exchange.php?act=connect&partner_id=PARTNER_ID&token=TOKEN&external_uid=USER_ID&display_name=DISPLAY_NAME

Где:

<span class="u-richtext-element">act=connect</span> — действие подключения интеграции;

<span class="u-richtext-element">partner_id</span> — индивидуальный номер интеграции;

<span class="u-richtext-element">token</span> — одноразовый токен, созданный Allpay;

<span class="u-richtext-element">external_uid</span> — внутренний идентификатор пользователя на вашей платформе.

<span class="u-richtext-element">display_name</span> — человекочитаемое название подключаемого аккаунта (например, логин, имя или поддомен на вашей платформе). Это значение отображается в личном кабинете Allpay в списке интеграций — передавайте то, что пользователь узнает, а не внутренний технический идентификатор. Значение должно быть закодировано через URL-encoding, максимум 255 символов.

<span class="u-richtext-counter">3</span>Создание и передача API-ключей на вашу платформу

После проверки токена, Allpay связывает пользователя Allpay с пользователем вашей платформы, создает или находит API-ключи <span class="u-richtext-element">api_login</span> и <span class="u-richtext-element">api_key</span>, а затем отправляет их на ваш endpoint.

Пример endpoint на стороне вашей платформы:

POST https://your-platform.com/allpay/partner/exchange

Тело запроса, который посылает Allpay:

{  
  "external_uid": "USER_ID",  
  "api_login": "API_LOGIN",  
  "api_key": "API_KEY",  
  "sign": "SIGNATURE"
}

Где:

<span class="u-richtext-element">external_uid</span> — идентификатор пользователя на вашей платформе;

<span class="u-richtext-element">api_login</span> — API login пользователя Allpay;

<span class="u-richtext-element">api_key</span> — API key пользователя Allpay;

<span class="u-richtext-element">sign</span> — подпись запроса.

<span class="u-richtext-counter">4</span>Подпись запроса

Серверный запрос с API-ключами подписывается с помощью HMAC SHA-256.

Формат подписи:

hash_hmac('sha256', $payload_json, $secret_key);

Где:

<span class="u-richtext-element">payload_json</span> — JSON-тело запроса;

<span class="u-richtext-element">secret_key</span> — индивидуальный секретный ключ.

<span class="u-richtext-counter">5</span>Ответ вашей платформы

После успешного получения и сохранения ключей ваша платформа должна вернуть успешный ответ, например:

{  
"ok": true
}

После этого Allpay отмечает интеграцию как активную.

Отключение интеграции

Если пользователь отключает интеграцию на стороне вашей платформы, вы должны удалить сохраненные API-ключи у себя.

Дополнительно ваша платформа должна отправить в Allpay POST-запрос на отключение интеграции:

POST https://allpay.to/services/endpoints/exchange.php?act=disconnect&partner_id=PARTNER_ID

Тело запроса:

{  
  "external_uid": "USER_ID",  
  "sign": "SIGNATURE"
}

Где:

<span class="u-richtext-element">external_uid</span> — идентификатор пользователя на вашей платформе;

<span class="u-richtext-element">sign</span> — подпись запроса.

Запрос на отключение также подписывается с помощью <span class="u-richtext-element">secret_key</span>.

Если пользователь отключает интеграцию из кабинета Allpay, Allpay может отправить уведомление об отключении на endpoint вашей платформы. Для получения такого уведомления предоставьте endpoint на вашей стороне.

Подключение по ссылке из вашего кабинета

Подключение можно начать и на вашей стороне, а не из кабинета Allpay. Вы формируете подписанную ссылку и показываете её пользователю (кнопка в вашем кабинете):

https://allpay.to/services/endpoints/exchange.php?partner_id=<ваш id>&show=start&external_uid=<…>&state=<…>&display_name=<…>&expires=<unix>&return_url=<…>&sign=<…>

Пользователь подтверждает подключение в Allpay, Allpay отправляет ключи на ваш <span class="u-richtext-element">keys_url</span>, после чего пользователь возвращается на ваш <span class="u-richtext-element">return_url</span>.

Параметры ссылки

<span class="u-richtext-element">partner_id</span> — ваш идентификатор партнёра;

<span class="u-richtext-element">show</span> — всегда <span class="u-richtext-element">start</span>, в подписи не участвует;

<span class="u-richtext-element">external_uid</span> — идентификатор того, что подключается, на вашей платформе (например, id филиала), до 255 символов. Ссылка с более длинным значением отклоняется;

<span class="u-richtext-element">state</span> — любое значение, которое вы генерируете для этой ссылки, до 500 символов (более длинное значение обрезается). Сохраните его у себя вместе с пользователем, который запросил ссылку, и <span class="u-richtext-element">external_uid</span>. Мы вернём его в запросе на <span class="u-richtext-element">keys_url</span> и в перенаправлении на <span class="u-richtext-element">return_url</span>;

<span class="u-richtext-element">display_name</span> — что подключается (например, название филиала), до 255 символов. Необязательный параметр, но мы рекомендуем его передавать: он показывается пользователю на экране подтверждения в Allpay и в кабинете Allpay;

<span class="u-richtext-element">expires</span> — unix-время, до которого действует ссылка. Не позже чем через 30 дней от текущего момента, ссылка с более далёким сроком отклоняется;

<span class="u-richtext-element">return_url</span> — обязательный параметр; адрес, куда вернуть пользователя после успешного подключения. Только <span class="u-richtext-element">https</span>, хост должен точно совпадать с хостом вашего <span class="u-richtext-element">connect_url</span> (поддомены не подходят). Ссылка без допустимого <span class="u-richtext-element">return_url</span> отклоняется;

<span class="u-richtext-element">sign</span> — подпись ссылки. Считается по тем же правилам, что и для запросов к API. Подписываются все параметры, кроме <span class="u-richtext-element">show</span> и <span class="u-richtext-element">sign</span>.

Что происходит дальше

  1. Пользователь открывает ссылку и входит в Allpay, если ещё не вошёл.
  2. На экране Allpay он видит, какой аккаунт Allpay подключается (<span class="u-richtext-element">display_name</span>), и нажимает «Подключить».
  3. Allpay отправляет ключи на ваш <span class="u-richtext-element">keys_url</span> POST-запросом в формате JSON. В заголовке <span class="u-richtext-element">X-Allpay-Signature</span> передаётся HMAC-SHA256 исходного тела запроса, подписанный вашим <span class="u-richtext-element">partner_secret</span>. Поля тела запроса:

    <span class="u-richtext-element">external_uid</span> — из ссылки;

    <span class="u-richtext-element">state</span> — из ссылки (если вы его передали);

    <span class="u-richtext-element">api_login</span>, <span class="u-richtext-element">api_key</span> — API-ключи;

    <span class="u-richtext-element">token</span> — внутреннее значение, его можно игнорировать.

    Ваш сервер должен ответить именно HTTP 200.
  4. Пользователь возвращается на <span class="u-richtext-element">return_url</span> с добавленным <span class="u-richtext-element">state</span> (если вы его передали): <span class="u-richtext-element">return_url?state=<state></span>, а если в <span class="u-richtext-element">return_url</span> уже есть параметры — <span class="u-richtext-element">&state=<state></span>.
Если ваш <span class="u-richtext-element">keys_url</span> не ответил HTTP 200, подключение не выполняется, пользователь видит ошибку в Allpay, а ту же ссылку можно открыть ещё раз.

Проверьте пользователя на своей стороне

Ссылка не привязана к конкретной компании Allpay: подтвердить её может любой, кто откроет её и войдёт в Allpay.

Ключи приходят на ваш <span class="u-richtext-element">keys_url</span> раньше, чем пользователь возвращается к вам, поэтому не активируйте их сразу:

  • когда придут ключи, найдите ссылку по <span class="u-richtext-element">state</span> и проверьте, что <span class="u-richtext-element">external_uid</span> совпадает;
  • на <span class="u-richtext-element">return_url</span> потребуйте, чтобы пользователь был авторизован в вашем кабинете. Если нет, отправьте его на вход и затем обратно;
  • проверьте, что этот <span class="u-richtext-element">state</span> выдан именно тому пользователю, который сейчас авторизован, что срок его действия не истёк и что у пользователя есть права на этот <span class="u-richtext-element">external_uid</span>. Если все проверки пройдены, активируйте ключи и пометьте <span class="u-richtext-element">state</span> использованным.

Эта проверка не защищает от случая, когда ваш пользователь подключает не тот аккаунт Allpay, например войдя под другой компанией. Если для вас это важно, покажите пользователю, какое именно подключение выполнено, до активации ключей.

Важно

Ссылка одноразовая. После успешного подключения по ней повторное открытие отклоняется, даже если подключение потом отключили. Для каждой попытки подключения формируйте новую ссылку, с новым <span class="u-richtext-element">state</span>: ссылки с полностью совпадающими параметрами (включая <span class="u-richtext-element">expires</span>) для Allpay считаются одной и той же ссылкой.

Существующее подключение никогда не заменяется. Подключение отклоняется, если:

  • у компании Allpay уже есть подключение к вашей платформе, в том числе приостановленное;
  • этот <span class="u-richtext-element">external_uid</span> уже подключён к любому аккаунту Allpay.

Чтобы подключить другой аккаунт, сначала отключите текущее подключение: в кабинете Allpay или запросом <span class="u-richtext-element">act=disconnect</span> с вашей стороны. Приостановленное подключение через <span class="u-richtext-element">act=disconnect</span> отключить нельзя, только в кабинете Allpay.

Открывайте и подтверждайте ссылку в одном браузере. Новая ссылка вашей платформы, открытая в той же сессии, заменяет предыдущую.

Требования безопасности

При автоматизированной интеграции необходимо соблюдать следующие требования:

  1. Передача только по HTTPS
    Все запросы между Allpay и вашей платформой должны выполняться только по HTTPS.
  2. Безопасное хранение ключей
    ‍
    Полученные <span class="u-richtext-element">api_login</span> и <span class="u-richtext-element">api_key</span> должны храниться на вашей стороне в защищенном виде.
  3. Подпись серверных запросов
    ‍
    Серверные запросы должны подписываться с помощью <span class="u-richtext-element">secret_key</span>.

<span id="info">Информация для каталога интеграций</span>

После того как техническая часть завершена и интеграция работает, пришлите следующую информацию для добавления вашей платформы в каталог интеграций Allpay:

  • логотип платформы в формате SVG;
  • краткое описание платформы до 200 символов;
  • расширенное описание платформы до 360 символов;
  • контакты для технической поддержки интеграции: email и WhatsApp или Telegram;
  • информацию о том, поддерживает ли ваша интеграция рассрочку, рекуррентные платежи и возвраты платежей;
  • ссылку на инструкцию по подключению Allpay на вашем сайте.

Рекомендации по брендингу Allpay

Используйте корректное написание бренда:

  • правильно: Allpay;
  • неправильно: AllPay, All Pay, allpay.

Используйте официальный логотип Allpay.

Читать далее
Интеграции
API

Транзакция J5: ударжание суммы на карте для последующего списания

Транзакция J5 — это процесс оплаты, состоящий из двух этапов, который начинается с предварительной авторизации. На первом этапе указанная сумма резервируется на карте покупателя сроком до 168 часов (7 дней), без фактического списания средств.

Чтобы получить зарезервированные средства, продавец должен инициировать списание (charge) в течение этого периода и в рамках зарезервированной суммы. Если списание сделано на меньшую сумму, оставшаяся сумма автоматически высвобождается.

Термин «J5» используется в израильских платёжных системах как внутренний код для обозначения этого типа транзакций.

Примеры применения

Доставка — сумма резервируется при оформлении заказа, списание происходит после успешной доставки.

Меняющаяся сумма — заказ весовых товаров (мясо, фрукты, овощи), когда итоговая сумма известна только после взвешивания.

Pay as you go — клиент пользуется сервисом в рамках лимита, и итоговая сумма определяется после окончания использования.

Аренда авто и отели — сумма резервируется для обеспечения возможных компенсаций за повреждения или дополнительные расходы.

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

Ограничения

Сумма списания не должна превышать зарезервированную сумму.

Списание можно выполнить только один раз. Повторные попытки списания или попытки списания после истечения 168 часов приведут к ошибке.

Методы оплаты

Поддерживаются как израильские, так и зарубежные кредитные и дебетовые карты.

Методы быстрой оплаты, такие как Apple Pay, Google Pay и Bit не поддерживаются. Поэтому кнопки быстрой оплаты будут скрыты на странице авторизации платежа.

Важно знать

Авторизация может выглядеть для клиента как фактическая оплата: некоторые кредитные компании отправляют SMS в том же формате, что и при списании средств. При этом в личном кабинете такая транзакция обычно отмечена как «Сумма не финальная» или аналогичной формулировкой.

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

Как пользоваться

Функционал J5 доступен для разработчиков через API-интерфейс Allpay. Открыть документацию API.

‍Демонстрация

Читать далее
API

Управление валютой по API и список поддерживаемых валют

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

Например, для клиентов из Канады цену можно отображать в CAD, а списание выполнять в ILS, чтобы средства зачислялись на банковский счет без дополнительной конвертации.

В таком сценарии на странице оплаты клиент увидит сумму сразу в двух валютах, например: <span class="u-richtext-element">100 CAD (226 ILS)</span>. Фактическое списание произойдет в шекелях (ILS).

Такой формат позволяет:

  • показать клиенту цену в привычной ему валюте;
  • заранее объяснить, в какой валюте произойдет списание;
  • избежать вопросов при просмотре банковской выписки.
Курсы валют берутся из Google Finance на момент открытия страницы оплаты.

Валюта платежа

Валюта платежа (необязательный параметр <span class="u-richtext-element">currency_payment</span>) — это валюта, в которой происходит фактическое списание с карты клиента и зачисление средств на счет бизнеса.

Валюта карты клиента не имеет значения — после списания банк клиента самостоятельно конвертирует сумму по своему курсу, если карта номинирована в другой валюте.

По умолчанию после регистрации в Allpay доступна одна валюта платежа — ILS. Валюты USD и EUR можно подключить дополнительно согласно инструкции.

Поддерживаемые валюты платежа

Euro — EUR

Israeli new shekel — ILS

United States dollar — USD

Валюта отображения

Валюта отображения (обязательный параметр <span class="u-richtext-element">currency_display</span>) — это валюта, в которой цена отображается клиенту на странице оплаты.

Всегда передавайте этот параметр, даже если валюта отображения совпадает с валютой платежа.
  • цена товара в параметре <span class="u-richtext-element">price</span> обязательно должна быть указан в валюте отображения;
  • Allpay автоматически конвертирует сумму из <span class="u-richtext-element">currency_display</span> в <span class="u-richtext-element">currency_payment</span> по курсу Google Finance.
  • списание всегда происходит в валюте платежа — <span class="u-richtext-element">currency_payment</span>, если она не передана или не поддерживается, то в ILS.
  • Если валюта отображения и валюта платежа были разные, то в webhook вернется параметр <span class="u-richtext-element">currency_course</span> с примененным курсом конвертации.

Например, клиенту из Европы можно показать цену в EUR, а списать в ILS. Клиенту из Канады показать цену в CAD, а списать в USD.

Поддерживаемые валюты отображения

Australian dollar — AUD

Azerbaijani manat — AZN

Canadian dollar — CAD

Chinese Yuan — CNY

Euro — EUR

Georgian lari — GEL

Japanese yen — JPY

Israeli new shekel — ILS

Kazakhstani tenge — KZT

Norwegian krone — NOK

Pound sterling — GBP

Russian ruble — RUB

Thai baht — THB

Ugandan shilling — UGX

United Arab Emirates dirham — AED

United States dollar — USD

Ukrainian hryvnia — UAH

Если нужной валюты нет в списке — напишите в поддержку.

Примеры использования <span class="u-richtext-element">currency_display</span> в API-запросах

Всегда передавайте параметр <span class="u-richtext-element">currency_display</span>, даже если он совпадает с параметром <span class="u-richtext-element">currency_payment</span>.

Пример 1

{  
  "items": [
    {
      "name": "Product name",
      "price": "100",
      "qty": "1",
      "vat": "0"
    }
  ],
  "currency_display": "CAD",
  "currency_payment": "USD"  
  }

100 CAD будут сконвертированы в USD и списаны с карты клиента. На момент написания справки 100 CAD = 72 USD → будет списано 72 USD.

Если для аккаунта не разрешена работа с USD, система автоматически сконвертирует сумму в ILS (валюта по умолчанию).

Пример 2

{  
  "items": [
    {
      "name": "Product name",
      "price": "100",
      "qty": "1",
      "vat": "0"
    }
  ],  
  "currency_display": "CAD"
  }

Так как параметр <span class="u-richtext-element">currency_payment</span> не передан, 100 CAD будут сконвертированы в ILS (валюта по умолчанию), и списание произойдет в ILS.

Пример 3

{  
  "items": [
    {
      "name": "Product name",
      "price": "100",
      "qty": "1",
      "vat": "0"
    }
  ],  
  "currency_payment": "USD"
  }

API вернет ошибку, так как параметр <span class="u-richtext-element">currency_display</span> не передан.

Для тестирования различных комбинаций валют используйте Allpay API tester.
Читать далее
API
Travolta confused - no search results
Куда все подевались?
Подпишитесь на важные обновления (без рекламы)
Подписаться
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Ответы на вопросы

Найдено 100 из 200
Text Link

Как часто происходят выплаты?

Платежи за месяц выплачиваются 6 числа следующего месяца. Также доступна опция еженедельных выплат. Больше информации о выплатах.

Text Link

Есть ли доп.комиссия за платежи через Bit, Google Pay и Apple Pay?

Нет. Комиссия для платежей через Bit, Google Pay и Apple Pay такая же, как для обычныз карточных платежей.

Text Link

Можно ли подключить Allpay к сайту, созданному с помощью AI?

Да. Так же, как вы создали сайт, вы можете попросить AI внедрить платежи через Allpay. Смотрите рекомендации и примеры промптов.

Text Link

Можно дать доступ к Allpay моему бухгалтеру или разработчику?

Да, в разделе Настройки → Команда. Он сможет работать вашем аккаунте Allpay, используя свой контакт для входа. Подробнее.

Text Link

За платежные ссылки взимается дополнительная плата?

Нет. Платежные ссылки и интеграция платежей на сайт — наши основные услуги, которые включены в тариф и доступны сразу после регистрации.

Text Link

У вас есть вебхуки (webhooks)?

Да, Allpay может посылать webhook об успешном платеже. Читать подробнее.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Travolta confused - no search results
No results found.

Начните принимать платежи

Подключите канал продаж для вашего бизнеса уже сегодня.
Бесплатное подключение
7-дневный пробный период
Отмена в любое время
Подключить

Интеграции

Подключение интернет-магазинов, CMS и AI-инструментов без ограничений, включая ChatGPT и Claude.

Валюты

Платежи в шекелях, долларах и евро без конвертации и в любой другой валюте с зачислением в шекелях.

Рекуррентные платежи

Управление подписками: повторяющиеся списания с карты клиента.

Разбивка на платежи

Разбивка суммы на ежемесячные платежи, которые будет списываться с карты клиента автоматически (ташлумим).