Верификация карты (Verify)

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

 

Запрос Verify используется для вызова страницы WayForPay и проведения  верификации карты клиента и получения токена карты в случае успешной верификации. 

 

 

 

Доступные варианты верификации:

 

 

Верификация карты с блокировкой суммы на карте клиента и вводом заблокированной суммы

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

 

 

Как работает?

 

  1. На первом Шаге клиент вводит реквизиты карты, система блокирует на карте клиента случайную сумму от 1 до 5 грн. 

  2. На втором Шаге клиент подтверждает - вводит заблокированную сумму на своей карте, которую может узнать в своем банкинге или из смс от банка о блокировке денег на карте. 

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

 

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



Для использования данного вида верификации необходимо в запросе Verify передать: 

 

  •  paymentSystem = card
  •  verifyType confirm

Перейти к общим параметрам запроса и ответа



 

Верификация карты с блокировкой суммы, и подтверждение ввода  3d Secure кода (для карт поддерживающих 3D Secure)

Позволяет получить токен карты карты путем блокировки суммы на карте и запросом ввода 3D Secure кода, отправленного банком-эмитентом карты. Если карта не поддерживает 3D Secure проверку, сумма будет заблокирована без подтверждения.

В случае отсутствия денег на карте, верификация будет неуспешной.

 

 

Как работает?

 

  1. На первом Шаге клиент вводит реквизиты карты, система блокирует на карте клиента случайную сумму от 1 до 5 грн. 

  2. Для карт с 3d secure Второй  Шаг - клиент подтверждает - вводит 3D Secure код, который может узнать в своем банкинге или из смс или подтвердить блокировку суммы в приложении банка. В случае успешного подтверждения заблокированной суммы система возвращает токен карты клиента. 

  1. Для карт не поддерживающих 3d secure в случае успешного подтверждения заблокированной суммы система возвращает токен карты клиента. 

 

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



Для использования данного вида верификации необходимо в запросе Verify передать: 

 

  •  paymentSystem card
  •  verifyType = simple

Перейти к общим параметрам запроса и ответа

 

 




Верификация карты без списания денег с подтверждением ввода Lookup кода

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

 

Как работает?

 

  1. На первом Шаге клиент вводит реквизиты карты, система отправляет запрос в банк клиента на отправку ему lookup кода

  2. На втором Шаге клиент подтверждает - вводит код, который банк ему отправил в смс/пуш уведомлении или полученный из интернет банкинга.

  3. В случае ввода правильного lookup кода система возвращает токен карты клиента. 

 

Для использования данного вида верификации необходимо в запросе Verify передать: 

 

  • paymentSystem lookupCard
  •  verifyType = confirm

 

Перейти к общим параметрам запроса и ответа

 

 

 

Верификация карты без списания денег и без подтверждения со стороны клиента 

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

 

 

Как работает?

 

  1. Клиент вводит реквизиты карты.

  2. Система отправляет запрос в банк и в случае валидности карты система возвращает токен карты клиента. 

 

Для использования данного вида верификации необходимо в запросе Verify передать: 

 

  •  paymentSystem lookupCard
  •  verifyType = simple

 

Перейти к общим параметрам запроса и ответа

 

 

Верификация карты без списания денег на карте  (для карт поддерживающих 3D Secure) 

Позволяет верифицировать карту без блокировки на ней средств, но для карт с 3D Secure - путем запросом ввода 3D Secure кода, отправленного банком-эмитентом карты. 

Если карта не поддерживает 3D Secure проверку, верификация карты будет  без блокировки на карте средств.

 

 

Как работает?

 

  1. На первом Шаге клиент вводит реквизиты карты

  2. Для карт с 3d secure Второй  Шаг - клиент подтверждает - вводит 3D Secure код, который может узнать в своем банкинге или из смс/push. В случае успешного подтверждения  3d secure  система возвращает токен карты клиента. 

  3. Для карт не поддерживающих 3d secure система отправляет запрос в банк и в случае валидности карты система возвращает токен карты клиента. 

 

Для использования данного вида верификации необходимо в запросе Verify передать: 

 

 

  •  paymentSystem card
  •  verifyType = empty

Общие параметры запроса и ответа находятся ниже. 

Параметры запроса

Запрос c необходимыми параметрами формируется на стороне торговца и передается методом POST по протоколу HTTP на URL https://secure.wayforpay.com/verify

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации парамаетров merchantAccount, merchantDomainName, orderReference, amount, currency разделенных “;” (точка с запятой) в кодировке UTF-8

 

