Объекты запросов

В Google Pay API есть несколько типов объектов, которые вы можете использовать на своем сайте. Чтобы отправлять запросы к Google Pay API, нужно настроить несколько объектов запросов. Для настройки объекта запроса нужно передать его методу класса в клиентской библиотеке Google Pay API.

PaymentOptions

Когда вы протестируете модуль интеграции и будете готовы получать платежи от покупателей, настройте объект PaymentOptions для рабочей среды.

Если вы включите в модуле интеграции динамическое обновление цен, обязательно добавьте поля MerchantInfo и PaymentDataCallbacks.

Ресурс Тип Обязательное Описание
environment Строка Нет
  • PRODUCTION: используется, чтобы показывать действительные способы оплаты, если для домена указан активный идентификатор продавца Google.
  • TEST: пробные способы оплаты, предназначенные для тестирования (по умолчанию).
MerchantInfo MerchantInfo Нет Этот объект содержит информацию о продавце, который запрашивает платежные данные.
paymentDataCallbacks PaymentDataCallbacks Нет Объект содержит обратные вызовы для динамического обновления цен.

Пример

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

{
  environment: "TEST",
  merchantInfo: {
    merchantName: "Example Merchant",
    merchantId: "12345678901234567890"
  },
  paymentDataCallbacks: {
    onPaymentDataChanged: onPaymentDataChanged,
    onPaymentAuthorized: onPaymentAuthorized
  }
}

IsReadyToPayRequest

В этом объекте указываются поддерживаемые способы оплаты.

Свойство Тип Обязательное Описание
apiVersion Число Да Основной номер версии API. В этой спецификации используется значение 2.
apiVersionMinor Число Да Дополнительный номер версии API. В этой спецификации используется значение 0.
allowedPaymentMethods PaymentMethod[] Да

Поддержка одного или нескольких способов оплаты из числа доступных в Google Pay API.

Для определения готовности пользователя к оплате значение tokenizationSpecification не требуется. Для каждого поддерживаемого способа оплаты, заданного в PaymentMethod, должны быть заданы все обязательные свойства parameters.

existingPaymentMethodRequired Логическое значение Нет

Если это свойство имеет значение true, то объект IsReadyToPayResponse содержит дополнительное свойство, описывающее готовность пользователя к оплате с помощью одного или нескольких способов, указанных в allowedPaymentMethods.

Пример

Ниже показано, как настроить поддержку платежных карт и токенов для устройств Android из всех доступных платежных систем.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "allowedPaymentMethods": [
    {
      "type": "CARD",
      "parameters": {
        "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
        "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
      }
    }
  ]
}

PaymentDataRequest

Этот объект содержит информацию о поддержке Google Pay API вашим сайтом.

Свойство Тип Обязательное Описание
apiVersion Число Да Основной номер версии API. Для этой спецификации используется значение 2.
apiVersionMinor Число Да Дополнительный номер версии API. Для этой спецификации используется значение 0.
merchantInfo MerchantInfo Да Информация о продавце, запрашивающем платежные данные.
allowedPaymentMethods PaymentMethod[] Да Поддержка одного или нескольких способов оплаты из числа доступных в Google Pay API.
transactionInfo TransactionInfo Да Информация о том, будет ли транзакция авторизована исходя из согласия пользователя на эту транзакцию. Итоговая цена и ее статус включены.
callbackIntents Строка [] Нет Намерение обратного вызова, заданного для функции PaymentDataCallbacks:
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
emailRequired Логическое значение Нет Установите значение true, если нужно запрашивать адрес электронной почты.
shippingAddressRequired Логическое значение Нет Установите значение true, если нужно запрашивать полный адрес доставки.
shippingAddressParameters ShippingAddressParameters Нет Ограничения, связанные с доставкой (если shippingAddressRequired имеет значение true).
shippingOptionRequired Логическое значение Нет Установите значение true, если используется намерение обратного вызова SHIPPING_OPTION. Поле является обязательным, если включена авторизация платежей или динамическое обновление цен. Подробнее…
shippingOptionParameters ShippingOptionParameters[] Нет Используются настройки по умолчанию.

