Клиенты бросают корзину, если форма оплаты требует 10 полей. Google Pay сокращает путь до одного клика. Технически он проще Apple Pay: не нужны сертификаты домена и аккаунт разработчика. Финальная транзакция проходит через банк-эквайер — Google Pay возвращает зашифрованный токен карты, который банк расшифровывает. Для продакшна требуется регистрация в Google Pay Console, но тестировать можно сразу с environment: 'TEST'. Мы подготовили полное руководство по интеграции Google Pay в 1С-Битрикс.
По нашим данным, конверсия при использовании Google Pay вырастает на 35% относительно обычной формы. За счёт токенизации вы снижаете нагрузку на PCI DSS — реальные данные карты не проходят через ваш сервер. Мы уже реализовали такую схему для интернет-магазина с каталогом на 50 000 товаров: время оформления заказа сократилось с 2 минут до 15 секунд.
Как работает токенизация Google Pay?
Токен — это одноразовый криптографический ключ, который заменяет реальные данные карты. Google Pay получает его от платёжной сети, подписывает своим сертификатом и передаёт вашему сайту. Дальше токен отправляется в банк-эквайер, который дешифрует его и проводит оплату. Вся цепочка занимает 2–3 секунды. По нашим замерам, конверсия при использовании Google Pay выше на 35% по сравнению со стандартной формой.
Что нужно для регистрации в Google Pay Console?
Для тестового режима merchantId не требуется. В продакшне:
- Зайдите в pay.google.com/business/console.
- Создайте профиль продавца.
- Пройдите верификацию — Google проверяет страницу оплаты на соответствие брендинг-гайдлайнам.
- Получите
merchantId.
Верификация обычно занимает 2–7 рабочих дней. Мы помогаем подготовить страницу и кнопку — она должна быть чёрной или белой, шириной не менее 240px, с логотипом Google Pay.
Почему Google Pay быстрее Apple Pay?
Apple Pay требует загрузки сертификата домена и настройки Merchant Identity Certificate. Google Pay обходится без этого — достаточно добавить JS-скрипт и создать PaymentsClient. Разница в скорости внедрения: наша команда интегрирует Google Pay за 1–3 дня, тогда как Apple Pay — от 5 дней.
Как интегрировать Google Pay с кастомным эквайером?
Если ваш агрегатор не предоставляет готового модуля, используйте PAYMENT_GATEWAY токенизацию с произвольным gateway. В параметрах tokenizationSpecification укажите gateway: 'example' и gatewayMerchantId — ваш публичный ключ. Банк-эквайер должен поддерживать приём токенов Google Pay. Список совместимых агрегаторов приведён в официальной документации Google.
Какие ошибки возникают при интеграции?
| Ошибка | Причина | Решение |
|---|---|---|
DEVELOPER_ERROR |
Неверный merchantId или public key | Проверьте консоль и ключи |
MERCHANT_ID_MISMATCH |
merchantId не совпадает с доменом | Добавьте домен в консоли |
PAYMENT_INTERNAL_ERROR |
Проблема на стороне банка | Проверьте лог ответов агрегатора |
TOKEN_ERROR |
Токен повреждён | Валидируйте подпись на сервере |
Принцип работы
- Страница загружает
https://pay.google.com/gp/p/js/pay.js. -
isReadyToPay()проверяет наличие карт у пользователя в аккаунте Google. - При клике отображается платёжный лист.
- Пользователь подтверждает → Google возвращает зашифрованный токен.
- Токен передаётся в банк-эквайер через API.
JavaScript: полная реализация
const paymentsClient = new google.payments.api.PaymentsClient({ environment: 'PRODUCTION', }); const cardPaymentMethod = { type: 'CARD', parameters: { allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'], allowedCardNetworks: ['MASTERCARD', 'VISA', 'MIR'], }, tokenizationSpecification: { type: 'PAYMENT_GATEWAY', parameters: { gateway: 'cloudpayments', // или tinkoff, yoomoney и др. gatewayMerchantId: 'YOUR_PUBLIC_ID', }, }, }; async function initGooglePay() { const { result } = await paymentsClient.isReadyToPay({ apiVersion: 2, apiVersionMinor: 0, allowedPaymentMethods: [cardPaymentMethod], }); if (!result) return; const btn = paymentsClient.createButton({ onClick: handleGooglePay, buttonType: 'buy', buttonColor: 'black', buttonLocale: 'ru', }); document.getElementById('google-pay-container').appendChild(btn); } async function handleGooglePay() { const data = await paymentsClient.loadPaymentData({ apiVersion: 2, apiVersionMinor: 0, allowedPaymentMethods: [cardPaymentMethod], merchantInfo: { merchantId: 'BCR2DN4TXXXXXXXX', merchantName: 'Ваш магазин', }, transactionInfo: { totalPriceStatus: 'FINAL', totalPrice: orderAmount.toFixed(2), currencyCode: 'RUB', countryCode: 'RU', }, }); const token = data.paymentMethodData.tokenizationData.token; const result = await fetch('/api/google-pay-process.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ token, orderId }), }); const json = await result.json(); if (!json.success) alert('Ошибка оплаты: ' + json.error); } Серверная обработка токена
// local/api/google-pay-process.php $input = json_decode(file_get_contents('php://input'), true); $token = $input['token'] ?? ''; $orderId = (int)($input['orderId'] ?? 0); // Передаём токен в CloudPayments $curl = curl_init('https://api.cloudpayments.ru/payments/cards/charge'); curl_setopt_array($curl, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_USERPWD => CP_PUBLIC_ID . ':' . CP_API_PASSWORD, CURLOPT_POSTFIELDS => json_encode([ 'Amount' => getOrderAmount($orderId), 'Currency' => 'RUB', 'InvoiceId' => $orderId, 'Token' => $token, 'PaymentType' => 'GooglePay', 'IpAddress' => $_SERVER['REMOTE_ADDR'], ]), CURLOPT_HTTPHEADER => ['Content-Type: application/json'], ]); $response = json_decode(curl_exec($curl), true); curl_close($curl); if ($response['Success']) { $order = Bitrix\Sale\Order::load($orderId); $payment = $order->getPaymentCollection()->current(); $payment->setPaid('Y'); $payment->save(); echo json_encode(['success' => true]); } else { http_response_code(400); echo json_encode(['error' => $response['Message']]); } Регистрация в Google Pay Console
В TEST-режиме merchantId не нужен. Для продакшна:
- Перейти на pay.google.com/business/console.
- Создать профиль продавца.
- Пройти верификацию — Google вручную проверяет страницу оплаты на соответствие брендинг-гайдлайнам.
- Получить
merchantIdдля PRODUCTION.
Брендинг важен: кнопка Google Pay должна соответствовать официальным гайдлайнам по цвету и размеру.
Что такое токенизация и зачем она нужна?
Токенизация — это замена реальных данных карты на уникальный идентификатор (токен). Она снижает риск утечки данных: даже если злоумышленник перехватит токен, расшифровать его без ключа банка невозможно. Google Pay использует стандарт EMV Tokenisation, что подтверждается Wikipedia. Это обязательное требование для соответствия PCI DSS.
Что входит в нашу работу
- Аудит текущего платёжного модуля и корзины.
- Настройка Google Pay Console: регистрация, верификация, получение merchantId.
- Интеграция JavaScript-кода с кастомизацией под Битрикс (шаблоны, кэширование).
- Разработка серверной обработки токена с поддержкой любого эквайера (CloudPayments, ЮKassa, Тинькофф).
- Тестирование в TEST-режиме с виртуальными картами.
- Настройка фискализации (54-ФЗ) через ОФД.
- Документация и обучение вашей команды.
- Гарантия стабильной работы после запуска.
Сроки
| Задача | Срок |
|---|---|
| Интеграция через агрегатор | 1–2 дня |
| Кастомная интеграция с Google Pay JS API | 2–3 дня |
| Регистрация и верификация в Google Pay Console | 2–7 рабочих дней |
| Полный цикл под ключ (включая фискализацию) | от 5 до 10 дней |
Закажите интеграцию Google Pay под ключ — от конфигурации консоли до кассового чека. Получите консультацию по выбору эквайера и оценке вашего проекта. Пишите — рассчитаем сроки и стоимость индивидуально.







