P2P API
Info
Чтобы использовать данное API и обрабатывать нешифрованные данные карты, требуется наличие PCI DSS сертификата.
Проверка возможности P2P перевода
Запросы, описанные ниже, используются:
- для проверки возможности P2P перевода между картой-источником и картой-приёмником;
- для получения информации о комиссии и дополнительно запрашиваемых данных о карте-источнике или карте-приёмнике.
Используйте один из HTTP POST запросов в зависимости от способа вашей интеграции.
Запрос с авторизацией по секретному ключу
Отправьте POST запрос с авторизацией типа Basic с ID и Secret key магазина как имя пользователя и пароль соответственно на https://gateway.pay-cross.com/p2p-restrictions
. Укажите параметры, описанные здесь.
Запрос с авторизацией по публичному ключу в синхронном режиме
При работе в синхронном режиме, вы получите ответ на ваш запрос со всеми параметрами после того, как система обработает запрос.
Отправьте POST запрос с Bearer
авторизацией по публичному ключу и обязательной передачей заголовка X-Api-Version
в значении 2
на https://panel.pay-cross.com/ctp/api/verify-p2p
. Укажите параметры, описанные здесь.
Запрос с авторизацией по публичному ключу в асинхронном режиме
При работе в асинхронном режиме на ваш запрос вы получите в ответе статус задачи new
и job_id
, который система назначила вашему запросу. Далее вам необходимо узнать статус обработки запроса.
Отправьте HTTP POST запрос с Bearer
авторизацией по публичному ключу и обязательной передачей заголовка X-Api-Version
в значении 2
на https://panel.pay-cross.com/ctp/api/async/verify-p2p
. Укажите параметры, описанные здесь.
Пример ответа со статусом задачи new
и job_id
{
"status": "new",
"job_id": "62c5b51a1d69bde6e5afaa70"
}
Для получения статуса задачи по обработке запроса отправьте GET запрос с полученным значением job_id
на https://panel.pay-cross.com/ctp/api/async/jobs/{job_id}
.
Пример ответа для задачи со статусом new
{
"status": "new",
"job_id": "62c5b51a1d69bde6e5afaa70"
}
Пример ответа для задачи со статусом failed
{
"job_id": "62c5b51a1d69bde6e5afaa70",
"status": "failed",
"response": {
"status": "error",
"errors": [
"error"
],
"message": "Request processing error. Please try again later",
"finished": false
}
}
Пример ответа для задачи со статусом done
{
"status": "done",
"job_id": "62c5b51a1d69bde6e5afaa70",
"response": {
//Параметры стандартного ответа
}
}
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
request | object | |
amount * обязательный |
integer | Сумма перевода, которая должна быть зачислена на карту-приёмник, в минимальных денежных единицах. Например, сумма 32.45 USD должна быть отправлена как 3245. |
currency * обязательный |
string | Валюта перевода в ISO-4217 формате, например USD . |
credit_card | object | Секция параметров карты-источника. Используйте шифрование на стороне клиента, если требуется. |
number * обязательный |
string | Номер карты-источника. |
exp_month * условно обязательный |
string (2) | Месяц окончания срока действия карты-источника, представленный одной или двумя цифрами (например, 01). |
exp_year * условно обязательный |
string (4) | Год окончания срока действия карты-источника, представленный четырьмя цифрами (например, 2026). |
holder * условно обязательный |
string (35) | Имя владельца карты-источника. Максимальная длина: 35 символов. Параметр опционален в системе PayCross, но может требоваться банком-эквайером. |
token * условно обязательный |
string | Токен карты-источника или зашифрованный токен в требуемом формате. Токен может использоваться вместо number , exp_month и exp_year карты-источника. |
recipient_card | object | Можно использовать шифрование на стороне клиента |
number * обязательный |
string | Номер карты-приёмника или DPAN/ PAN -номер расшифрованного токена. |
exp_month * условно обязательный |
string (2) | Месяц окончания срока действия карты-приёмника, представленный одной или двумя цифрами (например, 01). |
exp_year * условно обязательный |
string (4) | Год окончания срока действия карты-приёмника, представленный четырьмя цифрами (например, 2026). |
holder * условно обязательный |
string (35) | Имя владельца карты-приёмника. Максимальная длина: 35 символов. Параметр опционален в системе PayCross, но может требоваться банком-эквайером. |
token * условно обязательный |
string | Токен карты-приёмника. Обязателен, если передается вместо номера карты-приёмника. |
test | boolean | true - выполнить проверку возможности P2P перевода между тестовыми картами |
additional_data | object | Секция, содержащая дополнительную информацию. |
p2p | object | Секция, содержащая дополнительную информацию о переводе. |
type * условно обязательный |
string(3) | Код типа операции перевода в буквенно-цифровом формате, выданный процессинговым центром. Уточните у Службы технической поддержки, необходимо ли передавать этот параметр. |
Пример запроса
{
"request": {
"amount": 100,
"currency": "USD",
"credit_card": {
"number": "4012001037141112"
},
"recipient_card": {
"number": "4200000000000000"
},
"test": true
}
}
Параметры ответа
Если перевод возможен, ответ будет содержать следующие параметры:
Параметр | Тип | Описание |
---|---|---|
status | string | successful |
message | string | Сообщение от системы банка. |
commission | object | |
minimum | float | Минимальная сумма комиссии, которая будет снята с карты-источника. |
percent | float | Процент комиссии, которая будет снята с карты-источника. |
bank_fee | float | Абсолютная величина комиссии, рассчитанная процессингом банка. |
currency | string | Валюта комиссии в ISO-4217 формате, например USD |
test | boolean | true - выполнить проверку возможности P2P перевода между тестовыми картами |
Пример ответа
{
"status": "successful",
"message": "p2p is allowed",
"commission": {
"minimum": 0.7,
"percent": 1.5,
"bank_fee": 7.35,
"currency": "USD"
}
}
Если перевод невозможен, ответ будет содержать следующие параметры:
Параметр | Тип | Описание |
---|---|---|
status | string | failed |
message | string | Сообщение от системы банка. |
required_fields | object | Секция комиссии за перевод. Если секция была получена в ответе, то комиссия за перевод не расчитывается. |
credit_card | array | Массив параметров, которые должны быть запрошены о карте-источнике. Возможные элементы массива: holder , verification_value , exp_month , exp_year . |
recipient_card | array | Массив параметров, которые должны быть запрошены дополнительно о карте-приёмнике. Возможные элементы массива: holder , exp_month , exp_year . |
Пример ответа
{
"status": "failed",
"message": "Missed credit card fields: holder.Missed recipient card fields: holder.",
"required_fields": {
"credit_card": [
"holder"
],
"recipient_card": [
"holder"
]
}
}
В случае ошибки ответ будет содержать следующие параметры:
Параметр | Тип | Описание |
---|---|---|
error_code | string | Код ошибки. |
message | string | Текстовое описание ошибки. |
errors | object | Объекты параметров, в которых возникли ошибки. |
Пример ответа
{
"error_code": "invalid_params",
"message": "Unprocessable entity",
"errors": {
"amount": [
"must be an integer"
],
"currency": [
"is unknown ISO 4217 Alpha-3 code"
],
"credit_card": {
"number": [
"is not a card number"
]
},
"recipient_card": {
"number": [
"is not a card number"
]
}
}
}
Осуществление P2P перевода
Для осуществления P2P перевода посредством PayCross API необходимо отправить один из HTTP POST запросов в зависимости от вашего способа интеграции.
Запрос с авторизацией по секретному ключу
Отправьте HTTP POST запрос с авторизацией типа Basic с ID и Secret key магазина как имя пользователя и пароль соответственно на https://gateway.pay-cross.com/transactions/p2ps
. Укажите параметры, описанные здесь.
Запрос с авторизацией по публичному ключу в синхронном режиме
При работе в синхронном режиме, вы получите ответ на ваш запрос со всеми параметрами после того, как система обработает запрос.
Отправьте HTTP POST запрос с Bearer
авторизацией по публичному ключу и обязательной передачей заголовка X-Api-Version
в значении 2
на https://panel.pay-cross.com/ctp/api/p2p
. Укажите параметры, описанные здесь.
Запрос с авторизацией по публичному ключу в асинхронном режиме
При работе в асинхронном режиме на ваш запрос вы получите в ответе статус задачи new
и job_id
, который система назначила вашему запросу. Далее вам необходимо узнать статус обработки запроса.
Отправьте HTTP POST запрос с Bearer
авторизацией по публичному ключу и обязательной передачей заголовка X-Api-Version
в значении 2
на https://panel.pay-cross.com/ctp/api/async/p2p
. Укажите параметры, описанные здесь.
Пример ответа со статусом задачи new
и job_id
{
"status": "new",
"job_id": "62c5b51a1d69bde6e5afaa70"
}
Для получения статуса задачи по обработке запроса отправьте GET запрос с полученным значением job_id
на https://panel.pay-cross.com/ctp/api/async/jobs/{job_id}
.
Ответы для статусов задач new
, failed
, done
такие же, как описаны для запроса проверки возможности P2P перевода.
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
request | object | |
amount * обязательный |
integer | Сумма перевода, которая должна быть зачислена на карту-приёмник, в минимальных денежных единицах. Например, сумма 32.45 USD должна быть отправлена как 3245. |
currency * обязательный |
string | Валюта перевода в ISO-4217 формате, например USD . |
description * обязательный |
string | Описание перевода. |
expired_at | string | Время в формате ISO 8601 YYYY-MM-DDThh:mm:ssTZD , до которого должен быть подтвержден перевод. |
tracking_id | string | ID перевода в вашей системе. Используйте уникальное значение для того, чтобы при запросе статуса транзакции получить актуальную информацию. В противном случае вы получите первую найденную по tracking_id транзакцию. |
duplicate_check | boolean | true или false . Параметр управляет процессом проверки входящего запроса на уникальность. Если в течение 30 секунд придет запрос на оплату с одинаковыми amount и number или token , то запрос будет отклонен. По умолчанию, этот параметр имеет значение true . |
language | string | Язык вашей страницы оформления заказа. Если параметр установлен и email уведомление о транзакции включено, то PayCross отправит email, язык текста которого будет language . По умолчанию - en . Доступные значения параметра language . |
notification_url | string | URL, на который будут приходить уведомления. Формат запроса уведомления аналогичен формату ответа транзакции. |
return_url | string | URL, на который PayCross будет перенаправлять отправителя перевода после возврата с 3-D Secure проверки для завершения P2P перевода. |
test | boolean | true - выполнить проверку возможности P2P перевода между тестовыми картами. |
credit_card | object | Секция параметров карты-источника. Используйте шифрование на стороне клиента, если требуется. |
number * обязательный |
string | Номер карты-источника. |
verification_value * обязательный |
string | 3-х или 4-х цифровой код безопасности (CVC2, CVV2 или CID, в зависимости от бренда карты). Может быть отправлен вместе с параметром token и PayCross доставит банку-эквайеру данные карты с CVC2/CVV2/CID. |
exp_month * условно обязательный |
string (2) | Месяц окончания срока действия карты-источника, представленный одной или двумя цифрами (например, 01). |
exp_year * условно обязательный |
string (4) | Год окончания срока действия карты-источника, представленный четырьмя цифрами (например, 2026). |
holder * условно обязательный |
string (35) | Имя владельца карты-источника. Максимальная длина: 35 символов. Параметр опционален в системе PayCross, но может требоваться банком-эквайером. |
token * условно обязательный |
string | Токен карты-источника, который вы получили в ответе первого перевода, или зашифрованный токен в требуемом формате. Токен может использоваться вместо number , exp_month и exp_year карты-источника. |
recipient_card | object | Секция параметров карты-приемника. Используйте шифрование на стороне клиента, если требуется. |
number * обязательный |
string | Номер карты-приёмника или DPAN/ PAN -номер расшифрованного токена. |
exp_month * условно обязательный |
string (2) | Месяц окончания срока действия карты-приёмника, представленный одной или двумя цифрами (например, 01). |
exp_year * условно обязательный |
string (4) | Год окончания срока действия карты-приёмника, представленный четырьмя цифрами (например, 2026). |
holder * условно обязательный |
string (35) | Имя владельца карты-приёмника. Максимальная длина: 35 символов. Параметр опционален в системе PayCross, но может требоваться банком-эквайером. |
token * условно обязательный |
string | Токен карты-приёмника, который вы получили в ответе первого перевода. Он может быть передан вместо выше указанных параметров number , holder , exp_month и exp_year . |
additional_data | object | Секция, содержащая дополнительную информацию. |
receipt_text | array | Текст, который будет добавлен в письмо клиенту. Должен быть представлен как массив строк, например ["Первая строка", "Вторая строка"] . |
contract | array | Элементами массива могут быть параметры:oneclick - PayCross вернет токен карты для осуществления последующих платежей по схеме oneclick, когда на странице перевода будут уже частично заполнены реквизиты карты, а пользователю для завершения оплаты достаточно ввести проверочный код карты CVC/CVV и пройти авторизацию по протоколу 3-D Secure. |
p2p | object | Секция, содержащая дополнительную информацию о переводе. |
type * условно обязательный |
string(3) | Код типа операции перевода в буквенно-цифровом формате, выданный процессинговым центром. Уточните у Службы технической поддержки, необходимо ли передавать этот параметр. |
customer | object | Секция информации о покупателе. |
ip | string | IP-адрес отправителя перевода. |
string | Адрес электронной почты отправителя перевода. | |
device_id | string | ID устройства отправителя перевода. |
sender_billing_address | object | |
first_name | string | Имя отправителя перевода. |
last_name | string | Фамилия отправителя перевода. |
country | string | Страна отправителя перевода в ISO 3166-1 alpha-2 формате. |
city | string | Город отправителя перевода. |
state | string | Двухбуквенная абревиатура штата отправителя перевода, если страна отправителя перевода US или CA . |
zip | string | Почтовый индекс отправителя перевода. Для country=US , формат zip должен иметь вид NNNNN или NNNNN-NNNN. |
address | string | Адрес отправителя перевода. |
phone | string | Номер телефона отправителя перевода. |
recipient_billing_address | object | |
first_name | string | Имя получателя перевода. |
last_name | string | Фамилия получателя перевода. |
country | string | Страна получателя перевода в ISO 3166-1 alpha-2 формате. |
city | string | Город получателя перевода. |
state | string | Двухбуквенная абревиатура штата получателя перевода, если страна получателя перевода US или CA . |
zip | string | Почтовый индекс получателя перевода. Для country=US , формат zip должен иметь вид NNNNN или NNNNN-NNNN. |
address | string | Адрес получателя перевода. |
phone | string | Номер телефона получателя перевода. |
billing_address | object | Секция billing_adress оставлена для сохранения совместимости с предыдущей версией API. Если разрабатывается новая интеграция - использовать секции sender_billing_adress и recipient_billing_adress . |
first_name | string | Имя отправителя перевода. |
last_name | string | Фамилия отправителя перевода. |
country | string | Страна отправителя перевода в ISO 3166-1 alpha-2 формате. |
city | string | Город отправителя перевода. |
state | string | Двухбуквенная абревиатура штата отправителя перевода, если страна отправителя перевода US или CA . |
zip | string | Почтовый индекс отправителя перевода. Для country=US , формат zip должен иметь вид NNNNN или NNNNN-NNNN. |
address | string | Адрес отправителя перевода. |
phone | string | Номер телефона отправителя перевода. |
Пример запроса
{
"request": {
"test": false,
"amount": 100,
"currency": "EUR",
"description": "Test transaction ütf",
"tracking_id": "tracking_id_000",
"billing_address": {
"phone": "123"
},
"credit_card": {
"number": "4012001037141112",
"verification_value": "123",
"exp_month": "01",
"exp_year": "2026",
"holder": "John Doe"
},
"recipient_card": {
"number": "4200000000000000",
"holder": "Mary Doe"
},
"customer": {
"ip": "127.0.0.1",
"device_id": "12312312321fff67",
"email": "[email protected]"
},
"sender_billing_address": {
"first_name": "John",
"last_name": "Doe",
"country": "PL",
"city": "Warsaw",
"address": "Gilbert 104"
},
"recipient_billing_address": {
"first_name": "Mary",
"last_name": "Doe",
"country": "PL",
"city": "Warsaw",
"address": "Gilbert 104"
}
}
}
Параметры ответа
Параметры ответа копируют параметры запроса, но содержат и дополнительные параметры:
Параметр | Тип | Описание |
---|---|---|
transaction | object | |
uid | string | UID обработанной транзакции. |
status | string | Статус перевода. |
amount | integer | Сумма перевода, которая зачислена на карту-приёмник, в минимальных денежных единицах. |
currency | string | Валюта перевода в ISO-4217 формате, например USD . |
description | string | Описание перевода. |
type | string | p2p |
payment_method_type | string | credit_card |
tracking_id | string | Значение параметра tracking_id из запроса. |
message | string | Сообщение с результатом запроса. |
test | boolean | Если true , то это тестовая операция. |
created_at | string | Время создания перевода в ISO 8601 формате (YYYY-MM-DDThh:mm:ssTZD ). |
updated_at | string | Время последнего обновления данных перевода в базе данных в ISO 8601 формате (YYYY-MM-DDThh:mm:ssTZD ). |
paid_at | string | В случае успешно завершенного перевода - это время завершения перевода в базе данных в ISO 8601 формате (YYYY-MM-DDThh:mm:ssTZD ). |
redirect_url * обязательный |
string | URL страницы для завершения транзакции. Если параметр status имеет значение incomplete , перенаправьте покупателя на этот URL для прохождения проверки 3-D Secure. |
language | string | Значение параметра language из запроса или en , если параметр не был передан. |
credit_card | object | |
holder | string | Имя владельца карты-источника. |
stamp | string | Отпечаток номера карты-источника. |
brand | string | Брэнд карты-источника. |
last_4 | string | Последние четыре цифры карты-источника. |
first_1 | string | Первая цифра карты-источника. |
bin | string | BIN карты-источника. |
issuer_country | string | Страна карты-источника. |
issuer_name | string | Банк-эмитент карты-источника. |
product * required |
string | Тип карточного продукта карты-источника. |
exp_month | string | Месяц окончания срока действия карты-источника, представленный двумя цифрами (например, 01). |
exp_year | string | Год срока окончания действия карты-источника, представленный четырьмя цифрами (например, 2026). |
token | string | Токен карты-источника, который возвращается если передан в запросе параметр contract . |
recipient_card | object | |
holder | string | Имя владельца карты-приёмника. |
stamp | string | Отпечаток номера карты-приёмника. |
brand | string | Брэнд карты-приёмника. |
last_4 | string | Последние четыре цифры карты-приёмника. |
first_1 | string | Первая цифра карты-приёмника. |
bin | string | BIN карты-приёмника. |
issuer_country | string | Страна карты-приёмника. |
issuer_name | string | Банк-эмитент карты-приёмника. |
product | string | Тип карточного продукта карты-приёмника. |
exp_month | string | Месяц окончания срока действия карты-приёмника, представленный двумя цифрами (например, 01). |
exp_year | string | Год срока окончания действия карты-приёмника, представленный четырьмя цифрами (например, 2026). |
token | string | Токен карты-приёмника, который возвращается если передан в запросе параметр contract . |
verify_p2p | object | Результат проверки параметров запроса, которые необходимы для завершения P2P перевода. |
status | string | Статус проверки. |
message | string | Сообщение с результатом запроса. |
amount | integer | Сумма перевода, которая зачислена на карту-приёмник, в минимальных денежных единицах. |
currency | string | Валюта перевода в ISO-4217 формате, например USD . |
bank_fee | float | Сумма комиссии банка за P2P перевод. |
required_fields | object | |
credit_card | array | Массив параметров, которые должны быть запрошены о карте-источнике. Возможные элементы массива: holder , verification_value , exp_month , exp_year . |
recipient_card | array | Массив параметров, которые должны быть запрошены дополнительно о карте-приёмнике. Возможные элементы массива: holder , exp_month , exp_year . |
p2p | object | Данные о P2P переводе, полученные из банка. |
receipt_url | string | Сcылка на квитанцию обработанной транзакции. |
ref_id | string | Номер операции в банке, осуществившем P2P перевод. |
bank_code | string | Код ответа банка. |
message | string | Сообщение с результатом запроса. |
amount | integer | Сумма перевода, которая зачислена на карту-приёмник, в минимальных денежных единицах. |
currency | string | Валюта перевода в ISO-4217 формате, например USD . |
billing_descriptor | string | Текст, который будет отображен на банковской выписке карты-источника. |
gateway_id | integer | Внутренний идентификатор банка в системе PayCross. |
status | string | Статус операции в банке. |
customer | object | Секция информации о покупателе. |
ip | string | IP-адрес отправителя перевода. |
string | email отправителя перевода. | |
device_id | string | ID устройства отправителя перевода. |
sender_billing_address | object | |
first_name | string | Имя отправителя перевода. |
last_name | string | Фамилия отправителя перевода. |
country | string | Страна отправителя перевода в ISO 3166-1 alpha-2 формате. |
city | string | Город отправителя перевода. |
state | string | Двухбуквенная абревиатура штата отправителя перевода, если страна отправителя перевода US или CA . |
zip | string | Почтовый индекс отправителя перевода. Для country=US , формат zip должен иметь вид NNNNN или NNNNN-NNNN. |
address | string | Адрес отправителя перевода. |
phone | string | Номер телефона отправителя перевода. |
recipient_billing_address | object | |
first_name | string | Имя получателя перевода. |
last_name | string | Фамилия получателя перевода. |
country | string | Страна получателя перевода в ISO 3166-1 alpha-2 формате. |
city | string | Город получателя перевода. |
state | string | Двухбуквенная абревиатура штата получателя перевода, если страна получателя перевода US или CA . |
zip | string | Почтовый индекс получателя перевода. Для country=US , формат zip должен иметь вид NNNNN или NNNNN-NNNN. |
address | string | Адрес получателя перевода. |
phone | string | Номер телефона получателя перевода. |
additional_data | object | Секция, содержащая дополнительную информацию о переводе. |
receipt_text | array | Текст, который будет добавлен в письмо клиенту. Должен быть представлен как массив строк, например ["Первая строка", "Вторая строка"] . |
Пример ответа требующего 3-D Secure проверки P2P перевода
{
"transaction": {
"uid": "1-82cc07d15d",
"status": "incomplete",
"amount": 100,
"currency": "EUR",
"description": "Test transaction ütf",
"type": "p2p",
"payment_method_type": "credit_card",
"tracking_id": "tracking_id_000",
"message": null,
"test": false,
"created_at": "2021-06-08T09:28:18.073Z",
"updated_at": "2021-06-08T09:28:20.280Z",
"paid_at": null,
"language": "en",
"redirect_url": "http://127.0.0.1:9887/process/1-82cc07d15d",
"credit_card": {
"holder": "John Doe",
"stamp": "9723c73562cf57c89e162d7adaad7cff30d2fa9364b45063cd4ccfe980a38c53",
"brand": "visa",
"last_4": "1112",
"first_1": "4",
"bin": "401200",
"issuer_country": null,
"issuer_name": null,
"product": null,
"exp_month": 1,
"exp_year": 2026,
"token_provider": null,
"token": null
},
"recipient_card": {
"holder": "Mary Doe",
"stamp": "9723c73562cf57c89e162d7adaad7cff30d2fa9364b45063cd4ccfe980a38c53",
"brand": "visa",
"last_4": "0000",
"first_1": "4",
"bin": "420000",
"issuer_country": null,
"issuer_name": null,
"product": null,
"exp_month": null,
"exp_year": null,
"token_provider": null,
"token": null
},
"receipt_url": "https://admin.pay-cross.com/customer/transactions/1-82cc07d15d/89caa14443680985ce8ac2452fb9f82b4947926ff5bce0f15a7b4c4d0834ea5d",
"recipient_billing_address": {
"first_name": "Mary",
"last_name": "Doe",
"address": "Gilbert 104",
"country": "PL",
"city": "Warsaw",
"zip": null,
"state": null,
"phone": null
},
"sender_billing_address": {
"first_name": "John",
"last_name": "Doe",
"address": "Gilbert 104",
"country": "PL",
"city": "Warsaw",
"zip": null,
"state": null,
"phone": null
},
"status_code": null,
"id": "1-82cc07d15d",
"verify_p2p": {
"status": "successful",
"message": "3DS",
"amount": 100,
"currency": "EUR",
"bank_fee": null,
"required_fields": null
},
"p2p": {
"ref_id": null,
"message": null,
"amount": 100,
"currency": "EUR",
"billing_descriptor": null,
"gateway_id": 1,
"status": "incomplete",
"auth_code": null,
"rrn": null,
"bank_code": null
},
"customer": {
"ip": "127.0.0.1",
"email": "[email protected]",
"device_id": "12312312321fff67",
"birth_date": null
}
}
}
Пример ответа успешно завершенного P2P перевода
{
"transaction": {
"uid": "1-4f4db7559d",
"status": "successful",
"amount": 100,
"currency": "EUR",
"description": "Test transaction ütf",
"type": "p2p",
"payment_method_type": "credit_card",
"tracking_id": "tracking_id_000",
"message": "Successfully processed",
"test": false,
"created_at": "2021-06-08T11:54:11.725Z",
"updated_at": "2021-06-08T11:54:39.219Z",
"paid_at": "2021-06-08T11:54:39.203Z",
"language": "en",
"redirect_url": "http://127.0.0.1:9887/process/1-4f4db7559d",
"credit_card": {
"holder": "John Doe",
"stamp": "9723c73562cf57c89e162d7adaad7cff30d2fa9364b45063cd4ccfe980a38c53",
"brand": "visa",
"last_4": "1112",
"first_1": "4",
"bin": "401200",
"issuer_country": null,
"issuer_name": null,
"product": null,
"exp_month": 1,
"exp_year": 2026,
"token_provider": null,
"token": null
},
"recipient_card": {
"holder": "Mary Doe",
"stamp": "9723c73562cf57c89e162d7adaad7cff30d2fa9364b45063cd4ccfe980a38c53",
"brand": "visa",
"last_4": "0000",
"first_1": "4",
"bin": "420000",
"issuer_country": null,
"issuer_name": null,
"product": null,
"exp_month": null,
"exp_year": null,
"token_provider": null,
"token": null
},
"receipt_url": "https://admin.pay-cross.com/customer/transactions/1-4f4db7559d/1b653d8b2c18f48a17b88435ca51e7b22bb69e5080a400faa40e3918ae6552d7",
"recipient_billing_address": {
"first_name": "Mary",
"last_name": "Doe",
"address": "Gilbert 104",
"country": "PL",
"city": "Warsaw",
"zip": null,
"state": null,
"phone": null
},
"sender_billing_address": {
"first_name": "John",
"last_name": "Doe",
"address": "Gilbert 104",
"country": "PL",
"city": "Warsaw",
"zip": null,
"state": null,
"phone": null
},
"status_code": null,
"id": "1-4f4db7559d",
"verify_p2p": {
"status": "successful",
"message": "3DS",
"amount": 100,
"currency": "EUR",
"bank_fee": null,
"required_fields": null
},
"p2p": {
"ref_id": "000005800042000145210608125426&000005800042000146210608125433",
"message": "Approved",
"amount": 100,
"currency": "EUR",
"billing_descriptor": null,
"gateway_id": 1,
"status": "successful",
"auth_code": null,
"rrn": null,
"bank_code": null
},
"customer": {
"ip": "127.0.0.1",
"email": "[email protected]",
"device_id": "12312312321fff67",
"birth_date": null
}
}
}
Пример ответа неуспешно завершенного P2P перевода
{
"transaction": {
"uid": "1-d8d4cd2503",
"status": "failed",
"amount": 100,
"currency": "EUR",
"description": "Test transaction ütf",
"type": "p2p",
"payment_method_type": "credit_card",
"tracking_id": "tracking_id_000",
"message": "Failed",
"test": false,
"created_at": "2021-06-08T11:48:15.002Z",
"updated_at": "2021-06-08T11:48:15.165Z",
"paid_at": null,
"language": "en",
"redirect_url": "http://127.0.0.1:9887/process/1-d8d4cd2503",
"credit_card": {
"holder": "John Doe",
"stamp": "9723c73562cf57c89e162d7adaad7cff30d2fa9364b45063cd4ccfe980a38c53",
"brand": "visa",
"last_4": "1112",
"first_1": "4",
"bin": "401200",
"issuer_country": null,
"issuer_name": null,
"product": null,
"exp_month": 1,
"exp_year": 2026,
"token_provider": null,
"token": null
},
"recipient_card": {
"holder": "Mary Doe",
"stamp": "9723c73562cf57c89e162d7adaad7cff30d2fa9364b45063cd4ccfe980a38c53",
"brand": "visa",
"last_4": "0000",
"first_1": "4",
"bin": "420000",
"issuer_country": null,
"issuer_name": null,
"product": null,
"exp_month": null,
"exp_year": null,
"token_provider": null,
"token": null
},
"receipt_url": "https://admin.pay-cross.com/customer/transactions/1-d8d4cd2503/047da8244b961a41b5ad52e138dd8b866e6e6e773c3510ec1eb1476192b62397",
"recipient_billing_address": {
"first_name": "Mary",
"last_name": "Doe",
"address": "Gilbert 104",
"country": "PL",
"city": "Warsaw",
"zip": null,
"state": null,
"phone": null
},
"sender_billing_address": {
"first_name": "John",
"last_name": "Doe",
"address": "Gilbert 104",
"country": "PL",
"city": "Warsaw",
"zip": null,
"state": null,
"phone": null
},
"status_code": null,
"id": "1-d8d4cd2503",
"verify_p2p": {
"status": "failed",
"message": "3DS",
"amount": 100,
"currency": "EUR",
"bank_fee": null,
"required_fields": null
},
"p2p": {
"ref_id": null,
"message": null,
"amount": 100,
"currency": "EUR",
"billing_descriptor": null,
"gateway_id": 1,
"status": "incomplete",
"auth_code": null,
"rrn": null,
"bank_code": null
},
"customer": {
"ip": "127.0.0.1",
"email": "[email protected]",
"device_id": "12312312321fff67",
"birth_date": null
}
}
}
3-D Secure проверка P2P перевода
Процес 3-D Secure проверки карты-источника полностью аналогичен процессу проверки карты в случае операции оплата или авторизация.