Пример

В этом примере показано, как настроить поддержку платежных карт и токенов для устройств Android из всех доступных платежных систем. Токенизация карт выполняется через шлюз example. Запрос способа платежа осуществляется для выставления окончательного счета на сумму 12,34 доллара США.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "merchantInfo": {
    "merchantName": "Example Merchant"
  },
  "allowedPaymentMethods": [
    {
      "type": "CARD",
      "parameters": {
        "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
        "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
      },
      "tokenizationSpecification": {
        "type": "PAYMENT_GATEWAY",
        "parameters": {
          "gateway": "example",
          "gatewayMerchantId": "exampleGatewayMerchantId"
        }
      }
    }
  ],
  "transactionInfo": {
    "totalPriceStatus": "FINAL",
    "totalPrice": "12.34",
    "currencyCode": "USD"
  }
}

PaymentDataCallbacks

Если вы включите в модуле интеграции динамическое обновление цен, обязательно добавьте обратные вызовы onPaymentDataChanged и onPaymentAuthorized:

Ресурс Тип Обязательное Описание
onPaymentDataChanged Функция Нет Вызывается, если для объекта PaymentDataRequest заданы следующие значения callbackIntents:
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
onPaymentAuthorized Функция Да Вызывается, если для объекта PaymentDataRequest заданы следующие значения callbackIntents: PAYMENT_AUTHORIZATION

Пример

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

{
  onPaymentDataChanged: onPaymentDataChanged,
  onPaymentAuthorized: onPaymentAuthorized
}

PaymentDataRequestUpdate

Этот объект указывает на новую информацию о транзакциях, варианты доставки и ошибки, связанные со страницей оплаты.

Свойство Тип Обязательное Описание
newTransactionInfo TransactionInfo Нет Обновляет на странице оплаты информацию о транзакции.
newShippingOptionParameters ShippingOptionParameters Нет Обновляет на странице оплаты сведения о вариантах доставки.
error PaymentDataError Нет Добавляет на страницу оплаты сообщение об ошибке.

Пример

Ниже представлены все варианты запросов к Google Pay API об обновлении платежных данных.

{
  newTransactionInfo: {
   	displayItems: [
    {
      label: "Subtotal",
      type: "SUBTOTAL",
      price: "11.00",
    },
    {
      label: "Tax",
      type: "TAX",
      price: "1.00",
    }
  ],
  currencyCode: "USD",
  totalPriceStatus: "FINAL",
  totalPrice: "12.00",
  totalPriceLabel: "Total"
  },
  newShippingOptions: {
    defaultSelectedOptionId: "shipping-001",
    shippingOptions: [
      {
        "id": "shipping-001",
        "label": "Free: Standard shipping",
        "description": "Free Shipping delivered in 5 business days."
      }
    ]
  },
  error: {
    reason: "SHIPPING_ADDRESS_UNSERVICEABLE",
    message: "Cannot ship to the selected address",
    intent: "SHIPPING_ADDRESS"
  }
}

MerchantInfo

Этот объект содержит информацию о продавце, который запрашивает платежные данные.

Свойство Тип Обязательное Описание
merchantId Строка Да Идентификатор продавца Google, который выдается после регистрации в Google Pay Business Console. Указывается обязательно, если при инициализации PaymentsClient свойство environment имеет значение PRODUCTION. Подробнее о процедуре одобрения и получении идентификатора продавца Google рассказано в этой статье.
merchantName Строка Нет Название продавца в кодировке UTF-8. Оно отображается на странице оплаты. Если продавец не распознан, а также в среде TEST, на странице оплаты появляется сообщение Pay Unverified Merchant (Оплата неподтвержденному продавцу).
merchantOrigin Строка Нет

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

Пример

Ниже показан объект merchantInfo с именем merchantName.

merchantInfo: {
    merchantName: "Example Merchant",
}

PaymentMethod

В этом объекте задается один или несколько способов оплаты, поддерживаемых Google Pay API и доступных для вашего сайта.

Ресурс Тип Обязательное Описание
type Строка Да

