Apple Pay
Въведение
Преди да приемате плащания чрез Apple Pay, изпълнете действията, представени в разделите по-долу. След изпълнение на указаните действия можете да пристъпите към доработка на вашето мобилно приложение за взаимодействие с Apple Pay (описанието на техническите подробности на такива доработки се намира извън рамките на настоящия документ, за повече информация вж. документацията на Apple Pay).
Създаване на Merchant ID
За да създадете своя Merchant ID (Идентификатор на продавач), изпълнете следните действия.
- В личния кабинет Apple Member Center отидете на линка Certificates, Identifiers & Profiles.
- На показалата се страница в секцията Identifiers изберете Merchant IDs.
- На показалата се страница натиснете на иконата + в горния десен ъгъл.
- В полетата Merchant ID Descritpion и Identifier въведете описанието на своя идентификатор на продавач Apple и самия идентификатор съответно.
- Натиснете Continue.
- На показалата се страница проверете въведените данни и натиснете Register.
- На показалата се страница натиснете Done.
Регистрация на сертификат
За да приемате плащания чрез Apple Pay, трябва да имате ключова двойка и сертификат за публичен ключ, съответстващ на тази ключова двойка. Необходимите действия в личния кабинет зависят от това дали имате ключова двойка и съответстващ ѝ сертификат или не.
| Начални условия | Необходими стъпки |
|---|---|
| Нямате ключова двойка и сертификат за публичен ключ |
Впоследствие ще ви бъдат достъпни следните действия. |
| Имате ключова двойка и регистриран в Apple Pay сертификат за публичен ключ |
Качете файл, съдържащ ключовата двойка, в личния кабинет на платежната бавалка Впоследствие ще ви бъдат достъпни следните действия. |
Създаване на нов сертификат
За да създадете ключова двойка, изпълнете следните действия.
- Влезте в личния кабинет и изберете
раздел Сертификати в лявото странично меню. - Изберете Apple Pay.
- Натиснете Създай двойка ключове.
Ще се покаже следният прозорец.
- Попълнете необходимите полета (вж. таблицата по-долу).
| Параметър | Описание |
|---|---|
Алгоритъм за криптиране |
Този радио бутон позволява да изберете един от двата криптографски алгоритъма, които ще бъдат използвани за генериране на двойка ключове.
|
Country (C) |
Въведете двубуквения код на страната, в която се намира вашата организация. |
Locality Name (L) |
Въведете името на населеното място, в което се намира вашата организация. |
Organization Name (O) |
Въведете името на вашата организация. |
Apple ID |
Apple ID на продавача. |
State Name (ST) |
Въведете името на региона, в който се намира вашата организация. |
Common Name (CN) |
Въведете пълното доменно име на вашия сайт, например, test.com. |
Organization Unit (OU) |
Въведете името на подразделението на вашата организация. |
- След внасяне на необходимите промени натиснете Създай.
Създадената двойка ключове ще се показва в раздел Apple Pay (вж. фигурата по-долу).

Преминете към изтегляне на CSR.
Зареждане на предварително създаден сертификат
За да заредите съществуваща ключова двойка, изпълнете следните действия.
- Влезте в личния кабинет и изберете
раздел Сертификати в лявото странично меню. - Изберете Apple Pay.
- В секцията Apple Identity натиснете Добавяне на ключ.
Ще се покаже следният прозорец.
- Попълнете полетата:
- Apple ID - Посочете Merchant Apple ID.
- Парола - Въведете паролата, защитаваща съдържанието на файла PKCS12.
- Домейн по подразбиране - въведете домейна на вашия интернет магазин.
- Плъзнете файла на ключовата двойка в предназначената за това област.
Той ще се покаже в списъка.
- Натиснете Потвърждаване. Импортираният сертификат ще се покаже в списъка Apple Identity.
Нататък със сертификата са достъпни следните действия.
Експорт на заявка за подпис на сертификат (CSR)
За да изтеглите заявка за подпис на сертификат, изпълнете следните действия.
- Влезте в личния кабинет и изберете
в лявото странично меню (раздел Сертификати) - Изберете нужната платежна услуга (Apple Pay, Google Pay или Samsung Pay).
- Натиснете върху трите точки в реда с нужния сертификат и изберете Изтегляне на ключ (вж. изображението по-долу).

