Общие сведения
Операции с использованием ранее сохраненных карт (COF) предусматривают первичную операцию, во время которой данные карты сохраняются, и последующие операции, которые осуществляются с использованием уже сохраненных ранее данных карты.
Первичная операция проводится с обязательным получением согласия плательщика на сохранение реквизитов карты для проведения последующих операций.
Первичная операция может быть:
- финансовой транзакцией – с верификацией карты и последующей оплатой;
- регистрационной транзакцией – с верификацией карты без последующей оплаты.
Первичная операция может быть проведена как с использованием обычной банковской карты, так и с использованием системы токенизации мобильных устройств, например, Apple Pay или Samsung Pay. Первичная операция COF проводится с верификацией одним из возможных способов (CVC2 и 3DS или с помощью мобильного устройства).
Повторные операции могут осуществляться после успешного проведения первичной операции с обязательным согласием плательщика на дальнейшее использование данных карты. Повторные операции проводятся без процедуры повторной верификации, если это позволяет протокол работы процессинга. Повторная верификация может быть включена по требованию процессинга или мерчанта, желающего защитить также и повторные транзакции.
Операции CIT COF
Повторные операции могут быть инициированы плательщиком. Такие операции называются Customer Initialized Transaction (CIT).
Для реализации операций CIT COF в АПК Ассист используется сервис One Click.
Участвуя в программе, предприятие ведет базу своих клиентов, присваивая им уникальные номера (CustomerNumber), а система АПК Ассист хранит в зашифрованном виде номера банковских карт, соответствующих номерам клиентов (CustomerNumber) данного предприятия.
При оплате очередного заказа клиент получает предложение запомнить карту для следующих покупок с использованием сервиса One Click,
Сервис One Click дает возможность постоянному клиенту предприятия совершать новые покупки без ввода данных карты, подтверждая оплату только указанием кода CVC2. Однако, для последующих покупок по сохраненной карте CVC2 обычно запрашиваться не будет (за исключением тех случаев, когда делаются специальные настройки по желанию мерчанта).
Для подключения предприятию возможности выполнения операций COF следует отправить соответствующую заявку в клиентский отдел по адресу support@belassist.by. В заявке должен присутствовать идентификатор предприятия (мерчанта) в системе – MerchantID.
Поскольку уникальные номера в базе клиентов магазина (CustomerNumber) генерируются и хранятся на стороне магазина, следует обратить особое внимание на защиту этих данных от взлома. Необходимо повысить защиту персональных данных на стороне магазина с помощью современных средств (двухфакторная аутентификация для клиентов при входе в ЛК магазина, повышенные требования к паролям клиентов по уровню защиты, периодическое обновление паролей клиентов и т.п.).
Если клиент согласился запомнить карту для следующих покупок, то при формировании заказа в АПК Ассист будет сгенерирован токен – уникальный идентификатор карты, который сохраняется в системе.
После завершения покупателем оплаты заказа на сервер предприятия методом HTTP POST или SOAP отправляется сообщение с параметрами платежа. При этом в списке отправляемых параметров платежа появляется дополнительный параметр:
Название | Значение |
token | Уникальный идентификатор сохраненной карты покупателя |
При формировании очередного заказа на сайте магазина можно осуществить стандартный переход на платежную страницу АПК Ассист для оплаты сохраненной ранее картой. В этом случае магазин должен передавать данные заказа с уникальным номером клиента, т.е. в дополнение к списку параметров авторизационного запроса, необходимо передавать параметр CustomerNumber. Все действия, связанные с оплатой сохраненной картой, выполняются на стороне АПК Ассист.
Если по каким-либо причинам магазину удобнее самостоятельно отображать предложение покупателю оплатить заказ ранее сохраненной картой (на своем сайте или в специализированном мобильном приложении), то для реализации операции CIT COF, необходимо воспользоваться сервисом передачи платежной информации Token Pay,
Здесь следует обратить внимание на параметр TokenType, значение которого должно быть равно 5, а также на значение параметра PaymentToken, в котором должны содержаться уникальный номер клиента в базе данных магазина (CustomerNumber) и уникальный идентификатор сохраненной карты покупателя, полученный при первичной операции этого покупателя из АПК Ассист.
Платеж будет проведен как операция CIT COF по карте, сохраненной ранее при первичной оплате по данному токену данного покупателя.
Список параметров ответа аналогичен стандартному ответу сервиса Token Pay.
Платеж будет проведен как операция CIT COF только в том случае, если для магазина в АПК Ассист настроен соответствующий процессинг. В противном случае операция завершится с ошибкой.
Если предприятие не будет использовать сервис передачи платежной информации Token Pay и полученную от АПК Ассист информацию о первичном платеже в виде токена для операции CIT COF, то последующие платежи для покупателя будут выполняться стандартно с использованием сервиса One Click.
Операции MIT COF
Повторные операции могут быть также инициированы предприятием. Такие операции называются Merchant Initialized Transaction (MIT).
Для реализации операций MIT COF в АПК Ассист используются рекуррентные платежи.
Рекуррентные платежи используются в том случае, когда требуется периодическое списание средств с банковской карты клиента в счет предприятия – поставщика услуг. Это разного рода подписки – оплата хостинга, мобильного телефона, доступа к ресурсам и т. п. Метод удобен для пользователя, так как данные карты вводятся клиентом один раз при первом платеже.
В отличие от рекуррентных платежей, суммы платежей MIT COF, а также интервалы, через которые они выполняются, не фиксируются. Таким образом, предприятие может инициировать платеж на необходимую сумму в любой момент времени (например, в случае обнуления баланса какой-либо услуги).
Для реализации первоначальных платежей MIT COF необходимо передать дополнительные параметры:
Название | Обязательное поле | Принимаемые значения | По умолчанию | Описание |
RecurringIndicator | Да | 1 – рекуррентный платеж 0 - нерекуррентный платеж | 0 | Признак рекуррентного/первоначального платежа MIT COF. |
RecurringMinAmount | Да | Число, 15 цифр (разделитель «.») | Минимальная сумма повторных платежей. | |
RecurringMaxAmount | Да | Число, 15 цифр (разделитель «.») | Максимальная сумма повторных платежей. | |
RecurringCount | Да | Число, 3 цифры | Максимальное количество повторных списаний (до 999) | |
RecurringMaxDate | Да | Строковое представление даты в формате DD.MM.YYYY | Дата окончания подписки. |
Платеж будет проведен как операция MIT COF только в том случае, если для магазина в АПК Ассист настроен соответствующий процессинг. В противном случае операция будет проведена как обычный рекуррентный платеж.
Предприятие может инициировать последующие платежи через запрос к веб-сервису системы АПК Ассист (описание параметров инициирующего авторизационного запроса и веб-сервиса для последующих платежей см. в соответствующем разделе).
Дополнительные веб-сервисы для COF
Получение списка токенов карт клиента
Веб-сервис позволяет предприятию получать список токенов карт по уникальному идентификатору своего клиента.
Для обращения к веб-сервису необходимо отправить запрос методом POST на сервер ASSIST по адресу: https://<SERVER_NAME>/pay/oneclick/v1/token.cfm с параметрами в формате JSON.
Входные параметры сервиса:
Параметр | Обязательный | Принимаемые значения | Значение по умолчанию | Описание | |
Merchant | Merchant_ID | Да | Число | Идентификатор предприятия в системе АПК Ассист | |
Login | Да | 20 символов | Логин пользователя сервиса от предприятия | ||
Password | Да | 30 символов | Пароль пользователя сервиса от предприятия | ||
CustomerNumber* | Да | 32 символа | Внутренний номер клиента предприятия (мерчанта) | ||
Language | Нет | RU - русский, EN - английский | Язык юр.лица или предприятия | Язык авторизационных страниц |
*Следует обратить внимание на то, что параметр подвергается валидации согласно правилам,
Пример запроса:
POST https://<SERVER-NAME>/pay/oneclick/v1/token.cfm POST data:{"merchant":{"merchant_id":"452739", "login":"LOGIN", "password":"PASSWORD"}, "customernumber":"1234", "language":"RU"}
Ответ также передается в формате JSON и содержит следующие параметры.
Перечень возвращаемых параметров:
Название | Значение |
token | Токен сохраненного платежного средства |
post | 4 последние цифры номера карты |
bin | 6 первых цифр номера карты |
brand | Платежная система карты |
bank | Названия банка эмитента карты |
expire | Месяц и год окончания действия карты (MM.YYYY) |
active | Действительна ли карта |
needCVC | Требуется ли вводить CVC для авторизации |
assets* | Массив медиаданных для карты (определяют внешний вид карты) |
*Если АПК Ассист не располагает медиаданными для карты, то в ответе этот параметр возвращается с пустым значением.
Содержание массива медиаданных
Параметр | Принимаемые значения | Описание |
assetType | BRAND_LOGO | Тип графического компонента дизайна карты |
altText | ||
paymentType | VISA | Тип платежной системы |
assetData | ||
url | Адрес файла, содержащего изображение графического компонента дизайна карты | |
mediaType | image/png | Формат файла изображения |
width | Размеры изображения в пикселях | |
height |
В случае ошибки сервис возвращает данные об ошибке в формате JSON {"fault":{"detail":"<текст ошибки>","faultcode":<первый код>,"faultstring":<второй код>}}.
Пример ответа для случая, когда у клиента сохранено несколько карт:
[{"expire":"12.2025","token":"49D902C6-1CCF-4605-9228-11D0E8115C77","bank":"","brand":"VISA","bin":412362,"active":true,"needCVC":false,"post":"0028","assets":[{"assetType":"ICON","altText":"cardSymbol","paymentType":"VISA","assetData":[ {"url":"https://emvts-test-assets.s3.amazonaws.com/A5/VISA/aa3dcd69e8e8407fa2a59a1956994610/w100_h100.png","mediaType":"image/png","width":100,"height":100} ]},{"assetType":"CARD_BACKGROUND","altText":"digitalCardArt","paymentType":"VISA","assetData":[ {"url":"https://emvts-prod-assets.s3.eu-north-1.amazonaws.com/B5/VISA/fa0ff42cfa9e41b09ae8c2899d61394a/w1536_h969.png","mediaType":"image/png","width":1536,"height":969} ]}]},{"expire":"12.2025","token":"4D7F0B0D-B701-47B0-779A-BB0CB5F25A14","bank":"","brand":"MasterCard","bin":518615,"active":true,"needCVC":false,"post":"1030","assets":[{"assetType":"BRAND_LOGO","altText":null,"paymentType":"MC","assetData":[ {"url":"https://emvts-test-assets.s3.amazonaws.com/A5/MC/3789637f-32a1-4810-a138-4bf34501c509/w0_h0.pdf","mediaType":"image/pdf","width":null,"height":null} ]},{"assetType":"ICON","altText":null,"paymentType":"MC","assetData":[ {"url":"https://emvts-prod-assets.s3.eu-north-1.amazonaws.com/B5/MC/a7556277-51e9-4ef1-b503-dd8989e7a8bf/w100_h100.png","mediaType":"image/png","width":100,"height":100} ]},{"assetType":"CARD_BACKGROUND_COMBINED","altText":null,"paymentType":"MC","assetData":[ {"url":"https://emvts-prod-assets.s3.eu-north-1.amazonaws.com/B5/MC/eb50276e-7e28-4cd1-9b95-c8dfbe595db6/w1536_h969.png","mediaType":"image/png","width":1536,"height":969} ]},{"assetType":"ISSUER_LOGO","altText":null,"paymentType":"MC","assetData":[ {"url":"https://emvts-prod-assets.s3.eu-north-1.amazonaws.com/B5/MC/de7ce012-641e-450c-8b4f-a65d78062999/w1372_h283.png","mediaType":"image/png","width":1372,"height":283} ]}]}]
Пример ответа для случая, когда для карты отсутствуют медиаданные:
Удаление сохраненной карты (токена) клиента предприятия
Веб-сервис позволяет предприятию удалить токен карты по уникальному идентификатору своего клиента.
Для обращения к веб сервису необходимо отправить запрос методом POST на сервер ASSIST по адресу: https://<SERVER_NAME>/pay/oneclick/v1/rem_token.cfm с параметрами в формате JSON.
Входные параметры сервиса:
Параметр | Обязательный | Принимаемые значения | Значение по умолчанию | Описание | |
Merchant | Merchant_ID | Да | Число | Идентификатор предприятия в системе АПК Ассист | |
Login | Да | 20 символов | Логин пользователя сервиса от предприятия | ||
Password | Да | 30 символов | Пароль пользователя сервиса от предприятия | ||
CustomerNumber* | Да | 32 символа | Внутренний номер клиента предприятия (мерчанта) | ||
Language | Нет | RU - русский, EN - английский | Язык юр.лица или предприятия | Язык авторизационных страниц | |
Token | Да | 36 символов | Токен сохраненного платежного средства |
*Следует обратить внимание на то, что параметр подвергается валидации согласно правилам.
Пример запроса:
POST https://<SERVER-NAME>/pay/oneclick/v1/rem_token.cfm POST data:{"merchant":{"merchant_id":"452739","login":"LOGIN", "password":"PASSWORD"}, "token": "54F5A3DE-4B47-4B40-03B5-7FF992D6B401", "language": "RU", "customernumber":"1234"}
Ответ также передается в формате JSON с сообщением о том, что токен удален.
Пример ответа:
{"message":"Token 33479991-B4E5-40FE-D9ED-EDC94BA7FA14 is removed"}
В случае ошибки сервис возвращает данные об ошибке в формате JSON {"fault":{"detail":"<текст ошибки>","faultcode":<первый код>,"faultstring":<второй код>}}.