Короткий идентификатор поддерживаемого способа оплаты. В настоящее время поддерживаются только значения CARD и PAYPAL.

parameters Объект Да Обязательные параметры указанного способа оплаты. Подробнее о допустимых значениях для способа оплаты CARD рассказано здесь. Также советуем прочитать информацию о допустимых значениях для PayPal: PAYPALParameters.
tokenizationSpecification PaymentMethodTokenizationSpecification Нет

Настройка аккаунта или поставщика механизма расшифровки для получения платежной информации.

Это свойство является обязательным для способа оплаты CARD.

Это свойство не действует, если оно является частью объекта IsReadyToPayRequest.

Карта

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

{
  "type": "CARD",
  "parameters": {
    "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
    "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
  },
  "tokenizationSpecification": {
    "type": "PAYMENT_GATEWAY",
    "parameters": {
      "gateway": "example",
      "gatewayMerchantId": "exampleGatewayMerchantId"
    }
  }
}
PayPal

Ниже показано, как представить PayPal в качестве допустимого способа оплаты.

{
  “type”: “PAYPAL”,
  parameters: {
  	"purchase_context": {
    	     "purchase_units": [{
        		"payee": {
          		      "merchant_id": "PAYPAL_ACCOUNT_ID"
                      	   }
       	       } ]
  	  }
    },
   “tokenizationSpecification”: {
	type: “DIRECT”  }
}

TokenizationSpecification

Этот объект позволяет настроить аккаунт, которому будет передаваться платежная информация для получения оплаты.

Свойство Тип Обязательное Описание
type Строка Да

Тип токенизации для способа оплаты, указанного в PaymentMethod. Для способа оплаты CARD используйте тип PAYMENT_GATEWAY или DIRECT. Для способа оплаты PAYPAL PaymentMethod используйте тип DIRECT без указания параметров.

parameters Объект Да Параметры, связанные с типом токенизации выбранного способа оплаты.

Шлюз

Если вы зададите для параметра PAYMENT_GATEWAY значение type, то сможете получать платежные данные и информацию о клиенте от платежного шлюза, использующего Google Pay API. При этом свойства parameters должны настраиваться согласно инструкциям шлюза. Как правило, они включают полученный от Google идентификатор шлюза и ваш идентификатор аккаунта шлюза.

В примере ниже показано, как получить данные от платежного шлюза:

"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "example",
    "gatewayMerchantId": "exampleGatewayMerchantId"
  }
}

В таблице ниже приведены конкретные значения "gateway": и "gatewayMerchantId": для поддерживаемого шлюза.

Шлюз Параметры и документы
ACI

  "gateway": "aciworldwide"
  "gatewayMerchantId": "YOUR_ENTITY_ID"

Документация для разработчиков

Adyen

  "gateway": "adyen"
  "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"

Документация для разработчиков

Альфа-Банк

  "gateway": "alfabank"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

АППЕКС

  "gateway": "epos"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Assist

  "gateway": "assist"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Платежные системы

  "gateway": "billingsystems"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Blue Media

  "gateway": "bluemedia"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

BlueSnap

  "gateway": "bluesnap"
  "gatewayMerchantId": "YOUR_shopToken"

Документация для разработчиков

Braintree

  "gateway": "braintree"
  "braintree:apiVersion": "v1"
  "braintree:sdkVersion": "braintree.client.VERSION"
  "braintree:merchantId": "YOUR_BRAINTREE_MERCHANT_ID"
  "braintree:clientKey": "YOUR_BRAINTREE_TOKENIZATION_KEY"

Документация для разработчиков

Braspag

  "gateway": "cielo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

CardConnect

  "gateway": "cardconnect"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Cathay United Bank

  "gateway": "cathaybk"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Merchant Services (Chase)

  "gateway": "chase"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Checkout.com

  "gateway": "checkoutltd"
  "gatewayMerchantId": "YOUR_PUBLIC_KEY"

Документация для разработчиков

CloudPayments

  "gateway": "cloudpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Computop

  "gateway": "computop"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

ConcordPay

  "gateway": "concordpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

CyberSource

  "gateway": "cybersource"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Datatrans

  "gateway": "datatrans"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

