Перейти к содержанию

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": {
    //Параметры стандартного ответа
  }
}

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

object
amount
обязательный
integer
Сумма перевода, которая должна быть зачислена на карту-приёмник, в минимальных денежных единицах. Например, сумма 32.45 USD должна быть отправлена как 3245.
currency
обязательный
string
Валюта перевода в ISO-4217 формате, например USD.
object
Секция параметров карты-источника. Используйте шифрование на стороне клиента, если требуется.
number
обязательный
string
Номер карты-источника.
exp_month
условно обязательный
string (2)
Месяц окончания срока действия карты-источника, представленный одной или двумя цифрами (например, 01).
exp_year
условно обязательный
string (4)
Год окончания срока действия карты-источника, представленный четырьмя цифрами (например, 2027).
holder
условно обязательный
string (35)
Имя владельца карты-источника. Максимальная длина: 35 символов. Параметр опционален в системе PayCross, но может требоваться банком-эквайером.
token
условно обязательный
string
Токен карты-источника или зашифрованный токен в требуемом формате Apple Pay, Google Pay,.
Токен может использоваться вместо number, exp_month и exp_year карты-источника.
object
number
обязательный
string
Номер карты-приёмника или DPAN/ PAN -номер расшифрованного токена Apple Pay, Google Pay,.
exp_month
условно обязательный
string (2)
Месяц окончания срока действия карты-приёмника, представленный одной или двумя цифрами (например, 01).
exp_year
условно обязательный
string (4)
Год окончания срока действия карты-приёмника, представленный четырьмя цифрами (например, 2027).
holder
условно обязательный
string (35)
Имя владельца карты-приёмника. Максимальная длина: 35 символов. Параметр опционален в системе PayCross, но может требоваться банком-эквайером.
token
условно обязательный
string
Токен карты-приёмника. Обязателен, если передается вместо номера карты-приёмника.
test
boolean
true - выполнить проверку возможности P2P перевода между тестовыми картами
object
Секция, содержащая дополнительную информацию.
object
type
условно обязательный
string(3)
Код типа операции перевода в буквенно-цифровом формате, выданный процессинговым центром.
Уточните у Службы технической поддержки, необходимо ли передавать этот параметр.
Пример запроса
{
  "request": {
    "amount": 100,
    "currency": "USD",
    "credit_card": {
      "number": "4012001037141112"
    },
    "recipient_card": {
      "number": "4200000000000000"
    },
    "test": true
  }
}

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

Если перевод возможен, ответ будет содержать следующие параметры:

status
string
successful
message
string
Сообщение от системы банка.
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
Сообщение от системы банка.
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
Текстовое описание ошибки.
object
Объекты параметров, в которых возникли ошибки.
{parameter key}:[{error description}]
Описание ошибки.
Пример ответа: http 422
{
  "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"
      ]
    }
  }
}
Пример ответа: http 403
{
  "error_code": "absent_allowed_gateways",
  "message": "No available gateways. Allowed gateways are missing. Contact the payment service provider for details."
}

Осуществление 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 перевода.

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

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 перевода в вашей системе. Используйте уникальное значение для того, чтобы при запросе статуса транзакции получить актуальную информацию. В противном случае вы получите массив данных по 10 последним транзакциям, найденным по указанному 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 перевода между тестовыми картами.
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)
Год окончания срока действия карты-источника, представленный четырьмя цифрами (например, 2027).
holder
условно обязательный
string (35)
Имя владельца карты-источника. Максимальная длина: 35 символов. Параметр опционален в системе PayCross, но может требоваться банком-эквайером.
token
условно обязательный
string
Токен карты-источника, который вы получили в ответе первого перевода, или зашифрованный токен в требуемом формате Apple Pay, Google Pay,.
Токен может использоваться вместо number, exp_month и exp_year карты-источника.
object
Секция параметров карты-приемника. Используйте шифрование на стороне клиента, если требуется.
number
обязательный
string
Номер карты-приёмника или DPAN/ PAN -номер расшифрованного токена Apple Pay, Google Pay,.
exp_month
условно обязательный
string (2)
Месяц окончания срока действия карты-приёмника, представленный одной или двумя цифрами (например, 01).
exp_year
условно обязательный
string (4)
Год окончания срока действия карты-приёмника, представленный четырьмя цифрами (например, 2027).
holder
условно обязательный
string (35)
Имя владельца карты-приёмника. Максимальная длина: 35 символов. Параметр опционален в системе PayCross, но может требоваться банком-эквайером.
token
условно обязательный
string
Токен карты-приёмника, который вы получили в ответе первого перевода. Он может быть передан вместо выше указанных параметров number, holder, exp_month и exp_year.
object
Секция, содержащая дополнительную информацию.
referer
string
URL ресурса, с которого осуществляется запрос на проведение транзакции. Уточните у службы технической поддержки, является ли этот параметр обязательным.
receipt_text
array
Текст, который будет добавлен в письмо клиенту. Должен быть представлен как массив строк, например ["Первая строка", "Вторая строка"].
contract
array
Элементами массива могут быть параметры:

oneclick - PayCross вернет токен карты для осуществления последующих платежей по схеме oneclick, когда на странице перевода будут уже частично заполнены реквизиты карты, а пользователю для завершения оплаты достаточно ввести проверочный код карты CVC/CVV и пройти авторизацию по протоколу 3-D ­Secure.
object
Секция, содержащая дополнительную информацию о переводе.
type
условно обязательный
string(3)
Код типа операции перевода в буквенно-цифровом формате, выданный процессинговым центром.
Уточните у Службы технической поддержки, необходимо ли передавать этот параметр.
object
Секция информации о покупателе.
ip
string
IP-адрес отправителя перевода.
email
string
Адрес электронной почты отправителя перевода.
device_id
string
ID устройства отправителя перевода.
external_id
string (255)
Идентификатор отправителя перевода в системе торговца.
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
Номер телефона отправителя перевода.
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
Номер телефона получателя перевода.
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": "2027",
      "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"
    },
    "additional_data": {
      "referer": "https://example.com/server/cs_post/post.php?order_id=5304380&security=949247&currency=USD"
    }
  }
}

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

Параметры ответа копируют параметры запроса, но содержат и дополнительные параметры:

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, если параметр не был передан.
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
Год срока окончания действия карты-источника, представленный четырьмя цифрами (например, 2027).
token
string
Токен карты-источника, который возвращается если передан в запросе параметр contract.
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
Год срока окончания действия карты-приёмника, представленный четырьмя цифрами (например, 2027).
token
string
Токен карты-приёмника, который возвращается если передан в запросе параметр contract.
object
Результат проверки параметров запроса, которые необходимы для завершения P2P перевода.
status
string
Статус проверки.
message
string
Сообщение с результатом запроса.
amount
integer
Сумма перевода, которая зачислена на карту-приёмник, в минимальных денежных единицах.
currency
string
Валюта перевода в ISO-4217 формате, например USD.
bank_fee
float
Сумма комиссии банка за P2P перевод в основных денежных единицах.
object
credit_card
array
Массив параметров, которые должны быть запрошены о карте-источнике. Возможные элементы массива: holder, verification_value, exp_month, exp_year.
recipient_card
array
Массив параметров, которые должны быть запрошены дополнительно о карте-приёмнике. Возможные элементы массива: holder, exp_month, exp_year.
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
Статус операции в банке.
object
Секция информации о покупателе.
ip
string
IP-адрес отправителя перевода.
email
string
email отправителя перевода.
device_id
string
ID устройства отправителя перевода.
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
Номер телефона отправителя перевода.
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
Номер телефона получателя перевода.
object
Секция, содержащая дополнительную информацию о переводе.
referer
string
URL ресурса, с которого осуществляется запрос на проведение транзакции.
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": 2027,
      "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
    },
    "additional_data": {
      "referer": "https://example.com/server/cs_post/post.php?order_id=5304380&security=949247&currency=USD"
    }
  }
}
Пример ответа успешно завершенного 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": 2027,
      "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": 2027,
      "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 проверки карты-источника полностью аналогичен процессу проверки карты в случае операции оплата или авторизация.