Спецификация по взаимодействию торговца с ПО ConcordPay ver 1.2. 1
Оплата на платежной странице процессинга 3
Callback вызов для отправки уведомления о статусе платежа 4
Операция покупки через Apple Pay 5
Валидация мерчанта Apple Pay (api/apple/validate). 6
Подтверждение платежа Apple Pay (api/apple/payment) 7
Рекуррентные платежи RecPayment(оплата по токену) 8
Операция Refund (оффлайн операция!) 11
Операция получения баланса (GetBalance) 17
Операция получения истории успешных транзакций (GetHistory) 18
Операция PurchaseOnMerchant 21
Получение токена для Masterpass 24
Проведение платежа через Masterpass 25
Подтверждение 3DS верификации 27
Оплата на платежной странице процессинга с расщеплением платежа 28
Справочник. Статусы платежа 30
Справочник. Коды системных ошибок 36
Для оплаты на платежной странице процессинга необходимо выполнить редирект на страницу процессингово центра, с POST данными.
Production url: https://pay.concord.ua/api/
POST параметры:
Параметр | Описание | Значение |
operation | Тип операции | Purchase |
merchant_id | ID мерчанта, выдается поцесcингом | |
amount | Сумма операции. Пример 500.00 | |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | |
order_id | Уникальный номер операции на стороне торговца. Если операция дублируется - торговец получает ошибку. | |
currency_iso | Валюта платежа. | UAH |
language | Язык платежной страницы ua,ru,en | ru |
description | Назначение платежа. Выводится на платежной странице, при вводе платежных реквизитов. Отображается в выписке по счету и реестрах | |
add_params | Массив с дополнительными параметрами. Дополнительные параметры потом возвращаются мерчанту в callback вызове | |
approve_url | URL для переадресации в случае, если платеж успешен | |
decline_url | URL для переадресации в случае, если платеж не успешен | |
cancel_url | URL для переадресации в случае, если пользователь отказался совершить оплату | |
callback_url | URL на который прийдет информация о результате выполнения платежа | |
redirect | true/false - по умолчанию true, если параметр стоит true, тогда клиент не будет получать переадресацию, а получит url платежной страницы | Не обязательный |
auth_type | По умолчанию 1 - покупка, 2-Предавторизация | Не обязательный |
Данные отправляются по URL адресу который указан в параметрах платежа в поле
callback_url.
Данные отправляются на сервер торговца в формате JSON
Параметры:
Название параметра | Описание | Значения |
merchantAccount | ID мерчанта | |
orderReference | ID операции в системе торговца | |
amount | Сумма операции | |
currency | Валюта операции | |
phone | Номер телефона клиента(Если включен ввод телефона на платежной странице) | |
createdDate | Дата платежа в формате YYYY-MM-DD HH:II:SS Пример: 2018-12-14 12:01:26 | |
cardPan | Маскированный PAN карты. Пример: 535277******0298 | |
cardType | Тип карты | Visa MasterCard |
fee | Комиссия за операцию | |
transactionId | ID транзакции на стороне ПЦ | |
type | Тип операции. На данный момент параметр не используется | |
recToken | Токен для рекурентного платежа | |
transactionStatus | Статус операции | Approved - Успешно Declined - Отказ |
pcApprovalCode | Код авторизации | |
pcTransactionID | Идентификатор транзакции в процессинговом центре | |
reason | Текстовая причина отказа | |
reasonCode | Код ошибки при отказе | |
merchantSignature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,orderReference,amount,currency разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! |
Для интеграции кнопки Apple Pay на платежную страницу интернет магазина необходимо реализовать метод ApplePaySession.canMakePaymentsWithActiveCard, этот метод определяет поддерживает ли данное устройство оплату с помощью Apple Pay.
Если поддерживает оплата - необходимо отрисовать кнопку “Купить с помощью Apple Pay”.
Далее необходимо создать объект ApplePaySession , с параметрами покупки:
countryCode: 'UA',
currencyCode: 'UAH',
supportedNetworks: ['visa', 'masterCard'],
merchantCapabilities: ['supports3DS'],
total: { label: 'Your Merchant Name', amount: '10.00' },
Описание полей можно посмотреть в документации Apple Pay on Web.
На событие onvalidatemerchant необходимо повесить обработчик, в котором будет вызываться API “api/apple/validate” . Описание метода будет ниже.
На событие onpaymentauthorized необходимо повесить обработчик, который будет вызывать API “api/apple/payment”.
После подтверждения платежа в onpaymentauthorized необходимо вызвать метод
ApplePaySession.completePayment.
Документацию по ApplePaySession можно найти на оф сайте Apple (https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api).
Production url: https://pay.concord.ua/api/apple/validate
POST параметры:
Параметр | Описание | Значение |
operation | Тип операции | Purchase |
apple_validation_url | Данный параметр приходит в событии onvalidatemerchant, event.validationURL Пример: session.onvalidatemerchant = (event) => { console.log(event.validationURL); } | |
merchant_id | ID мерчанта, выдается поцесcингом | |
amount | Сумма операции. Пример 500.00 | |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | |
order_id | Уникальный номер операции на стороне торговца. Если операция дублируется - торговец получает ошибку. | |
currency_iso | Валюта платежа. | UAH |
description | Назначение платежа. Выводится на платежной странице, при вводе платежных реквизитов. Отображается в выписке по счету и реестрах | |
add_params | Массив с дополнительными параметрами. Дополнительные параметры потом возвращаются мерчанту в callback вызове | |
callback_url | URL на который придет информация о результате выполнения платежа |
В ответ приходят следующие параметры:
Параметр | Описание |
apple_validate_data | Данные которые необходимо передать в метод session.completeMerchantValidation |
order_key | Идентификатор заказа в платежной системе |
code | Код ответа если 0 - все ок |
message | Расшифровка кода ответа |
Production url: https://pay.concord.ua/api/apple/payment
POST параметры:
Название | Описание |
order_key | Идентификатор заказа в платежной системе |
apple_pay_payment_data | Данные закодированные в base64, полученные в newсобытии onpaymentauthorized в параметре event.payment. Пример: session.onpaymentauthorized = (event) => { console.log(event.payment); }
|
В ответ приходит:
transactionStatus | Статус операции | Approved - Успешно Declined - Отказ |
reason | Текстовая причина отказа | |
reasonCode | Код ошибки при отказе |
После вызова этого метода приходит callback в backend торговца.
Production url: https://pay.concord.ua/api/
Для совершения рекуррентного платежа необходимо отправить POST запрос со следующими параметрами:
Название | Описание |
operation | Необходимое значение для данной операции RecPayment |
merchant_id | Идентификатор мерчанта |
amount | Сумма операции. Пример 500.00 |
recurring_token | Токен полученный от ПС |
order_id | Уникальный номер заказа в системе торговца |
description | Назначение платежа |
currency_iso | Валюта. На данный момент только UAH |
auth_type | 1 - покупка, 2 - предавторизация. Не обязательный. По умолчанию - 1 |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,recurring_token,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! |
В ответ приходят следующие параметры:
Название | Параметры |
status | APPROVED - успешно, DECLINED - операция не успешна |
code | Код ответа |
Для пополнения карты необходимо отправить переадресовать пользователя на страницу платежного шлюза методом POST со следующими параметрами:
Имя параметра | Описание | Тип |
operation | тип операции “Verify” | String |
merchant_id | идентификатор мерчанта | String |
order_id | Это уникальный номер операции. Генерируется на стороне мерчанта. Он должен быть уникальным на протяжении всей работы. | Integer |
amount | Сумма, которую необходимо закодировать при проверке | Float |
currency_iso | Валюта платежа. | UAH |
approve_url | URL на который будет перенаправлен пользователь в случае успешной операции | String |
decline_url | URL на который будет перенаправлен пользователь в случае не успешной операции | String |
cancel_url | URL на который будет перенаправлен пользователь в случае отмены операции | String |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | String |
Для проверки статуса платежа или верификации карты необходимо отправить POST запрос на url https://pay.concord.ua/api/reversal со следующими параметрами:
Имя параметра | Описание | Тип |
merchant_id | идентификатор мерчанта | String |
order_id | Это уникальный номер операции которая была отправлена в запросе P2PCredit,P2PDebit или Verify | Integer |
amount | Необязательный параметр. Если указана сумма - будет произведен частичный возврат | Float |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$order_id разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | String |
В ответ возвращается JSON со следующими параметрами:
Имя параметра | Описание | Тип |
code | Код ответа. (Список кодов ответа см. ниже) | Integer |
message | Текстовое сообщение с результатом запроса | String |
Для частичного возврата необходимо отправить url https://pay.concord.ua/api/refund со следующими параметрами:
Имя параметра | Описание | Тип |
merchant_id | идентификатор мерчанта | String |
order_id | Это уникальный номер оригинальной транзакцции | Integer |
amount | Необязательный параметр. Если указана сумма - будет произведен частичный возврат | Float |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$order_id разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | String |
В ответ возвращается JSON со следующими параметрами:
Имя параметра | Описание | Тип |
code | Код ответа. (Список кодов ответа см. ниже) | Integer |
message | Текстовое сообщение с результатом запроса | String |
Для проверки статуса платежа или верификации карты необходимо отправить POST запрос на url https://pay.concord.ua/api со следующими параметрами:
Имя параметра | Описание | Тип |
merchant_id | идентификатор мерчанта | String |
operation | Complete | String |
order_id | Это уникальный номер операции которая была отправлена в запросе Purchase | Integer |
amount | Сумма списания | float |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$order_id ,$amount разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | String |
В ответ возвращается JSON со следующими параметрами:
Имя параметра | Описание | Тип |
code | Код ответа. (Список кодов ответа см. ниже) | Integer |
message | Текстовое сообщение с результатом запроса | String |
Для проверки статуса платежа или верификации карты необходимо отправить POST запрос на url https://pay.concord.ua/api/check со следующими параметрами:
Имя параметра | Описание | Тип |
merchant_id | идентификатор мерчанта | String |
order_id | Это уникальный номер операции которая была отправлена в запросе P2PCredit,P2PDebit или Verify | Integer |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$order_id разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | String |
В ответ возвращается JSON со следующими параметрами:
Имя параметра | Описание | Тип |
reasoneCode | Код ответа. (Список кодов ответа см. ниже) | Integer |
reason | Описание ответа | String |
merchantAccount | мерчант | String |
amount | Сумма | String |
phone | Номер телефона | String |
createdDate | дата платежа | String |
cardPan | Маскированный номер карты | String |
cardType | Тип карты | String |
transactionId | Идентификатор транзакции | BigInteger |
message | Текстовое сообщение с результатом запроса | String |
datetime | Дата создания операции на сервере | String |
fee | Комиссия платежа | Double |
transactionStatus | Статус операции(Справочник см ниже) | String |
reverseAmount | Если транзакция в статусе REFUNDED - сумма возврата | Double |
reverseDate | Если транзакция в статусе REFUNDED - Дата возврата | String |
Для пополнения карты необходимо отправить POST запрос со следующими параметрами:
Имя параметра | Описание | Тип | Обязательный |
operation | тип операции “P2PCredit” | String | да |
merchant_id | идентификатор мерчанта | String | да |
order_id | Это уникальный номер операции. Генерируется на стороне мерчанта. Он должен быть уникальным на протяжении всей работы. | String | да |
amount | Сумма операции, должна быть дробным числом, c двумя знаками после запятой. Пример: 100.50 | Double | да |
card_number | Номер карты получателя. | String | нет |
token | Токен, можно использовать вместо карты получателя | String | нет |
currency_iso | Валюта операции. На данный момент доступна только “UAH” | String | да |
add_params[SenderAccount] | уникальный номер электронного кошелька / счета плательщика | String | нет |
add_params[SenderName] | данные, позволяющие определить лицо, которое заключило договор с получателем о поставке товаров, выполнение работ, оказание услуг, предоставление кредита ФИО плательщика | String | нет |
add_params[ResidentCountry] | место жительства плательщика | нет | |
add_params[SenderPostalCode] | место жительства плательщика | нет | |
add_params[ResidentCityInLatin] | место жительства плательщика | нет | |
add_params[Address] | место жительства плательщика | нет | |
add_params[passportNumber] | номер паспорта плательщика | нет | |
add_params[identityNumber] | ИНН плательщика | нет | |
add_params[SenderBirthday] | дата рождения плательщика | нет | |
add_params[SenderBirth_locality] | место рождения плательщика | нет | |
add_params[SenderName] | полное наименование плательщика | нет | |
add_params[ResidentCountry] | место нахождения плательщика | нет | |
add_params[SenderPostalCode] | место нахождения плательщика | нет | |
add_params[ResidentCityInLatin] | место нахождения плательщика | нет | |
add_params[Address] | место нахождения плательщика | нет | |
add_params[identityNumber] | ЕГРПОУ плательщика | нет | |
add_params[RecipientAccount] | уникальный номер электронного кошелька / счета получателя | нет | |
add_params[RecipientName] | ФИО получателя | нет | |
add_params[RecipientName] | полное наименование получателя | нет | |
add_params[PayerAccount] | уникальный номер электронного платежного средства плательщика | нет | |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$order_id,$amount,card_number,currency_iso разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | String |
В ответ возвращается JSON со следующими параметрами:
Имя параметра | Описание | Тип |
code | Код ответа. (Список кодов ответа см. ниже Коды ответа P2PCredit) | Integer |
message | Текстовое сообщение с результатом запроса | String |
status | Статусы операции APPROVED - перевод успешен DECLINED - Перевод не успешен ON-PAYMENT - Заявка на перевод в обработке, необходимо дополнительно запросить статус | String |
transactionID | Идентификатор транзакции в платежной системе | Integer |
approvalCode | Код авторизации | Integer |
Для пополнения карты необходимо отправить POST на url https://pay.concord.ua/api/balance запрос со следующими параметрами:
Имя параметра | Описание | Тип |
operation | тип операции “GetBalance” | String |
merchant_id | идентификатор мерчанта | String |
date | Дата и время запроса в произвольном формате | String |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$data разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | String |
В ответ возвращается JSON со следующими параметрами:
Имя параметра | Описание | Тип |
mk_deposit | Лимит Mastercard | Float |
visa_deposit | Лимит Visa | Float |
mk_available | Доступный остаток Mastercard | Float |
visa_available | Доступный остаток Visa | Float |
Для получения истории успешных операций необходимо отправить POST(не json) на url https://pay.concord.ua/api/history запрос со следующими параметрами:
Имя параметра | Описание | Тип |
operation | тип операции “GetHistory” | String |
merchant_id | идентификатор мерчанта | String |
date | Дата и время запроса в YYYY-MM-DD | String |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$data разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | String |
В ответ возвращается JSON со следующими параметрами:
Имя параметра | Описание | Тип |
[].created | Дата платежа | Long |
[].transactionId | Идентификатор платежа | String |
[].order_id | Идентификатор платежа в системе торговца | String |
[].PAN | Маскированный номер карты | String |
[].amount | Сумма операции | Float |
[].merchant_fee | Коммиссия с торговца | Float |
[].customer_fee | Коммиссия с покупателя | Float |
Для списания средств с карты необходимо переадресовать пользователя на страницу платежного шлюза методом POST со следующими параметрами:
Имя параметра | Описание | Тип |
operation | тип операции “P2PDebit” | String |
merchant_id | идентификатор мерчанта | String |
order_id | Это уникальный номер операции. Генерируется на стороне мерчанта. Он должен быть уникальным на протяжении всей работы. | Integer |
amount | Сумма операции, должна быть дробным числом, c двумя знаками после запятой. Пример: 100.50 | Double |
currency_iso | Валюта операции. На данный момент доступна только “UAH” | String |
description | Назначение платежа | String |
approve_url | URL на который будет перенаправлен пользователь в случае успешной операции | String |
decline_url | URL на который будет перенаправлен пользователь в случае не успешной операции | String |
cancel_url | URL на который будет перенаправлен пользователь в случае отмены операции | String |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description,approve_url,decline_url,cancel_url разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | String |
add_params[SenderAccount] | уникальный номер электронного кошелька / счета плательщика | String |
add_params[SenderName] | данные, позволяющие определить лицо, которое заключило договор с получателем о поставке товаров, выполнение работ, оказание услуг, предоставление кредита ФИО плательщика | String |
add_params[ResidentCountry] | место жительства плательщика | String |
add_params[SenderPostalCode] | место жительства плательщика | String |
add_params[ResidentCityInLatin] | место жительства плательщика | String |
add_params[Address] | место жительства плательщика | String |
add_params[passportNumber] | номер паспорта плательщика | String |
add_params[identityNumber] | ИНН плательщика | String |
add_params[SenderBirthday] | дата рождения плательщика | String |
add_params[SenderBirth_locality] | место рождения плательщика | String |
add_params[SenderName] | полное наименование плательщика | String |
add_params[ResidentCountry] | место нахождения плательщика | String |
add_params[SenderPostalCode] | место нахождения плательщика | String |
add_params[ResidentCityInLatin] | место нахождения плательщика | String |
add_params[Address] | место нахождения плательщика | String |
add_params[identityNumber] | ЕГРПОУ плательщика | String |
add_params[RecipientAccount] | уникальный номер электронного кошелька / счета получателя | String |
add_params[RecipientName] | ФИО получателя | String |
add_params[RecipientName] | полное наименование получателя | String |
add_params[PayerAccount] | уникальный номер электронного платежного средства плательщика | String |
Для оплаты на платежной странице мерчанта необходимо отправить POST запрос со следующими данными данными.
Production url: https://pay.concord.ua/api/
POST параметры:
Параметр | Описание | Значение |
operation | Тип операции | PurchaseOnMerchant |
merchant_id | ID мерчанта, выдается поцесcингом | |
amount | Сумма операции. Пример 500.00 | |
customer_fee | Комиссия с клиента. Пример: 10.50 | Double |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | |
order_id | Уникальный номер операции на стороне торговца. Если операция дублируется - торговец получает ошибку. | |
currency_iso | Валюта платежа. | UAH |
description | Назначение платежа. Выводится на платежной странице, при вводе платежных реквизитов. Отображается в выписке по счету и реестрах | |
add_params | Массив с дополнительными параметрами. Дополнительные параметры потом возвращаются мерчанту в callback вызове | |
token | Токен для списания с карты без передачи реквизитов карты | |
card_num | Номер карты | |
card_exp_month | Срок действия карты MM | |
card_exp_year | Срок действия карты YY | |
card_cvv | CVV2 код, в случае операции без CVV необходимо указать -1 | |
card_holder | Владелец карты. Не обязательное поле | |
phone | Номер телефона клиента. Не обязательное поле | |
payment_type | Тип платежа. Purchase - покупка PreAuth - блокирование средств на карте | |
secure_type | Тип прохождения безопасности транзакции Может принимать следующие значения: 1- 3DS 2- Non3DS | |
callback_url | URL на который прийдет информация о результате выполнения платежа |
Ответ
Параметр | Описание | Значение |
status | Статус платежа | справочник “Статусы платежа” |
code | Код ответа | Справочник “Коды ответов” |
order_id | Уникальный номер заказа в системе торговца | |
amount | Сумма платежа | |
fee | Комиссия | |
currency | Валюта платежа | |
token | Токен для последующих оплат. Токен вернется в случае, если платеж успешен | |
d3_acs_url | URL acs сервера на который необходимо отправить пользователя для верификации | |
d3_md | Уникальный идентификатор который необходимо передать на ACS сервер | |
d3_pareq | Запрос который необходимо передать на ACS сервер | |
transaction_key | Ключ транзакции, который необходимо использовать для подтверждения платежа | |
transaction_id | Идентификатор транзакции | |
signature |
Если в ответе code пришло значение 2001 необходимо провести проверку 3DS.
Для проверки 3ds необходимо методом POST отправить форму с параметрами d3_md, d3_pareq, term_url на d3_acs_url.
term_url - url на который вернется результат проверки 3DS.
<form name="MPIform" action='${d3_acs_url}' method="POST">
<input type="hidden" name="PaReq" value='${d3_pareq }'>
<input type="hidden" name="MD" value='${d3_md }'>
<input type="hidden" name="TermUrl" value='${term_url}'>
</form>
Production url: https://pay.concord.ua/api/mptoken
Для получения гостевого токена необходимо отправить POST запрос со следующими данными данными.
Параметр | Описание |
msisdn | Номер телефона для входа в кошелек Masterpass в формате 380XXXXXXXXX |
client_id | Идентификатор клиента в системе MasterPass |
В ответ приходит объект в формате JSON со следующими параметрами:
Параметр | Описание |
res | Результат запроса 0 - все ок |
msg | Сообщение об ошибке |
token | Токен для передачи в mfs библиотеку |
reference_no | Уникальный номер запроса |
Production url: https://pay.concord.ua/api
Для получения гостевого токена необходимо отправить POST запрос со следующими данными данными.
Параметр | Описание | Значение |
operation | Тип операции | PurchaseMasterpass |
merchant_id | Идентификатор мерчанта | |
amount | Сумма платежа в формате 1.00 | |
order_id | ||
currency_iso | Валюта | UAH |
description | Описание плаатежа | |
approve_url | URL для переадресации после успешного платежа (в случае подтверждения 3DS на странице ConcordPay) | |
decline_url | URL для переадресации после не успешного платежа (в случае подтверждения 3DS на странице ConcordPay) | |
cancel_url | URL для переадресации после отмены платежа (в случае подтверждения 3DS на странице ConcordPay) | |
callback_url | URL на который будет отправлен callback о статусе платежа | |
add_params[wallet] | Признак кошелька | masterpass |
add_params[msisdn] | Номер телефона для входаа в кошелек Masterpass в формате 380XXXXXXXXX | |
add_params[token] | Токен полученный с сервера MasterPass | |
add_params[card_name] | Alias карты полученный с сервера MasterPass | |
add_params[client_id] | Идентификатор мерчанта в системе MasterPass | |
add_params[ret_ref_no] | Уникальный номер транзакции полученный с сервера MasterPass | |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! |
В ответ приходит объект в формате JSON со следующими параметрами:
Если транзакция требует подтверждения 3DS:
Параметр | Описание |
code | Код ответа |
status | Статус транзакции, если необходима проверка 3DS , в статусе , будет значение 3ds |
d3AcsUrl | url для перенаправления клиента, для проверки 3ds |
d3Md | Криптограмма для передачи на хост 3DS |
d3Pareq | Запрос для передачи на хост 3DS |
transaction_key | Ключ транзакции для подтверждения 3DS |
TermUrl | Url для переадресации после вводе кода подтверждения на странице 3DS. По умолчанию url на страницу ConcordPay, для проверки 3DS можно указать свой URL, тогда после прохождения 3DS необходимо вызвать метод “Подтверждение 3DS верификации” |
Для оплаты на платежной странице мерчанта необходимо отправить POST запрос со следующими данными данными.
Production url: https://pay.concord.ua/api/
Параметр | Описание | Значение |
operation | Тип операции | Complete3DS |
transaction_key | Ключ транзакции | |
merchant_id | Идентификатор мерчанта | |
d3ds_md | Идентификатор полученный после редиректа с сервера ACS | |
d3ds_pares | Сообщение полученное после редиректа с сервера ACS | |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,transaction_key,d3ds_md,d3ds_pares разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! |
Ответ
Параметр | Описание | Значение |
status | Статус платежа | справочник “Статусы платежа” |
code | Код ответа | Справочник “Коды ответов” |
order_id | Уникальный номер заказа в системе торговца | |
amount | Сумма платежа | |
fee | Комиссия | |
currency | Валюта платежа | |
card_pan | Маскированный номер карты | |
transaction_id | Идентификатор транзакции |
Для оплаты на платежной странице процессинга необходимо выполнить редирект на страницу процессингово центра, с POST данными.
Production url: https://pay.concord.ua/api/
POST параметры:
Параметр | Описание | Значение |
operation | Тип операции | Purchase |
merchant_id | ID мерчанта, выдается поцесcингом | |
amount | Сумма операции. Пример 500.00 | |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца. Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8. Порядок параметров при конкатенации важен! | |
order_id | Уникальный номер операции на стороне торговца. Если операция дублируется - торговец получает ошибку. | |
currency_iso | Валюта платежа. | UAH |
description | Назначение платежа. Выводится на платежной странице, при вводе платежных реквизитов. Отображается в выписке по счету и реестрах | |
add_params | Массив с дополнительными параметрами. Дополнительные параметры потом возвращаются мерчанту в callback вызове | |
split | Признак расщепления платежа | 0 - не расщеплять 1 - расщеплять |
split_rules | Массив с правилами расщепления который содержит в себе идентификаторы субмерчанта и суммы. Сумма расщеплений должна совпадать с суммой платежа. Пример: split_rules[0][sub_merchant_id]=test1&split_rules[0][amount]=100.00&split_rules[1][sub_merchant_id]=test2&split_rules[1][amount]=50.00&.......&split_rules[n][sub_merchant_id]=testn&split_rules[n][amount]=10.00 | |
approve_url | URL для переадресации в случае, если платеж успешен | |
decline_url | URL для переадресации в случае, если платеж не успешен | |
cancel_url | URL для переадресации в случае, если пользователь отказался совершить оплату | |
callback_url | URL на который прийдет информация о результате выполнения платежа |
Значение | Статус |
ON-PAYMENT | Платеж исполняется |
NEW | Платеж создан, ожидается ввод реквизитов |
APPROVED | Платеж успешен |
DECLINED | Платеж отклонен |
REFUNDINPROC | В процессе возврата |
REFUNDED | Возвращен |
EXPIRED | Платеж просрочен |
WAITING-AUTH | Ожидает подтверждение авторизации |
3ds | Требует проверки 3D-Secure |
Код | Расшифровка | Расшифровка (ENG) |
1 | ОПЕРАЦИЯ РАЗРЕШЕНА | |
50 | Финансовая транзакция не выполнена | General |
51 | Карта клиента просрочена | Expired card |
52 | Превышено число попыток ввода PIN | Number of PIN tries exceeded |
53 | Не удалось маршрутизировать транзакцию | No sharing allowed |
55 | Транзакция имеет некорректные атрибуты или данная операция не разрешена | Invalid transaction |
56 | Запрашиваемая операция не поддерживается хостом | Transaction not supported by institution |
57 | Карта клиента имеет статус 'потеряна' или 'украдена' | Lost or stolen card |
58 | Карта клиента имеет неправильный статус | Invalid card status |
59 | Карта клиента имеет ограниченные возможности | Restricted status |
60 | Не найден вендор с указанным номером счета | Account not found |
61 | Неверное количество информационных полей для заданного вендора | Wrong customer information for payment |
62 | Неверный формат информационного поля платежа | Customer information format error |
63 | Не найден prepaid-код | Prepaid Code not found |
64 | Track2 карты клиента содержит неверную информацию | Bad track information Track2 |
69 | Неверный формат сообщения | Bad message edit |
74 | Невозможно авторизовать | Unable to authorize |
75 | Неверный PAN карты | Invalid credit PAN |
76 | На счете не хватает средств | Insufficient funds |
78 | Произошло дублирование транзакции | Duplicate transaction received |
82 | Превышение количества использований карты клиента | Maximum number of times used |
85 | Невозможно выдать баланс | Balance not allowed |
95 | Превышение лимита по сумме | Amount over maximum |
100 | Невозможно провести транзакцию | Unable to process |
101 | Невозможно авторизовать – необходимо позвонить издателю карты | Unable to authorize – call issuer |
105 | Данный тип карт не поддерживается | Card not supported |
200 | Неправильный счет клиента | Invalid account |
201 | Неправильный PIN | Incorrect PIN |
205 | Некорректная сумма | Invalid advance amount |
209 | Неверный код транзакции | Invalid transaction code |
210 | Неверное значение CAVV | Bad CAVV |
211 | Неверное значение CVV2 | Bad Cvv2 |
212 | Не найдена оригинальная транзакция для слипа | Original transaction not found for slip |
213 | Слип принимается повторно | Slip already received |
501 | Транзакция выполнена успешно | Approved |
502 | Транзакция выполнена успешно на частичную сумму | Partially approved |
503 | Транзакция выполнена успешно только на сумму покупки (для транзакции 118 – Purchase with Cashback) | Purchase only approved |
510 | Нет номера счета в запросе транзакции, есть несколько счетов указанного типа, и терминал поддерживает выбор счета | Should select account number |
511 | Необходимо сменить PVV (разрешена только транзакция PIN Change) | Should change PVV |
512 | Необходимо подтвердить результаты проверки платежа в системе online-приема платежей | Confirm Payment Precheck |
513 | Транзакция запроса списка уведомлений выполнена успешно | Select Bill |
514 | Необходимо подтвердить результаты предпроверки операции | Customer confirmation requested |
515 | Не найдена оригинальная транзакция | Original transaction not found |
516 | Слип уже принят | Slip already received |
517 | Ошибка в реквизитах платежа | Personal information input error |
520 | Невозможно захватить Prepaid-код | Prepaid code not found |
521 | Баланс корр. счета исчерпан | Corresponding account exhausted |
522 | Превышен эквайринговый лимит | Acquirer limit exceeded |
524 | Истек срок действия диамического PVV | Dynamic PVV Expired |
525 | Слабый PIN | Weak PIN |
540 | Карта потеряна | Lost card |
541 | Карта украдена | Stolen card |
549 | Недопустимый тип платежа для данного вендора | Ineligible vendor account |
550 | Несанкционированное использование | Unauthorized usage |
551 | Истек срок действия карты | Expired card |
552 | Неверная карта | Invalid card |
553 | Неверный PIN-код | Invalid PIN |
554 | Системная ошибка | System error |
555 | Неподходящая транзакция | Ineligible transaction |
556 | Неподходящий счет | Ineligible account |
557 | Транзакция не поддерживается | Transaction not supported |
558 | Карта ограничена (данная операция по карте не разрешена) | Restricted Card |
559 | Недостаточно средств на счете | Insufficient funds |
560 | Превышен лимит на число использований карты | Uses limit exceeded |
561 | Лимит на снятие наличных будет превышен | Withdrawal limit would be exceeded |
562 | Достигнут или превышен лимит на число неверных вводов PIN-кода | PIN tries limit was reached |
563 | Достигнут лимит на снятие наличных | Withdrawal limit already reached |
564 | Достигнут лимит на депозит | Credit amount limit |
565 | Нет информации для предоставления отчета по счету | No statement information |
566 | Предоставление отчета по счету невозможно (запрещено) | Statement not available |
567 | Недопустимая сумма | Invalid amount |
568 | Транзакция отвергнута внешним хостом | External decline |
569 | Несогласованный запрос (данная карта не обслуживается в данном терминале) | No sharing |
571 | Необходимо обратиться к издателю | Contact card issuer |
572 | Авторизатор недоступен | Destination not available |
573 | Ошибка маршрутизации | Routing error |
574 | Ошибка формата | Format error |
575 | Транзакция отвергнута внешним хостом по специальному условию (владелец карты подозревается в мошенничестве) | External decline special condition |
580 | Неверный CVV | Bad CVV |
581 | Неверный CVV2 | Bad CVV2 |
582 | Неверная транзакция (транзакция не разрешена с такими условиями проведения) | Invalid transaction |
583 | Лимит на число неверных вводов PIN-кода УЖЕ достигнут (т.е. ранее был достигнут лимит на число неверных вводов PIN-кода, после чего был введен верный PIN) | PIN tries limit was exceeded |
584 | Неверное значение проверочного числа 3D Secure Cardholder Authentication Verification Value | Bad CAVV |
585 | Неверное значение криптограммы ARQC | Bad ARQC |
800 | Ошибка формата | Format error |
801 | Не найдена оригинальная транзакция для реверса | Original transaction not found |
809 | Неверная операция закрытия периода | Invalid close transaction |
810 | Произошел тайм-аут | Transaction timeout |
811 | Системная ошибка | System error |
820 | Неправильный идентификатор терминала | Invalid terminal identifier |
880 | Был послан последний пакет - прогрузка успешно завершена | Download has been received in its entirety |
881 | Предыдущий этап прогрузки был успешно выполнен –имеются еще данные | Download received successfully and there is more data for this download |
882 | Прогрузка терминала остановлена. Необходимо позвонить в процессинговый центр | Download aborted (call for service) |
897 | Получена неверная криптограмма в транзакции | Invalid cryptogram |
898 | Получен неверный MAC | Invalid MAC |
899 | Ошибка синхронизации | Sequence error—resync |
900 | Превышено число попыток ввода PIN. Требуется захват карты | Pin Tries Limit Exceeded |
901 | Карта просрочена, требуется захват карты | Expired Card |
909 | Требуется захват карты | External Decline Special Condition |
959 | Административная транзакция не поддерживается | Administrative transaction not supported |
2001 | Необходима верификация 3DS | Need 3ds verify |
Код | Расшифровка | Расшифровка (ENG) |
-1 | Системная ошибка | |
-2 | Не передан параметр merchant_id | General |
-3 | Мерчант не найден | Expired card |
-4 | Неправильная подпись | Number of PIN tries exceeded |
-5 | Лимит на выполнение операций | No sharing allowed |
-6 | Неверный номер карты | Invalid transaction |
-7 | Неверная валюта | Transaction not supported by institution |
-8 | Неверный order_id | Lost or stolen card |
-9 | Операция с таким order_id уже существует | Invalid card status |
-10 | Платеж не найден | Restricted status |
-11 | Неверный тип операции | Account not found |
-999 | Системная ошибка | Wrong customer information for payment |