dLocal

  "gateway": "dlocal"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Dotpay

  "gateway": "dotpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

e-SiTef – Software Express

  "gateway": "softwareexpress"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

EasyPay

  "gateway": "easypay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

EBANX

  "gateway": "ebanx"
  "gatewayMerchantId": "YOUR_PUBLIC_INTEGRATION_KEY"

Документация для разработчиков

eCard

  "gateway": "ecard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

ECPay

  "gateway": "ecpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

eGHL

  "gateway": "eghl"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

eSafe

  "gateway": "esafe"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

Evo Payment Gateway

  "gateway": "evopaymentgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

Fat Zebra

  "gateway": "fatzebra"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

First Data (Payeezy)

  "gateway": "firstdata"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

FreedomPay

  "gateway": "freedompay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Gestpay

  "gateway": "gestpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Global One Pay

  "gateway": "globalonepay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

Global Payments

  "gateway": "globalpayments"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

GMO Payment Gateway

  "gateway": "gmopg"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

GoPay

  "gateway": "gopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

GP Webpay

  "gateway": "gpwebpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

HiTrust

  "gateway": "hitrustpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

iPay88

  "gateway": "ipay88"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

iQmetrix

  "gateway": "iqmetrixpaymentservicesgateway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

IXOPAY

  "gateway": "ixopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

JudoPay

  "gateway": "judopay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

Kassa

  "gateway": "kassacom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Kineox

  "gateway": "kineox"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

LogPay

  "gateway": "logpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Lyra

  "gateway": "lyra"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Mastercard Payment Gateway Services

  "gateway": "mpgs"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

МОБИ.Деньги

  "gateway": "mobimoney"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Molpay

  "gateway": "molpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

Moneris

  "gateway": "moneris"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Moneta

  "gateway": "moneta"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

Monext

  "gateway": "monext"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Деньги@Mail.Ru

  "gateway": "moneymailru"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

МультиКарта

  "gateway": "mulitcarta"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

MundiPagg

  "gateway": "mundipagg"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

MyCheck

  "gateway": "mycheck"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

MyPay

  "gateway": "mypay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

NewebPay (ранее STPath, Pay2Go)

  "gateway": "newebpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Nexi

  "gateway": "nexi"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

NMI

  "gateway": "creditcall"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Nuvei

  "gateway": "nuvei"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

PayFacto

  "gateway": "payfacto"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

paygent

  "gateway": "paygent"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

PayLane

  "gateway": "paylane"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Payler

  "gateway": "payler"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Paymark

  "gateway": "paymark"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Paymentwall

  "gateway": "paymentwall"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Paymo

  "gateway": "paymo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

PayOnline

  "gateway": "payonline"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Paysafe

  "gateway": "paysafe"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Payture

  "gateway": "payture"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

PayU

  "gateway": "payu"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

PayWay

  "gateway": "payway"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Platon

  "gateway": "platon"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Portmone

  "gateway": "portmonecom"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Przelewy24

  "gateway": "przelewy24"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Radial

  "gateway": "radial"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

RBK.money

  "gateway": "rbkmoney"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Redsys

  "gateway": "redsys"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Сбербанк

  "gateway": "sberbank"
  "gatewayMerchantId": "YOUR_ORGANIZATION_NAME"

Документация для разработчиков

sipay.ru

  "gateway": "sipay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

SoftBank Payment Service

  "gateway": "sbps"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Solid

  "gateway": "solid"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Sony Payment Services

  "gateway": "sonypaymentservices"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Spreedly

  "gateway": "spreedly"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Square

  "gateway": "square"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Stripe

  "gateway": "stripe"
  "stripe:version": "2018-10-31"
  "stripe:publishableKey": "YOUR_PUBLIC_STRIPE_KEY"

Документация для разработчиков

TapPay (Cherri Tech)

  "gateway": "tappay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Tatra banka (CardPay)

  "gateway": "tatrabanka"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков отсутствует

Тинькофф

  "gateway": "tinkoff"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

theMAP

  "gateway": "themap"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