Ще се покаже прозорец за запазване на файл. - Посочете пътя за запазване на файла или го запазете в папката по подразбиране.
Също така са ви достъпни следните действия.
Редактиране на Merchant ID
За да промените своя Apple Merchant ID, изпълнете следните действия.
- Влезте в личния кабинет и изберете
раздел Сертификати в лявото странично меню. - Изберете Apple Pay.
- Натиснете
и изберете Редактиране (вж. фигурата по-долу).
Ще се покаже следният прозорец.
- Редактирайте полето Apple ID и натиснете Потвърди.
Деактивиране на сертификата
За да забраните използването на ключа, изпълнете следните действия.
Моля, предоставете текста, който трябва да бъде преведен.
- Отидете в личния кабинет и изберете
в лявото странично меню (раздел Сертификати) - Изберете нужната платежна услуга (Apple Pay, Google Pay или Samsung Pay).
- Натиснете на иконката
в реда на нужния сертификат и изберете Забрани използването (вж. изображението по-долу).
Ще се покаже следният прозорец.
- Натиснете Потвърди.
Показването на сертификат, чието използване е забранено, зависи от филтъра Разрешен, разположен в горната част на раздел Сертификати (вж. изображението по-долу).

| Параметър | Описание |
|---|---|
| Само разрешени | Сертификати, чието използване е забранено, не се показват в списъка със сертификати. |
| Всички позиции | Сертификати, чието използване е забранено, се показват в списъка, но в колоната Разрешен срещу този сертификат стои Не (вж. изображението по-долу).
|
Действия, необходими за web-интеграция
За да осигурите възможност за web-интеграция, изпълнете следните действия.
- Регистрирайте и потвърдете вашия домейн в Apple.
- Ако страницата за плащане се намира от ваша страна, регистрирайте вашия домейн.
- Ако страницата за плащане се намира от страната на платежния шлюз, посочете домейна на платежния шлюз.
- Създайте сертификат за идентификация на продавача, преобразувайте го в
.pemфайл и го качете на вашия сървър.
Този сертификат се използва за автентификация на връзките към сървърите на Apple Pay.
Регистрация на домейн в Apple
За да регистрирате сертификата в Apple, изпълнете следните действия.
- Влезте в своя акаунт за разработчик в Apple на страницата https://developer.apple.com.
- Следвайте инструкциите на помощта на акаунта за разработчик в Apple, за да регистрирате домейна.
На стъпката за избор на идентификатор на продавача, изберете създадения по-рано идентификатор на продавача.
Схема на интеграция
- Потребителят в мобилното приложение избира вариант за плащане с помощта на Apple Pay.
- Данните за плащането се насочват за обработка в системата Apple Pay.
- За обработка на данните за плащането в системата Apple Pay се създава обект PKPaymentToken Object, който съдържа свойство paymentData (тук и по-нататък вж. документация Apple Pay).
- Apply Pay насочва към продавача (мобилното приложение) отговор.
- Продавачът извлича от получения обект PKPaymentToken Object свойство paymentData и кодира съдържанието му в Base64.
- Продавачът създава заявка за плащане, съдържаща включително свойство paymentData, получено от отговора на системата Apple Pay и кодирано в Base64, и го изпраща за обработка в платежната врата (вж. заявка за плащане чрез Apple Pay).
- Платежната система обработва заявката.
- Платежната система връща отговор с резултата.
- Мобилното приложение показва на потребителя резултата от плащането.
Връзки към справочна информация
| Връзка | Описание |
|---|---|
| Apple Pay | Раздел от сайта apple.com, съдържащ обща информация за Apple Pay. |
| Developer Apple Pay | Раздел от сайта apple.com, предназначен за разработчици и съдържащ връзки към различни документи и справочна информация, касаеща Apple Pay. |
| Apple Pay Sandbox | Раздел от сайта apple.com, съдържащ информация за тестване. |
| Apple Pay Guide | Раздел от сайта apple.com, съдържащ справочник по програмиране. |
| Apple Pay Guidelines | Раздел от справочното ръководство за App Store, посветен на приложенията Apple Pay.. |
| Apple Pay API | Справочник API (програмен интерфейс за приложения). |
| Структура PKPaymentToken Object | Описание на структурата на обекта PKPaymentToken Object. |
| Login page | Страница за вход в средата за разработка. |
| Getting Started with Apple Pay | Документ във формат PDF, съдържащ общи сведения за Apple Pay и връзки към справочна информация. |
| Apple Pay Marketing Guidelines | Описание как да добавите бутон Apple Pay на своя сайт. |
Google Pay
Въведение
Съществуват няколко варианта за реализация на Google Pay™. Тези варианти поддържат методи за автентификация CRYPTOGRAM_3DS и PAN_ONLY.
| Начин на плащане | Описание |
|---|---|
| От мобилно приложение | Плащането се извършва от мобилно приложение с мобилно устройство на потребителя. В този сценарий приложението заявява криптирани данни от Google Pay. Тези данни трябва да бъдат изпратени в платежния шлюз. За използване на този вариант е необходимо да се извърши интеграция на приложението с Google Pay API. |
| От уеб-страница, като платежната страница е разположена на ваша страна | Плащането се извършва от уеб-страница. Потребителят избира плащане в сайта на продавача, като продавачът заявява криптирани платежни данни от системата Google Pay. След това продавачът трябва да изпрати тези данни в платежния шлюз. За използване на този вариант е необходимо да се извърши интеграция на уеб-сайта с Google Pay API. |
| Плащане на платежна страница, която е разположена от страна на платежния шлюз | Плащането се извършва от уеб-страница. Потребителят избира плащане в сайта на продавача, след което продавачът го пренасочва към платежната страница от страна на платежния шлюз. В този случай продавачът пренасочва купувача към платежната страница от страна на платежния шлюз и трябва да осигури спазването на следните изисквания на Google Pay: |
Интеграция с Google Pay API
Ако искате да използвате Google Pay като платежен метод на вашата собствена платежна страница, трябва да интегрирате вашето Android приложение или уебсайт с Google Pay API чрез Google Pay & Wallet Console. Следвайте инструкцията: Google Pay API & Google Pay & Wallet Console.
На стъпка 4 от тази инструкция (за Android app приложение или уебсайт съответно) при преминаване през ръководството за потребителя укажете тип токенизация 'PAYMENT_GATEWAY':
const tokenizationSpecification = {
type: 'PAYMENT_GATEWAY',
parameters: {
'gateway': 'example',
'gatewayMerchantId': 'exampleGatewayMerchantId'
}
};и заменете example и exampleGatewayMerchantId със стойностите за платежния доставчик BPC от таблицата на платежните доставчици:
-
gateway=bpcpay -
gatewayMerchantId- логин на продавача (merchant login) в платежната бранова