ПАРАМЕТР

ОПИСАНИЕ

ОБЯЗАТЕЛЬНОЕ

merchantAccount

Идентификатор продавца. Присваивается Вам со стороны WayForPay

да

merchantAuthType

Тип авторизации. Может принимать одно из следующих значений:

 - simpleSignature (по умолчанию)

нет

merchantDomainName

Доменное имя веб-сайта торговца

да

merchantSignature

Подпись запроса

да

apiVersion

Версия протокола.Значение по-умолчанию: 1

да

returnUrl

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

*В случае отсутствия параметра переадресация происходит на страницу результата оплаты checkout psp

да

serviceUrl

URL, на который система должна отправлять ответ с результатом платежа напрямую мерчанту

нет

orderReference

Уникальный номер заказа в системе торговца

да

amount

Сумма verify = 0 (константа)

да

currency

Валюта verify: UAH

да

paymentSystem

константа = lookupCard

да

clientEmail

Email клиента

нет

clientPhone

Номер телефона клиента

нет

clientCountry

Страна клиента

нет

clientAddress

Адрес клиента

нет

clientCity

Город клиента

нет

clientState

Штат/Область клиента

нет

clientZipCode

Почтовый индекс клиента

нет

 

 

Параметры ответа

ПАРАМЕТР

ОПИСАНИЕ

ПРИМЕР

merchantAccount

Идентификатор продавца

test_merchant

orderReference

Уникальный номер заказа в системе торговца

1212dd1

merchantSignature

hash_hmac

 

amount

Сумма заказа

100

currency

Валюта заказа

UAH

email

email плательщика

email@mail.com

phone

Номер телефона плательщика

+38063-333-33-33

createdDate

Дата создания запроса в psp (UTC)

123456789

processingDate

Дата процессирования транзакции (UTC)

12345678

cardPan

Маскированный номер карты (44****4444)

42****4242

cardType

Типа карты: Visa/MasterCard

Visa

issuerBankCountry

Страна карты

Ukraine

issuerBankName

Имя Банка карты

PrivatBank

recToken

Токен карты для рекарринговых списаний

121213321-3213213-3213213-321-3

transactionStatus

статус транзакции

Approved

reason

Причина отказа

Ok

reasonCode

Код отказа

1100

fee

Комиссия psp

0.00

paymentSystem

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

card

 

Аутентификация запросов

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchantAccount, orderReference, amount, currency разделенных “;” (точка с запятой) в кодировке UTF-8

 

Пример HTTP POST запроса:

{
"merchantAccount": "test_merch_n1",
"merchantDomainName": "merchant.com.ua",
"merchantAuthType": "SimpleSignature",
"merchantSignature": "9a9b6f197eea8319ee87c4b7079c4c28",
"orderReference": "VRF-PP-1445852171",
"amount": "0",
"currency": "UAH",
"clientEmail": "some@mail.com",
"clientPhone": "+38(066)0000000",
"returnUrl": "http://local.com/service",
"serviceUrl": "http://local.com/service",
"language": "RU"
}

 

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

Для авторизованных и проверенных заказов (а также при смене статуса заказа) серевер WayForPay направляет на serviceUrl запрос (HTTP_POST) включающий в себя данные заказа.
Данная информация дополняется контрольной подписью HMAC_MD5.
В случае, если WayForPay НЕ получит корректный ответ от сервера торговца, то система будет направлять запросы в течении 4-х суток или до получения правильного ответа.

 

Пример запроса на serviceUrl
{
"merchantAccount":"test_merchan_n1",
"orderReference":"DH783023",
"merchantSignature":"",
"amount":3.36,
"currency":"UAH",
"authCode":"541963",
"email":"client@mail.ua",
"phone":"380501234567",
"createdDate":12345678,
"processingDate":12345678,
"cardPan":"41****8217",
"cardType":"visa",
"issuerBankCountry":"980",
"issuerBankName":"Privatbank",
"recToken":"",
"transactionStatus":"WaitingAmountConfirm",
"reason":5105,
"reasonCode":"",
"fee":0,
"paymentSystem":"card"
}

 

Система WayForPay ожидает получить от сервера торговца следующий ответ:

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров orderReference, status, time разделенных “;” (точка с запятой) в кодировке UTF-8

 

Пример корректного ответа от мерчанта
{
"orderReference":"DH783023",
"status":"accept",
"time":1415379863,
"signature":""
}