TPay.com

  "gateway": "tpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Tranzzo

  "gateway": "tranzzo"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Uniteller

  "gateway": "uniteller"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Vantiv

  "gateway": "vantiv"
  "vantiv:merchantPayPageId": "YOUR_PAY_PAGE_ID"
  "vantiv:merchantOrderId": "YOUR_ORDER_ID"
  "vantiv:merchantTransactionId": "YOUR_TRANSACTION_ID"
  "vantiv:merchantReportGroup": "*web"

Документация для разработчиков

Veritrans

  "gateway": "veritrans"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Vindicia

  "gateway": "vindicia"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

WayForPay

  "gateway": "wayforpay"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Windcave

  "gateway": "windcave"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Wirecard

  "gateway": "wirecard"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Worldnet

  "gateway": "worldnet"
  "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"

Документация для разработчиков

Worldpay

  "gateway": "worldpay"
  "gatewayMerchantId": "YOUR_WORLDPAY_MERCHANT_ID"

Документация для разработчиков

Яндекс.Касса

  "gateway": "yandexcheckout"
  "gatewayMerchantId": "YOUR_SHOP_ID"

Документация для разработчиков

Прямая интеграция

Чтобы расшифровать ответ прямо на своих серверах, задайте для параметра DIRECT значение type.

Ресурс Тип Обязательное Описание
protocolVersion Строка Да Версия протокола шифрования/подписи, допустимая в ответе. В настоящее время поддерживается значение ECv2. Подробнее о доступных протоколах шифрования и подписи рассказывается в документе Криптография платежных данных.
publicKey Строка Да Открытый ключ на эллиптической кривой, закодированный по стандарту Base64. Более подробную информацию можно найти в документации о криптографии для продавцов, в разделе Формат открытого ключа шифрования.
Пример

В этом примере значение параметра publicKey сокращено для удобства чтения.

"tokenizationSpecification": {
  "type": "DIRECT",
  "parameters": {
    "protocolVersion": "ECv2",
    "publicKey": "BOdoXP1aiNp.....kh3JUhiSZKHYF2Y="
  }
}

CardParameters

Этот объект позволяет указать поддерживаемые типы карт. На основе приведенной в нем информации Google фильтрует доступные для покупателей типы карт.

Свойство Тип Обязательное Описание
allowedAuthMethods Строка [] Да

Поддерживаемые поля для аутентификации транзакций по карте:

  • PAN_ONLY – метод аутентификации для платежных карт, данные которых хранятся в аккаунте Google. Возвращает номер счета (PAN), а также месяц и год окончания срока действия.
  • CRYPTOGRAM_3DS – метод аутентификации для карт, данные которых хранятся в виде токенов для устройств Android. Возвращает криптограмму 3-D Secure (3DS), сгенерированную на устройстве.
allowedCardNetworks Строка Да

Одна или несколько из поддерживаемых вами платежных систем, доступных в Google Pay API.

  • AMEX
  • DISCOVER
  • INTERAC
  • JCB
  • MASTERCARD
  • VISA
allowPrepaidCards Логическое значение Нет Если предоплаченные карты не поддерживаются, установите значение false. По умолчанию предоплаченные карты поддерживаются для выбранных вами платежных систем.
allowCreditCards Логическое значение Необязательно (требуется только для продавцов из Великобритании, предлагающих услуги, связанные с азартными играми) Если кредитные карты не поддерживаются, установите значение false. По умолчанию такие карты доступны для выбранных вами платежных систем.
billingAddressRequired Логическое значение Нет Если указывать платежный адрес обязательно, установите значение true. Платежный адрес запрашивается, только если он требуется для обработки транзакции. Запрос дополнительных данных усложняет процедуру покупки и может привести к снижению коэффициента конверсии. Запрашивайте платежный адрес только в том случае, если он действительно необходим для совершения транзакции.
billingAddressParameters BillingAddressParameters Нет Поля, которые возвращаются, если для параметра billingAddressRequired выбрано значение true.

Пример

Ниже приведен пример кода, с помощью которого можно настроить поддержку всех доступных типов карт и методов аутентификации карты.

{
  "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
  "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
}

BillingAddressParameters