В резултат от интеграцията с Google Pay API ще ви бъде присвоен Google Merchant ID, който ще се показва в горния десен ъгъл на Google Pay & Wallet Console.

Схеми за интеграция
Плащане в мобилно приложение
- Клиентът избира плащане чрез Google Pay.
- Приложението заявява от Google Pay информация за маскирани картови данни.
- Google Pay връща в приложението маскирани картови данни.
- Приложението показва на клиента маскирани данни на карта, добавена в Google Pay.
- Клиентът потвърждава плащане с помощта на добавената в Google Pay карта.
- Приложението заявява от Google Pay шифровани картови данни.
- Google Pay шифрова данните, използвайки публичния ключ на търговеца.
- Google Pay връща в приложението шифровани данни за плащането.
- Приложението изпраща заявка за плащане Google Pay до платежния шлюз, заявката съдържа токен, получен от Google Pay.
- Платежният шлюз дешифрова получения токен и извършва плащането.
- Платежният шлюз връща резултата от плащането в приложението.
- Приложението показва резултата от плащането на клиента.
Плащане на платежна страница, която е разположена от страната на интернет магазина
- Клиентът формира поръчка на сайта на интернет магазина и избира начин на плащане Google Pay.
- Системата на интернет магазина формира заявка за плащане в Google Pay.
- Системата Google Pay формира шифровани платежни данни.
- Системата на интернет магазина получава шифровани платежни данни.
- Интернет магазинът формира заявка за плащане чрез Google Pay, заявката съдържа получените шифровани платежни данни.
- Платежният шлюз дешифрова получените данни и извършва плащането.
- Платежният шлюз връща резултата от плащането в интернет магазина.
- Резултатът от плащането се показва на клиента.
Плащане на платежна страница, която е разположена от страната на платежния шлюз
Ако платежната страница е разположена от страна на Google Pay, плащането се извършва по следната схема.
- Клиентът формира поръчка на сайта на търговеца.
- Търговецът регистрира поръчката в платежния шлюз.
- Платежният шлюз връща уникален номер на поръчката в системата на платежния шлюз и URL-адрес, към който трябва да се пренасочи клиентът.
- Системата на магазина пренасочва браузъра на клиента към URL-адреса, получен на стъпка 3.
- Браузърът на клиента отваря URL-адреса.
- Клиентът получава платежна форма.
- Клиентът избира начин на плащане Google Pay и потвърждава избора си.
- Извършва се обмен на данни между платежния шлюз и системата Google Pay - платежният шлюз получава платежните данни.
- Платежният шлюз извършва плащането.
- Клиентът се пренасочва към финалната страница на магазина.
- Браузърът на клиента отваря финалната страница.
- Показва се статусът на плащането.
Плащане Google Pay с използване на 3DS2.
При плащане Google Pay с помощта на метода /google/payment.do или google/paymentDirect.do може да се използва удостоверяване на клиента по протокола 3DS2. В този случай за всяка транзакция е необходимо да изпратите в платежния шлюз заявка за плащане два пъти. Изпращането на първата заявка инициира процедурата за удостоверяване по протокола 3DS2, а изпращането на втората — продължава процедурата с данните, получени от сървъра 3DS (допълнителен компонент, който взаимодейства с платежните системи и ACS).
Ако клиентът след удостоверяването се пренасочи към страницата на магазина, е необходимо да завършите плащането, изпращайки заявка finish3dsVer2Payment.do.
Схема 3DS2 с използване на google/paymentDirect.do.
По-долу е приведена схемата за плащане с помощта на заявката google/paymentDirect.do (разшифроване на токена от ваша страна) с използване на 3DS2.
(разшифрован токен в Base64) PG -->> Merchant: Отговор на първата заявка Merchant ->> 3DS server: извикване на скрит iframe (threeDSMethodURLServer) opt В отговора threeDSMethodURL Merchant ->> ACS: Извикване на скрит iframe (threeDSMethodURL) end Merchant ->> PG: Втора заявка google/paymentDirect.do PG -->> Merchant: Отговор на втората заявка opt Необходимо е пренасочване към ACS Merchant ->> ACS: CReq (Challenge request) ACS -->> Client: HTML-форма за удостоверяване Client ->> ACS: Потвърждение на автентичността ACS -->> Client: Резултат от проверката и пренасочване в магазина Merchant ->> PG: finish3dsVer2Payment.do PG -->> Merchant: Отговор на заявката end Merchant ->> PG: Заявка за статуса на поръчката PG -->> Merchant: Отговор на заявката за статус Merchant -->> Client: Показване на резултата
- Клиентът в мобилното приложение или на сайта избира плащане с помощта на Google Pay.
- Приложението запитва в Google Pay списъка с картите на клиента.
- Google Pay предава в приложението списък с маскираните карти на клиента.
- Клиентът избира карта, с която ще плаща. Тези данни се изпращат в Google Pay.
- Google Pay предава в приложението криптиран paymentToken.
- Търговецът разкриптира paymentToken.
- Плащане на поръчка - етап1. Търговецът предава разкриптираните данни paymentToken в платежния шлюз, изпращайки заявка google/paymentDirect.do.
- Платежният шлюз проверява на сървъра 3DS възможността за провеждане на автентификация на клиента по протокол 3DS2 и изпраща отговор. В отговора, между другото, се връщат следните параметри:
-
is3DSVer2- флаг за възможността за провеждане на автентификация 3DSv2 (true/false), -
threeDSServerTransId- идентификатор на транзакцията, присвоен от сървъра 3DS, -
threeDSMethodURLServer- адрес на сървъра 3DS за събиране на данни за браузъра, -
threeDSMethodURL- (незадължително) адрес на сървъра ACS за събиране на данни за браузъра, -
threeDSMethodDataPacked- (незадължително) данни за събиране на данни за браузъра в ACS.
-
- Търговецът в отделен iframe с метод POST извиква
threeDSMethodURLServer, използвайки стойността, получена от отговора на заявката за плащане на поръчката. Това позволява на сървъра 3DS да събере данни за браузъра на клиента. - (Незадължителна стъпка) Ако в отговора на заявката за плащане на поръчката са дошли параметри
threeDSMethodURLиthreeDSMethodDataPacked, то търговецът в отделен iframe с метод POST извикваthreeDSMethodURL. В този метод е необходимо да се предаде стойността, получена от параметъраthreeDSMethodDataPacked, получен в отговора на заявката за плащане на поръчката. При това трябва да се предаде в параметъра, който се наричаthreeDSMethodData. Това позволява на ACS да събере данни за браузъра на клиента. -
Плащане на поръчка - етап 2. Търговецът отново изпраща заявка
google/paymentDirect.do, за да завърши плащането на поръчката (или да осъществи превода на паричните средства). При това е необходимо да се предаде параметъраthreeDSServerTransId- идентификатор на транзакцията, който е създаден от сървъра 3DS и е върнат на стъпка 8. Освен това, за пренасочване на клиента към страницата на магазина след провеждането на плащането на поръчката може да се предаде връзката за пренасочване в параметъраthreeDSVer2FinishUrl. - Платежният шлюз взаимодейства със 3DS сървъра и ACS, за да изясни дали е необходимо клиентът да преминава автентификация в ACS, и изпраща отговор на заявката за плащане. Ако на клиента е необходимо да преминава автентификация в ACS, в отговора се връща
acsUrl– URL за пренасочване към ACS, както иpackedCReq– опаковани данни за challenge request. Ако не е необходимо – връща се отговор за успешно завършване на плащането. -
Ако на клиента не е необходимо да преминава автентификация в ACS, преминете към стъпка 19.
Ако на клиента е необходимо да преминава автентификация в ACS, от платежната страница се извършва пренасочване към
acsUrlс параметърcreq=packedCReq, получен на стъпка 12. ACS насочва към клиента HTML-форма за преминаване на проверка за автентичност.
Клиентът преминава проверка за автентичност
ACS пренасочва клиента към страницата на магазина.
За завършване на транзакцията търговецът изпраща в платежния шлюз заявка finish3dsVer2Payment.do, предавайки параметъра
threeDSServerTransId- идентификатор на транзакцията, който е създаден от сървъра 3DS и е върнат на стъпка 8.Платежният шлюз изпраща на търговеца отговор на направената заявка.
Търговецът прави разширена заявка за статус на поръчката getOrderStatusExtended.do в платежния шлюз, за да изясни състоянието на поръчката.
Платежният шлюз изпраща отговор на направената заявка.
Търговецът показва на клиента страница с резултата.
Схема 3DS2 с използване на google/payment.do.
По-долу е приведена схемата за плащане с помощта на заявка /google/payment.do (разкриптиране на токена от страната на Платежния шлюз) с използване на 3DS2.
(шифрован токен в Base64) PG ->> PG: Разшифроване на токена PG -->> Merchant: Отговор на първата заявка Merchant ->> 3DS server: Извикване на скрит iframe (threeDSMethodURLServer) opt В отговора threeDSMethodURL Merchant ->> ACS: Извикване на скрит iframe (threeDSMethodURL) end Merchant ->> PG: Втора заявка google/payment.do PG -->> Merchant: Отговор на втората заявка opt Необходимо е пренасочване към ACS Merchant ->> ACS: CReq (Challenge request) ACS -->> Client: HTML-форма за удостоверяване Client ->> ACS: Потвърждение на автентичността ACS -->> Client: Резултат от проверката и пренасочване в магазина Merchant ->> PG: finish3dsVer2Payment.do PG -->> Merchant: Отговор на заявката end Merchant ->> PG: Заявка за статус на поръчката PG -->> Merchant: Отговор на заявката за статус Merchant -->> Client: Показване на резултата
- Клиентът в мобилното приложение или на сайта избира плащане с помощта на Google Pay.
- Приложението заявява в Google Pay маскирани данни на картата на клиента.
- Google Pay предава в приложението маскирани данни на картата на клиента.
- Търговецът показва на клиента данните на картата.
- Клиентът потвърждава плащането.
- Търговецът заявява от Google Pay шифровани данни на картата.
- Google Pay шифрова данните на картата.
- Google Pay връща на търговеца шифровани данни на картата (токен).
- Плащане на поръчката - етап1. Продавачът предава разшифрованите данни paymentToken в платежния шлюз, изпращайки заявка /google/payment.do.
- Платежният шлюз разшифрова токена.
- Платежният шлюз проверява на сървъра 3DS възможността за провеждане на удостоверяване на клиента по протокол 3DS2 и изпраща отговор. В отговора, наред с другото, се връщат следните параметри:
-
is3DSVer2- флаг за възможността за провеждане на удостоверяване 3DSv2 (true/false), -
threeDSServerTransId- идентификатор на транзакцията, присвоен от сървъра 3DS, -
threeDSMethodURLServer- адрес на сървъра 3DS за събиране на данни за браузъра, -
threeDSMethodURL- (незадължително) адрес на сървъра ACS за събиране на данни за браузъра, -
threeDSMethodDataPacked- (незадължително) данни за събиране на данни за браузъра в ACS.
-
- Търговецът в отделен iframe с метод POST извиква
threeDSMethodURLServer, използвайки стойността, получена от отговора на заявката за плащане на поръчката. Това позволява на сървъра 3DS да събере данни за браузъра на клиента. - (Незадължителна стъпка) Ако в отговора на заявката за плащане на поръчката са дошли параметрите
threeDSMethodURLиthreeDSMethodDataPacked, то търговецът в отделен iframe с метод POST извикваthreeDSMethodURL. В този метод е необходимо да се предаде стойността, получена от параметъраthreeDSMethodDataPacked, получен в отговора на заявката за плащане на поръчката. При това трябва да се предаде в параметъра, който се наричаthreeDSMethodData. Това позволява на ACS да събере данни за браузъра на клиента. -
Плащане на поръчката - етап 2. Търговецът повторно изпраща заявка
/google/payment.do, за да завърши плащането на поръчката (или да осъществи превода на парични средства). При това е необходимо да се предаде параметърътthreeDSServerTransId- идентификатор на транзакцията, който е създаден от сървъра 3DS и е върнат на стъпка 11. Освен това, за препращане на клиента към страницата на магазина след провеждане на плащането на поръчката може да се предаде връзка за препращане в параметъраthreeDSVer2FinishUrl. - Платежният шлюз взаимодейства с 3DS сървъра и ACS, за да разбере дали клиентът трябва да премине аутентификация в ACS, и изпраща отговор на заявката за плащане. Ако клиентът трябва да премине аутентификация в ACS, в отговора се връща
acsUrl– URL за пренасочване към ACS, както иpackedCReq– опаковани данни за challenge request. Ако не е необходимо – връща се отговор за успешно завършване на плащането. -
Ако клиентът не трябва да премине аутентификация в ACS, преминете към стъпка 22.
Ако клиентът трябва да премине аутентификация в ACS, от платежната страница се извършва пренасочване към
acsUrlс параметърcreq=packedCReq, получен на стъпка 15. ACS насочва към клиента HTML-форма за преминаване на проверка за автентичност.
Клиентът преминава проверка за автентичност
ACS пренасочва клиента към страницата на магазина.
За завършване на транзакцията търговецът изпраща в платежния шлюз заявка finish3dsVer2Payment.do, предавайки параметър
threeDSServerTransId- идентификатор на транзакцията, който беше създаден от 3DS сървъра и върнат на стъпка 11.Платежният шлюз изпраща на търговеца отговор на направената заявка.
Търговецът прави разширена заявка за статуса на поръчката getOrderStatusExtended.do в платежния шлюз, за да разбере състоянието на поръчката.
Платежният шлюз изпраща отговор на направената заявка.
Търговецът показва на клиента страница с резултата.
Изисквания към платежната страница от страна на продавача
Платежната страница от страна на продавача трябва да отговаря на следните изисквания.
- На платежната страница трябва да бъде предвидена възможност за пренасочване към 3DS в резултат от извикване на метода за плащане, ако в разшифрования токен е указан метод за плащане
CARD. - Страницата трябва да съдържа платежен бутон Google Pay.
- На платежната страница трябва да бъде показан бутон, позволяващ осъществяване на плащане с помощта на Google Pay.
paymentsClient.isReadyToPay({allowedPaymentMethods: allowedPaymentMethods})
.then(function(response) {
if (response.result) {
// in this case the button should be displayed
addGooglePayButton();
}
})
.catch(function(err) {
// show error in developer console for debugging
console.error(err);
});
function addGooglePayButton() {
var button = document.createElement('button');
button.className = 'google-pay';
button.appendChild(document.createTextNode('Google Pay'));
sbutton.addEventListener('click', onGooglePaymentButtonClicked);
document.getElementById('container').appendChild(button);
}- На платежната страница трябва да бъде включен JavaScript Google (за подробности вж. документацията на Google:
- На платежната страница за тестово взаимодействие с Google стойността на свойството environment трябва да бъде
TEST(вж. примера с код по-долу).
var paymentsClient =
new google.payments.api.PaymentsClient({environment: 'TEST'});Стойността за основната версия на страницата трябва да бъде получена от Google след изпълнение на проверките (за подробности вж. документацията на Google: https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist)).
-
На платежната страница трябва да бъде формиран обект
paymentDataRequest(вж. примера с код по-долу). Използвайте следните тестови данни:-
gateway-bpcpay(или стойност, предоставена при свързване към тестовата площадка) -
gatewayMerchantId– стойност, предоставена при свързване към тестовата площадка
-
function getGooglePaymentDataConfiguration() {
return {
merchantId: '00000000000000000000', //constant for the bank's RBE; for the environment: 'TEST' is not indicated
transactionInfo = {
totalPriceStatus: 'FINAL',
totalPrice: '123.45', //amount in major units
currencyCode: 'BGN' //ISO 4217
},
paymentMethodTokenizationParameters: {
tokenizationType: 'PAYMENT_GATEWAY',
parameters: {
gateway: 'some-bank', //constant for the bank's RBE
gatewayMerchantId: 'exampleGatewayMerchantId' //merchant identifier in the payment gateway
}
},
allowedPaymentMethods: ['CARD', 'TOKENIZED_CARD'],
cardRequirements: {
allowedCardNetworks: ['MASTERCARD', 'VISA']
}
};
}- След натискане на бутона за плащане посредством Google Pay обектът
paymentDataRequestтрябва да бъде предаден в Google (вж. примера с код по-долу).
var paymentDataRequest = getGooglePaymentDataConfiguration();
paymentsClient.loadPaymentData(paymentDataRequest).then(function(paymentData){
processPayment(paymentData);
}).catch(function(err){
// show error in developer console for debugging
console.error(err);
});Използване на индивидуални ключове
Ако по някаква причина не искате да използвате BPC като платежен доставчик и искате да се интегрирате с Google Pay директно, можете да използвате индивидуална двойка ключове за разшифроване на криптираните платежни данни от Google Pay. Тази двойка ключове може да бъде генерирана в Merchant Portal, а след това да се качи в акаунта на Google.
Създаване на ключова двойка
За да създадете ключова двойка, изпълнете следните действия.
- Влезте в личния кабинет и изберете
раздел Сертификати в лявото странично меню. - Избор на плащане Google Pay.
- Натиснете Създаване на двойка ключове.
Ще се покаже следният прозорец.
- В полето Google ID посочете вашия идентификатор Google Merchant ID, получен по време на интеграция с Google API, а след това натиснете Потвърждаване.
- Създадената двойка ключове ще се показва в раздел Google Pay (вж. фигурата по-долу).
Изтегляне на публичен ключ
За да изтеглите отворен ключ, изпълнете следните действия.
- Влезте в личния кабинет и изберете
раздел Сертификати в лявото странично меню. - Избор на плащане Google Pay.
- Натиснете
срещу нужния сертификат и изберете Изтегли ключ (вж. изображението по-долу).
- В диалога Запази файл изберете пътя, по който ще бъде запазен файлът, или го запазете в папката по подразбиране.
Също така са налични следните действия.
Редактиране на Google ID
За да промените своя Google ID, изпълнете следните действия.
- Влезте в личния кабинет и изберете
раздел Сертификати в лявото странично меню. - Избор на плащане Google Pay.
- Натиснете
до вашия сертификат и изберете Редактиране (вж. фигурата по-долу).
Ще се покаже следният прозорец.
- Редактирайте стойността в полето Google ID и натиснете Потвърди.
Деактивиране на сертификат
За да забраните използването на ключа, изпълнете следните действия.
Моля, предоставете текста, който трябва да бъде преведен.
- Отидете в личния кабинет и изберете
в лявото странично меню (раздел Сертификати) - Изберете нужната платежна услуга (Apple Pay, Google Pay или Samsung Pay).
- Натиснете на иконката
в реда на нужния сертификат и изберете Забрани използването (вж. изображението по-долу).
Ще се покаже следният прозорец.
- Натиснете Потвърди.
Показването на сертификат, чието използване е забранено, зависи от филтъра Разрешен, разположен в горната част на раздел Сертификати (вж. изображението по-долу).

| Параметър | Описание |
|---|---|
| Само разрешени | Сертификати, чието използване е забранено, не се показват в списъка със сертификати. |
| Всички позиции | Сертификати, чието използване е забранено, се показват в списъка, но в колоната Разрешен срещу този сертификат стои Не (вж. изображението по-долу).
|