Этот объект позволяет задать дополнительные поля для запроса платежного адреса.

Свойство Тип Обязательное Описание
format Строка Нет

Формат платежного адреса для совершения транзакции:

  • MIN – имя, код страны и почтовый индекс (по умолчанию).
  • FULL – имя, почтовый адрес, населенный пункт, регион, код страны и почтовый индекс.
phoneNumberRequired Логическое значение Нет Если для обработки транзакции необходим номер телефона, установите значение true.

Пример

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

{
  "format": "MIN"
}

ShippingAddressParameters

Этот объект позволяет настроить ограничения для доставки.

Свойство Тип Обязательное Описание
allowedCountryCodes Строка [] Нет Значения кодов стран, в которые осуществляется доставка, в соответствии со стандартом ISO 3166-1 alpha-2. Если они не указаны, пользователь может вводить любой адрес доставки.
phoneNumberRequired Логическое значение Нет Если указывать номер телефона обязательно, установите значение true.

Пример

Ниже приведен запрос адреса доставки в США.

{
  "allowedCountryCodes": ["US"]
}

ShippingOptionParameters

Свойство Тип Обязательное Описание
shippingOptions SelectionOption Да Все варианты доставки, доступные для текущего запроса.
defaultSelectedOptionId Строка Нет Идентификатор варианта доставки, используемого по умолчанию. Если поле не заполнено, по умолчанию применяется вариант, указанный первым.

Пример

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

{
  defaultSelectedOptionId: "0",
  shippingOptions: [
    {
      "id": "shipping-001",
      "label": "$0.00: Free shipping",
      "description": "Free Shipping delivered in 5 business days."
    },
    {
      "id": "shipping-002",
      "label": "$1.99: Standard shipping",
      "description": "Standard shipping delivered in 3 business days."
    },
    {
      "id": "shipping-003",
      "label": "$1000: Express shipping",
      "description": "Express shipping delivered in 1 business day."
    }
  ]
}

SelectionOption

Свойство Тип Обязательное Описание
id Строка Да Разработчик может указать любое значение. Оно будет возвращено в объекте PaymentData.
label Строка Да Ярлык варианта.
description Строка Нет Описание, расположенное под ярлыком.

Пример

Ниже приведен пример варианта доставки.

{
  "id": "shipping-003",
  "label": "$10: Express shipping",
  "description": "Express shipping delivered in 1 business day."
}

TransactionInfo

Этот объект задает транзакцию, по которой определяется платежеспособность пользователя, а также диалоговое окно, в котором он подтверждает транзакцию. Свойства объекта подробно описаны в таблице ниже.

Свойство Тип Обязательное Описание
currencyCode Строка Да Алфавитный код валюты в соответствии со стандартом ISO 4217.
countryCode Строка Нет (указывается только для стран ЕЭЗ)

Код страны, где обрабатывается транзакция, в соответствии со стандартом ISO 3166-1 alpha-2. Это свойство является обязательным для продавцов, которые находятся в странах Европейской экономической зоны (ЕЭЗ).

transactionId Строка Нет Уникальный идентификатор попытки транзакции. Для попыток транзакций Google Pay продавцы могут использовать имеющийся идентификатор или создать специальный. Поле является обязательным, если вы отправляете обратные вызовы в Google Transaction Events API.
totalPriceStatus Строка Да

Статус итоговой цены.

  • NOT_CURRENTLY_KNOWN. Используется для проверки возможности оплаты. Не использовать, если транзакция обрабатывается в стране ЕЭЗ
  • ESTIMATED. Итоговая цена может меняться в зависимости от переданных в ответе деталей (например, платежный адрес находится в стране, где взимается налог с продаж).
  • FINAL. Итоговая цена равна сумме платежа, показанной покупателю.
totalPrice Строка Нет

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

Формат строки должен соответствовать формату регулярного выражения: ^[0-9]+(\.[0-9][0-9])?$

displayItems DisplayItem[] Нет Все доступные списания, связанные с текущим запросом. Заполняется на странице оплаты, только если используется авторизация платежей или динамическое обновление цен. Поле является обязательным, если включена авторизация платежей или динамическое обновление цен.
totalPriceLabel Строка Нет Пользовательский ярлык с итоговой ценой отображаемых товаров.
checkoutOption Строка Нет

Позволяет настроить текст кнопки отправки на странице оплаты Google Pay.

  • DEFAULT – стандартный текст для выбранного статуса totalPriceStatus (по умолчанию).
  • COMPLETE_IMMEDIATE_PURCHASE – оплата указанным способом сразу после того, как покупатель подтвердит выбранные им параметры. Этот вариант доступен, только если для статуса totalPriceStatus установлено значение FINAL.

Пример итоговой цены

Ниже приведен пример итоговой цены в долларах США.

{
  displayItems: [
    {
      label: "Subtotal",
      type: "SUBTOTAL",
      price: "11.00",
    },
    {
      label: "Tax",
      type: "TAX",
      price: "1.00",
    }
  ],
    currencyCode: "USD",
    countryCode: "US",
    totalPriceStatus: "FINAL",
    totalPrice: "12.00",
    totalPriceLabel: "Total",
    checkoutOption: "DEFAULT",
    newShippingOptions: {
 	    defaultSelectedOptionId: "shipping-001",
      shippingOptions: [
        {
          "id": "shipping-001",
          "label": "Free: Standard shipping",
          "description": "Free Shipping delivered in 5 business days."
        }
      ]
    },
    error: {
   	  reason: "SHIPPING_ADDRESS_UNSERVICEABLE",
      message: "Cannot ship to the selected address",
      intent: "SHIPPING_ADDRESS"
    }
}

ButtonOptions

Этот объект позволяет настроить кнопку оплаты через Google Pay. Подробнее о доступных типах кнопок, цветах и требованиях к отображению на экранах говорится в разделе Правила использования бренда.

Свойство Тип Обязательное Описание
onClick

function или Object

Да Обратный вызов прослушивателя событий при нажатии кнопки <button>.
buttonColor Строка Нет
  • default – установленное Google значение по умолчанию. В настоящее время используется black, но оно может измениться.
  • black – черная кнопка для размещения на белом или другом светлом фоне.
  • white – белая кнопка для размещения на цветном фоне.
buttonType Строка Нет
  • long – кнопка с текстом "Оплатить через Google Pay" (по умолчанию). Если в настройках браузера пользователя выбран один из доступных языков, будет показана локализованная версия кнопки.
  • short – кнопка оплаты через Google Pay без текста.

PayPalParameters

Этот объект позволяет определить параметры PayPal.

Свойство Тип Обязательное Описание
purchase_context PurchaseContext Да Описание, составленное из информации о заказе.

Пример

Ниже показано, как включить поддержку оплаты через PayPal.

{
  "purchase_context": {
    "purchase_units": [
      {
        "payee": {
          "merchant_id": "PAYPAL_ACCOUNT_ID"
        }
      }
    ]
  }
}

PurchaseContext

В этом объекте содержатся сведения о заказе.

Свойство Тип Обязательное Описание
purchase_units PurchaseUnit[] Да Сведения о договоре между продавцом и покупателем.

PurchaseUnit

Этот объект описывает договор между покупателем и продавцом в системе PayPal. Подробнее об объекте purchase_unit рассказывается в документации по API-интерфейсам PayPal.

Свойство Тип Обязательное Описание
payee Payee Да Получатель средств по транзакции.

Payee

В этом объекте содержится информация о продавце – получателе средств. Подробнее об объекте payee написано в документации по API-интерфейсам PayPal.

О других поддерживаемых дополнительных параметрах говорится в этом разделе документации PayPal.

Пример

Ниже показано, как включить поддержку оплаты через PayPal.

{
  “type”: “PAYPAL”,
  parameters: {
  	"purchase_context": {
    	     "purchase_units": [{
        		"payee": {
          		      "merchant_id": "PAYPAL_ACCOUNT_ID"
                      	   }
       	       } ]
  	  }
    },
   “tokenizationSpecification”: {
	type: “DIRECT”  }
}

Пример

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

{
  onClick: onGooglePaymentButtonClicked
}