+7(495)774-78-17 Обратный звонок

CYPIX API V 3.0

Общие принципы взаимодействия

API платежного сервиса осуществляет прием платежей для web-сервисов. Инициализация платежа осуществляется через отправку запроса на сервер Cypix. По факту выполнения или не выполнения платежа на URL оплачиваемого сервиса со стороны платформы Cypix будет отправлено уведомление. Перед началом работы сервису Партнеру со стороны Cypix выдаётся:

  • Идентификатор сервиса (service_id);
  • Секретный ключ (secret).

Партнеру требуется настроить на своей стороне и сообщить:

  • URL для отправки уведомлений (может быть задан индивидуально для каждого сервиса);
  • URL, на который будет переадресован покупатель после совершения платежа с использованием платежной формы (может быть задан индивидуально для каждого сервиса);
  • E-mail, на который будут направляться реестры платежей.

1.Прием платежей
1.1.Инициализация платежа через шлюз

Для некоторых платежных методов, например, Мобильных платежей, Покупатель не будет переадресован на платежную форму Cypix. Это позволяет Партнеру интегрировать оплату в интерфейс сайта или приложения.

Для инициализации платежа Партнёру необходимо отправить запрос на URL

https://api.сypix.ru/transaction/ (основного сервера)

или

https://api.ferris.сypix.ru/transaction/ (тестового сервера)

методом GET с передачей следующих параметров:

Параметр Описание
service_id Идентификатор сервиса партнера. Создается на стороне Cypix и выдается вашим менеджером перед началом работы.

Пример: 5432

order_id Уникальный идентификатор платежа, сгенерированный на стороне Партнера (до 64 символов)

Пример: 12345678asdfgh

payment_method_id Идентификатор способа оплаты (Приложение 3)

Пример: 2

summ Сумма платежа, число с 2-мя знаками в дробной части, разделитель целой и дробной части - “.”

Пример: 120.20

currency Валюта, трехбуквенный код валюты по ISO 4217 (рубль: RUB)

Пример: RUB

msisdn Представляет из себя номер мобильного телефона в международном формате, то есть без +

Пример: 79031234567

email* Необязателен; используется для рассылки электронных чеков или инициализации оплаты через некоторые сервисы

Пример: test@cypix.ru

first_name* Необязателен; используется для рассылки электронных чеков или инициализации оплаты через некоторые сервисы

Пример: Василий

last_name* Необязателен; фамилия покупателя

Пример: Смирнов

country* Необязателен; двухсимвольный код страны

Пример: RU

city* Необязателен; город покупателя

Пример: Москва

address* Необязателен; адрес покупателя

Пример: ул. Арбат, 4

zip_code* Необязателен; почтовый индекс

Пример: 512886

description* Необязателен; используется в тексте SMS-сообщений или в описании услуги на форме

Пример: Оплата заказа №123

success_url* Необязателен; используется для возврата Покупателя на ресурс партнера при успешном статусе платежа

Пример: https://cypix.ru/shop/success

failure_url* Необязателен; используется для возврата Покупателя на ресурс партнера при непройденном платеже

Пример: https://cypix.ru/shop/failure

return_url* Необязателен; используется для возврата Покупателя на ресурс партнера при любом статусе платежа

Пример: https://cypix.ru/shop

hash Контрольная сумма. Высчитывается как md5(service_id+order_id+summ+currency +payment_method_id+ description+msisdn+secret), где “+”- знак конкатенации, “secret” - секретный ключ, выдаваемый при регистрации сервиса. Если необязательный параметр не передается, то он не участвует в расчете хеша.

Пример: 7373d616ba14400a7d2a6f4876dd7182

Пример запроса методом GET:

http://api.сypix.ru/transaction/?service_id=2&order_id=test_1456858950&summ=10¤cy=RUB&payment_method_id=1&msisdn=79121234567&hash=6409d9e491ef8116ad0901dad7a9778b

Где строка для генерации хеша (если секретный ключ имеет значение «7373d616ba14400a7d2a6f4876dd7182»):

2test_145685895010RUB1791212345677373d616ba14400a7d2a6f4876dd7182

В ответ на запрос сервер Cypix вернет HTTP 200 OK
с результатом принятия заявки в теле ответа в формате JSON со следующими параметрами:

Параметр Описание
processing_status Статус принятия платежа:
ACCEPTED - Заявка принята, ожидаются действия покупателя по совершению платежа;
REDIRECT - Для продолжения оформления заявки необходимо направить покупателя на указанный URL;
DENIED - Заявка не принята;
error_code В случае processing_status=DENIED указывается код ошибки, см. Приложение 1
location В случае processing_status=REDIRECT указывается URL, на который необходимо перенаправить Покупателя.
transaction_id В случае processing_status=ACCEPTED указывается номер транзакции на стороне сервера Cypix (целое число, до 20 знаков)

Пример: 2016030

Пример тела ответа в случае успешного принятия заявки:

{
    “transaction_id”: “123456”,
    “processing_status”: “ACCEPTED”,
    “error_code”: “0”
}
                

Пример тела ответа в случае успешного принятия заявки и необходимости редиректа на внешний ресурс:

{
	“transaction_id”: “123456”,
	“processing_status”: “REDIRECT”,
	“location”:”https://cypix.ru/payment/...”,
	“error_code”: “0”
}
                

Пример тела ответа в случае, если заявка не принята:

{
    “processing_status”: “DENIED”,
    “error_code”: “1”
}
                
1.2.Инициализация платежа с переадресацией покупателя на платежную форму
1.2.1. Инициализация через запрос к API

Для взаимодействия с платежной формой необходим токен, который присваивается платежной сессии при инициализации платежа.

Необходимо отправить запрос методом POST на URL

https://pay.cypix.ru/api/form/add (основного сервера)

или

https://pay.ferris.cypix.ru/api/form/add (тестового сервера)

со следующими параметрами:

Параметр Описание
serviceKey API ключ сервиса, созданный на стороне Cypix и выданный сервису перед началом работы

Пример: 4b43b0aee35624cd95b910189b3dc231

orderId Уникальный идентификатор платежа, сгенерированный на стороне сервиса (до 64 символов)

Пример: order7764

description Комментарий к платежу

Пример: Payment

currency Валюта, трехбуквенный код валюты по ISO 4217 (рубль: RUB)

Пример: RUB

amount Сумма платежа, число с 2-мя знаками в дробной части, разделитель целой и дробной части - “.”

Пример: 120.20

paymentMethodId* Необязателен; идентификатор способа оплаты (Приложение 3)

Пример: 3

returnUrl* Необязателен; используется для возврата Покупателя на url Партнера при любом статусе платежа. Если параметр не передается, будет выбран заданный при регистрации сервиса url.

Пример: https://cypix.ru/shop

В случае успешного запроса, сервер Cypix вернет HTTP 200 OK с параметрами:

Параметр Описание
token Токен доступа к форме

Пример: 94a08da1fecbb6e8b46990538c7b50b2

serviceTitle Наименование сервиса

Пример: Тестовый сервис

orderId Уникальный идентификатор платежа, сгенерированный на стороне сервиса (до 64 символов)

Пример: order7764

description Комментарий к заказу

Пример: Payment

currency Валюта, трехбуквенный код валюты по ISO 4217 (рубль: RUB)

Пример: RUB

amount Сумма платежа, число с 2-мя знаками в дробной части, разделитель целой и дробной части - “.”

Пример: 120.20

paymentMethodId* Динамический; идентификатор способа оплаты
(Приложение 3), если был указан при инициализации

Пример: 3

returnUrl Адрес для возврата Покупателя на url партнера при любом статусе платежа

Пример: : https://cypix.ru/shop

Для продолжения оплаты, необходимо перенаправить покупателя на URL:

https://pay.cypix.ru/form?type=token&token=<token>
1.2.2. Инициализация через параметры редиректа

Для совершения оплаты через параметры редиректа, необходимо перенаправить Покупателя на URL:

https://pay.cypix.ru/form?type=direct&<param1>=<value1>&... (основного сервера)

или

https://pay.ferris.cypix.ru/form?type=direct&<param1>=<value1>&...  (тестового сервера)

где параметры соответствуют указанным в разделе <2.1.Инициализация через запрос к API>

При завершении оплаты с любым статусом платежа, платформа Cypix перенаправит покупателя на фиксированный адрес на стороне Магазина <returnUrl>, переданный в запросе на инициализацию платежа или указанный при регистрации сервиса, с параметрами:

Параметр Описание
transaction Идентификатор транзакции

Пример: 1512556

order Номер заказа

Пример: order7764

status Статус обработки транзакции: PROCESSED - Транзакция прошла успешно FAILED - Транзакция была отклонена
1.3. Уведомление Партнера о совершенных платежах

После того, как транзакция прошла успешно или была отклонена, платформа Cypix направляет HTTP запрос методом GET на URL для уведомлений, предоставленный Партнером для сервиса перед началом работы.

Запрос, отсылаемый сервису, содержит следующие параметры с информацией о транзакции:

Параметр Описание
service Идентификатор сервиса, созданный на стороне Cypix и выданный сервису перед началом работы

Пример: 5432

order_id Уникальный идентификатор платежа, сгенерированный на стороне сервиса (до 64 символов)

Пример: order7764

processing_status Статус обработки транзакции: PROCESSED - Транзакция прошла успешно FAILED - Транзакция была отклонена
error_сode Код ошибки, если processing_status=FAILED, (расшифровка кодов ошибок см. Приложение 1)
price Сумма транзакции в валюте поступления, число с 2-мя знаками в дробной части, разделитель целой и дробной части - “.”

Пример: 120.20

price_rub Сумма транзакции в рублях, число с 2-мя знаками в дробной части, разделитель целой и дробной части - “.”

Пример: 120.20

currency Валюта поступления на счет партнера, трехбуквенный код валюты по ISO 4217 (рубль: RUB)

Пример: RUB

share Вознаграждение сервиса в валюте платежа

Пример: 120.20

share_rub Вознаграждение сервиса в рублях

Пример: 120.20

transaction_date Дата проведения транзакции на стороне сервера Cypix в формате YYYY-MM-DD HH:mm:ss

Пример: 2016-03-08 00:51:52

transaction_id Идентификатор транзакции на стороне сервера Cypix (целое число, до 20 знаков)

Пример: 2016030

payment_method_id Идентификатор способа оплаты (Приложение 3)

Пример: 2

hash Контрольная сумма. Высчитывается как md5: service_id+transaction_id+order_id+ processing_status+price+price_rub+currency+share +share_rub+ transaction_date+payment_method_id+secret где “+”- знак конкатенации, “secret” - секретный ключ, выдаваемый при регистрации сервиса. Если необязательный параметр не передается, то он не участвует в расчете хеша.

Пример: 7373d616ba14400a7d2a6f4876dd7182

1.4. API определения оператора мобильной связи по номеру покупателя

Для определения оператора мобильной связи Покупателя по MSISDN Партнёру необходимо отправить запрос методом GET на URL:

https://api.cypix.ru/operator/ (основного сервера)

или

https://api.ferris.cypix.ru/operator/  (тестового сервера)

с передачей следующих параметров:

Параметр Описание
service_id Идентификатор сервиса, созданный на стороне Cypix и выданный сервису перед началом работы

Пример: 5432

secret Секретный ключ сервиса, выдаваемый при регистрации сервиса
msisdn Номер мобильного телефона в международном формате, то есть без +

79031234567

В ответ на запрос партнер получит ответ HTTP 200 OK
с результатом принятия заявки в теле ответа в формате JSON с следующими параметрами:

Параметр Описание
operator_name Алиас оператора латинскими буквами

Пример тела успешного ответа:

{
    “operator_name”:”beeline”
}
                

В случае неверно заданных параметров будет выдан ответ HTTP – 400.
В случае некорректного secret будет выдан ответ HTTP – 401.
Расшифровка идентификаторов операторов указана в Приложении 2.

2. Мобильные подписки (Subscription API)
Исходные данные

Для начала работы с платформой партнеру необходимо предоставить следующие данные:
- URL для отправки уведомлений о статусе запросов на проведение платежей.
- URL сервиса для редиректа покупателя после активации подписки

Со стороны Cypix партнеру выдаются:
- Идентификатор сервиса партнера (для каждой ценовой категории).
- Секретный ключ (для каждой ценовой категории).

2.1. Интерфейс по рекуррентным платежам

Подпись запросов и ответов

Подпись каждого запроса и ответа передается в качестве параметра hash и представляет из себя MD5 сумму следующего вида:

                    <value1><value2> … <salt><service_key>
                

value1…value2 – значения параметров в той последовательности, в которой перечислены в документации параметров запроса
salt – случайное значение при запросе к сервису, при ответе – возвращается в качестве параметра
service_key – ключ, выдаваемый при регистрации сервиса

2.2. Создание подписки

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

https://api.cypix.ru/subscription/add  (основного сервера)

или

https://api.ferris.cypix.ru/subscription/add  (тестового сервера)

метод: POST
Accept: application/json
Content-Type: application/json

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

Параметр Тип данных Обязателен Описание
service_id long + Идентификатор сервиса, созданный на стороне Cypix и выданный сервису перед началом работы

Пример: 5432

msisdn string + Номер покупателя
sum currency + Сумма к оплате
retry boolean + Флаг, включен ли повтор не пройденных платежей
salt string + Случайное значение
hash string + Подпись

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

Параметр Тип данных Обязателен Описание
subscription_id long + Идентификатор созданной подписки
redirect_url string + Адрес для редиректа покупателя после активации подписки
confirmation_required boolean + Флаг, показывающий требуется ли партнеру передать на платформу Cypix введенный покупателем код подтверждения подписки
salt string + Случайное значение
hash string + Подпись

В случае ошибки:
HTTP code
400 BAD_REQUEST – некорректный запрос
424 FAILED_DEPENDENCY – ошибка создания подписки

Параметр Тип данных Описание
error string Описание ошибки

Подписка активируется автоматически при подтверждении согласия Покупателем. Далее, в зависимости от настроек сервиса, возможны два кейса:
а) подписка отменяется, если первое списание было неуспешным,
б) подписка остается активной и ожидает повторных продлений, по заданному расписанию

2.3. Создание подписки

Метод предназначен для передачи оператору пинкода, введенного Покупателем на сайте Сервиса для подтверждения подписки. Мобильный оператор получает пинкод, сравнивает с отправленным покупателю и уведомляет об активации подписки.

Его необходимо использовать, если Cypix возвращает в ответе на инициализацию подписки «confirmation_required» = «true» (см. 2.1. Создание подписки) Подтверждение подписки происходит отправкой запроса на URL:

https://api.cypix.ru/subscription/confirm  (основного сервера)

или

https://api.ferris.cypix.ru/subscription/confirm  (тестового сервера)

метод: POST Accept: application/json Content-Type: application/json

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

Параметр Тип данных Обязателен Описание
subscription_id long + Идентификатор подписки
code string + SMS код подтверждения
salt string + Случайное значение
hash string + Подпись

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

Параметр Тип данных Описание
salt string Случайное значение
hash string Подпись

В случае ошибки:
HTTP code
400 BAD_REQUEST – некорректный запрос
424 FAILED_DEPENDENCY – ошибка создания подписки

Параметр Тип данных Описание
error string Описание ошибки
2.4.Запрос статуса подписки

Партнер может запросить статус подписки. Для получения статуса подписки Партнеру необходимо сделать запрос методом GET На URL:

https://api.cypix.ru/subscription/status  (основного сервера)

или

https://api.ferris.cypix.ru/subscription/status  (тестового сервера)

Content-Type: application/json

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

Параметр Тип данных Обязателен Описание
ID long + Идентификатор подписки
salt string + Случайное значение
hash string + Подпись

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

Параметр Тип данных Описание
status enum NEW – новая подписка Новая подписка, согласие покупателя еще не подтверждено
ACTIVE – подписка активирована Подписка подтверждена покупателем, подписка активирована CANCELED – подписка прекращена Подписка прекращена, отказ покупателя от услуги.
Также, подписка отменяется после не пройденного инициального платежа или по таймауту
salt string Случайное значение
hash string Подпись

В случае ошибки:
HTTP code
401 UNAUTHORIZED – неавторизованный запрос
404 NOT_FOUND – подписка не найдена

Параметр Тип данных Описание
error string Описание ошибки
2.5. Запрос на отмену подписки

Для отмены подписки, переключения ее в статус CANCELED, необходимо отправить запрос на URL:

https://api.cypix.ru/subscription/cancel  (основного сервера)

или

https://api.ferris.cypix.ru/subscription/cancel  (тестового сервера)

метод: POST Accept: application/json Content-Type: application/json

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

Параметр Тип данных Обязателен Описание
subscription_id long + Идентификатор подписки
salt string + Случайное значение
hash string + Подпись

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

Параметр Тип данных Описание
salt string Случайное значение
hash string Подпись

В случае ошибки:
HTTP code
400 BAD_REQUEST – некорректный запрос
424 FAILED_DEPENDENCY – ошибка создания подписки

Параметр Тип данных Описание
error string Описание ошибки
2.6. Уведомление Партнера об изменении статуса подписки

Уведомления об изменении состояния подписки направляются на URL обработчика Партнера. В случае, если не удалось обработать запрос, событие будет повторно срабатывать в течение 10 минут с интервалом в 10 секунд.

метод: POST Accept: application/json Content-Type: application/json

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

Параметр Тип данных Обязателен Описание
service_id long + Идентификатор сервиса
subscription_id long + Идентификатор подпиские
subscription_status enum + NEW – новая подписка Новая подписка, транзакция с оплатой еще не подтверждена
ACTIVE – подписка активирована Первый платеж подтвержден покупателем, подписка активирована
CANCELED – подписка прекращена Подписка прекращена, отказ покупателя от услуги.
Также, подписка отменяется после не пройденного инициального платежа
subscription_status_date datetime yyyy-MM-dd HH:mm:ss + Дата и время изменения статуса подписки
msisdn string + Номер покупателя
salt string + Случайное значение
hash string + MD5 подпись, значения параметров без разделителя:
  • service_id
  • subscription_id
  • subscription_status
  • msisdn
  • salt
  • SecretKey

Ответ при HTTP 200 OK:

Параметр Тип данных Описание
Параметры отсутствуют

В случае ошибки:

Параметр Тип данных Описание
error enum/string Код ошибки
error BAD_SIGNATURE Некорректная подпись

HTTP code:

200 OK - Уведомление принято к обработке
400 BAD_REQUEST – Некорректный формат входных параметров
500 INTERNAL_SERVER_ERROR – Неизвестная ошибка

2.7. Уведомление Партнера о тарификациях по подпискам (о списаниях)

Method: GET

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

Параметр Тип данных Обязателен Описание
service_id long + Идентификатор сервиса
order_id string + Идентификатор заказа
error_code long + 0 – запрос выполнен успешно
currency string + Код валюты (RUB)
price currency + Сумма
price_rub currency + Сумма в рублях
transaction_id long + Идентификатор транзакции
share currency + % доли партнера
share_rub currency + Сумма доли партнера в рублях
transaction_date datetime yyyy-MM-dd HH:mm:ss + Дата платежа
payment_method_id long + Идентификатор платежного метода
customer_id string - Идентификатор покупателя на стороне партнера
operator_id long - Идентификатор мобильного оператора
msisdn string - Номер покупателя
subscription_id long - Идентификатор рекурентного (периодического ) платежа
subscription_initial_payment boolean - Является ли платеж инициальным по рекурентному платежу
Hash string + MD5 подпись, значения параметров без разделителя:
  • service_id
  • transaction_id
  • customer_id
  • order_id
  • processing_status
  • price
  • price_rub
  • currency
  • share
  • share_rub
  • transaction_date
  • payment_method_id
  • secretKey
3. Массовые выплаты
Исходные данные

Для начала работы с платформой Партнеру необходимо предоставить следующие данные: - URL для отправки уведомлений о статусе запросов на проведение выплату. Со стороны Cypix партнеру выдаются:

- Идентификатор партнера.
- Секретный ключ для подписи запросов
- Список доступных каналов и методов

Запросы API

Все запросы осуществляются по протоколу HTTP на URL:

https://api.cypix.ru/payouts/  (основного сервера)

или

https://api.ferris.cypix.ru/payouts/  (тестового сервера)

Запросы и ответы передаются в формате JSON, кодировка UTF-8

3.1. Инициализация транзакции на выплату

Для совершения выплаты, партнёру необходимо отправить запрос на оплату методом POST на URL:

https://api.cypix.ru/payouts/transacion  (основного сервера)

или

https://api.ferris.cypix.ru/payouts/transaction  (тестового сервера)

с передачей следующих параметров:
Данные нужно передавать в формате json объекта.

Параметр Обязательный Описание
partner_payout_id Да Идентификатор заявки на выплату в системе ПАРТНЕРА.
partner_id Да Идентификатор ПАРТНЕРА
channel_id Да Идентификатор канала
method_id Да Идентификатор метода выплаты
salt Да Соль для подписи запроса, произвольная строка длиной до 255 символов
amount Да Сумма перевода, десятичный разделитель: точка
destination Да Идентификатор получателя. Номер телефона, номер банковской карты, номер лицевого счета или иное
receiver_phone Нет Телефон получателя, если этот параметр обязательный для канала и метода выплат
signature Да Подпись запроса. Используется для проверки целостности полученной информации и однозначной идентификации отправителя. Алгоритм формирования.
MD5(partner_payout_id+partner_id+channel_id+method_id+salt+amount+destination+secret) ,
где «+» - знак конкатенации, secret – секретный ключ.
destination_extra Да Объект с дополнительными параметрами получателя, набор параметров и обязательность зависит от метода выплаты

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

{
    "partner_payout_id":"12934",
    "partner_id":"123",
    "channel_id":"1",
    "method_id":"1001",
    "salt": "d41d8cd98f00b204e9800998ecf8427e",
    "amount": "200.00",
    "destination":"8000123412341234",
    "signature": "417aa94ab5f70630700fd07bc00c308b"
}
                

где подпись это:

MD5(1293412311001d41d8cd98f00b204e9800998ecf8427e200.0074be16979710d4c4e7c6647856088456) , если секретный ключ это "74be16979710d4c4e7c6647856088456"
                

Пример запроса с дополнительными параметрами:

{
    "partner_payout_id":"12934",
    "partner_id":"123",
    "channel_id":"1",
    "method_id":"4002",
    "salt": "d41d8cd98f00b204e9800998ecf8427e",
    "amount": "200.00",
    "destination":"8000123412341234",
    "signature": "417aa94ab5f70630700fd07bc00c308b"
    "destination_extra": {
        "bank_bic": "1343243",
        "receiver_fio": "Пупкин Василий Сергеевич",
        "receiver_address": "г. Москва, ул. Главная, д. 1" ,
        "payment_comment": "Перевод за что-то там"
    }
}
                

В ответ на запрос партнер получит ответ HTTP 200 OK с результатом принятия заявки в теле ответа в формате JSON, с следующими параметрами:

Параметр Обязательный Описание
result Да Статус принятия запроса на выплату, может иметь значения "OK", при успехе или "ERROR", при неуспехе.
comment Нет Подробности статуса, может содержать подробности ошибки
data Да, если result=OK Данные принятого запроса

Объект data представляет собой json массив с объектами, содержащими данные о статусе запроса в следующем формате:

Параметр Обязательный Описание
payout_id Да, если result=OK Идентификатор выплаты на стороне Cypix

Пример ответа:

{
    "result":"OK",
    "data":{
        "payout_id":"123412"
    }
}
или
{
	"result":"ERROR",
	"comment": "Неверная подпись запроса"
}

            
3.2. Запрос баланса

Для запроса баланса, партнёру необходимо отправить запрос методом POST на URL:

https://api.cypix.ru/payouts/balance (основного сервера)

или

https://api.ferris.cypix.ru/payouts/balance (тестового сервера)

с передачей следующих параметров:

Параметр Обязательный Описание
partner_id Да Идентификатор Партнера
salt Да Соль для подписи запроса, произвольная строка длиной до 255 символов
signature Да Подпись запроса Используется для проверки целостности полученной информации и однозначной идентификации отправителя. Алгоритм формирования.
MD5(partner_id+salt+secret) ,
где «+» - знак конкатенации, secret – секретный ключ

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

{
	"partner_id":"OK",
	"salt":"d41d8cd98f00b204e9800998ecf8427e",
	"signature":"417aa94ab5f70630700fd07bc00c308b"
}

                

В ответ на запрос партнер получит ответ HTTP 200 OK с результатом принятия заявки в теле ответа в формате JSON, с следующими параметрами:

Параметр Обязательный Описание
result Да Статус принятия запроса баланса, может иметь значения "OK", при успехе или "ERROR", при неуспехе.
comment Нет Подробности статуса, может содержать подробности ошибки
data Да, если result=OK Запрошенные данные

Объект data представляет собой json массив с объектами, содержащими баланс по доступным каналам выплат в следующем формате:

Параметр Обязательный Описание
channel_id Да Идентификатор канала
balance Нет Подробности статуса, может содержать подробности ошибкиРазмер доступного к выплатам баланса, десятичный разделитель: точка

Пример ответа:

{
	"result":"OK",
	"data":[
		{
			"channel_id":"1",
			"balance": "100.00"
		},
		{
			"channel_id":"2",
			"balance": "0.00"
		}
	]
}

                
3.3. Запрос статуса транзакции на выплату

Для запроса статуса выплаты, партнёру необходимо отправить запрос методом POST на URL:

https://api.cypix.ru/payouts/status (основного сервера)

или

https://api.ferris.cypix.ru/payouts/status  (тестового сервера)

с передачей следующих параметров:

Параметр Обязательный Описание
partner_payout_id Да Идентификатор заявки на выплату в системе Партнера
partner_id Да Идентификатор Партнера
salt Да Соль для подписи запроса, произвольная строка длиной до 255 символов
signature Да Подпись запроса Используется для проверки целостности полученной информации и однозначной идентификации отправителя. Алгоритм формирования.
MD5(partner_payout_id+partner_id+salt+secret) ,
где «+» - знак конкатенации, secret – секретный ключ

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

{
	"partner_payout_id":"12934",
	"partner_id":"OK",
	"salt":"d41d8cd98f00b204e9800998ecf8427e",
	"signature":"417aa94ab5f70630700fd07bc00c308b"
}
                

В ответ на запрос партнер получит ответ HTTP 200 OK с результатом принятия заявки в теле ответа в формате JSON, с следующими параметрами:

Параметр Обязательный Описание
result Да Статус принятия запроса баланса, может иметь значения "OK", при успехе или "ERROR", при неуспехе.
comment Нет Подробности статуса, может содержать подробности ошибки
data Да, если result=OK Запрошенные данные

Объект data содержит собой json массив с объектами, содержащими данные о статусе выплат в следующем формате:

Параметр Обязательный Описание
status Да Статус выплаты:
DONE - выплата совершена
FAILED - выплата не совершена
NOT_FOUND - выплата не найдена
PENDING - выплата в процессе обработки
payout_date ДА, если status=DONE Дата совершения выплаты
Формат: yyyy-MM-dd HH:mm:ss
Пример '2017-01-31 17:27:12'
payout_id Да, если status не NOT FOUND Идентификатор выплаты на стороне Cypix

Пример ответа:

{
	"result":"OK",
	"data":{
		"status":"DONE",
		"payout_date":"2017-01-31 11:29:34",
		"payout_id":123412
	}
}
                
3.4. Запрос выписки/истории по совершенным выплатам

Для запроса статуса выплаты, партнёру необходимо отправить запрос методом POST на URL:

https://api.cypix.ru/payouts/registry (основного сервера)

или

https://api.ferris.cypix.ru/payouts/registry (тестового сервера)

с передачей следующих параметров:

Параметр Обязательный Описание
partner_id Да Идентификатор Партнера
salt Да Соль для подписи запроса, произвольная строка длиной до 255 символов
date_from Да Дата-время начала периода
Формат: yyyy-MM-dd HH:mm:ss

Пример '2017-01-01 00:00:00'

date_to Да Дата-время окончания периода
Формат: yyyy-MM-dd HH:mm:ss

Пример '2017-01-31 00:00:00'

signature Да Подпись запроса Используется для проверки целостности полученной информации и однозначной идентификации отправителя.

Алгоритм формирования.
MD5(partner_id+ salt+date_from+date_to+secret) ,
где «+» - знак конкатенации, secret – секретный ключ

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

{
	"partner_id":"OK",
	"salt":"d41d8cd98f00b204e9800998ecf8427e",
	"date_from":"2017-01-01 11:29:34",
	"date_to":"2017-01-31 17:27:12",
	"signature":"417aa94ab5f70630700fd07bc00c308b"
}
                

В ответ на запрос партнер получит ответ HTTP 200 OK с результатом принятия заявки в теле ответа в формате JSON, с следующими параметрами:

Параметр Обязательный Описание
result Да Статус принятия запроса выписки, может иметь значения "OK", при успехе или "ERROR", при неуспехе.
comment Нет Подробности статуса, может содержать подробности ошибки
data Да, если result=OK Запрошенные данные

Объект data представляет собой json массив с объектами, содержащими данные выписки в следующем формате:

Параметр Обязательный Описание
partner_payout_id Да Идентификатор заявки на выплату в системе Партнера
payout_date Да Дата совершения выплаты
Формат: yyyy-MM-dd HH:mm:ss
Пример '2017-01-31 17:27:12'
payout_id Да Идентификатор выплаты на стороне Cypix
channel_id Да Идентификатор канала
method_id Да Идентификатор метода выплаты
amount Да Сумма перевода, десятичный разделитель: точка.
destination Да Идентификатор получателя. Номер телефона, номер банковской карты, номер лицевого счета или иное

Пример ответа:

{
	"result":"OK",
	"data":[
		{
			"partner_payout_id":"12934",
			"payout_id":"1231232"
			"payout_date":"2017-01-31 11:29:34",
			"channel_id":"1",
			"method_id":"4002",
			"amount": "200.00",
			"destination":"8000123412341234"
		},
		{
			"partner_payout_id":"12935",
			"payout_id":"1231233"
			"payout_date":"2017-01-31 11:29:38",
			"channel_id":"1",
			"method_id":"4002",
			"amount": "300.00",
			"destination":"8000123412341235"
		}
	]
}
                
3.5. Уведомления Партнера о статусах транзакций на выплату:

При изменении статуса выплаты Cypix отправляет на указанный при подключении URL Партнера запрос методом POST со следующими параметрами:

Параметр Обязательный Описание
partner_payout_id Да Идентификатор заявки на выплату в системе Партнера.
payout_id Да Идентификатор выплаты на стороне Cypix
payout_date Да, если status=DONE Дата совершения выплаты
Формат: yyyy-MM-dd HH:mm:ss

Пример '2017-01-31 17:27:12'

channel_id Да Идентификатор канала
method_id Да Идентификатор метода выплаты
salt Да Соль для подписи запроса, произвольная строка длиной до 255 символов
amount Да Сумма перевода, десятичный разделитель: точка
destination Да Идентификатор получателя. Номер телефона, номер банковской карты, номер лицевого счета или иное
status Да Статус выплаты
DONE - выплата совершена
FAILED - выплата не совершена
signature Да Подпись запроса.
Используется для проверки целостности полученной информации и однозначной идентификации отправителя. Алгоритм формирования.
MD5(partner_payout_id+payout_id+channel_id+method_id+amount+destination+salt+status+secret),
где «+» - знак конкатенации, secret – секретный ключ.
comment Да Подробности статуса, может содержать подробности ошибки

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

{
	"partner_payout_id":"12934",
	"payout_id":"1231232"
	"payout_date":"2017-01-31 11:29:34",
	"channel_id":"1",
	"method_id":"4002",
	"amount": "200.00",
	"destination":"8000123412341234",
	"status":"DONE",
	"salt":"d41d8cd98f00b204e9800998ecf8427e",
	"signature":"417aa94ab5f70630700fd07bc00c308b"
}
                

В ответ Cypix ожидает получить ответ с HTTP 200. Если получает любой другой ответ, то предпринимается повторная попытка доставки уведомления несколько раз.

Приложение 1. Список кодов ошибок
Код ошибки Описание
0 Операция успешна, ошибки отсутствуют
1 Неверное значение параметра hash
2 Неверное значение параметра service_id
3 Некорректный запрос, отсутствует один или несколько обязательных параметров
4 Внутренняя ошибка обработки запроса, необходимо обратиться в техническую поддержку Cypix
5 Запрос на инициализацию платежа не может быть принят
500 Платеж отклонен оператором (причина неизвестна)
504 Платеж отклонен оператором (ожидается подтверждение другого платежа)
505 Превышен таймаут ожидания подтверждения платежа
51 Передан некорректный идентификатор пользователя(например некорректный MSISDN при оплате через QIWI/МК)
516 Платеж отклонен оператором (абонент имеет признак - запрет возврата части аванса)
517 Платеж отклонен оператором (у абонента отсутствует разрешение на передачу персональных данных)
518 Платеж отклонен оператором (Услуга недоступна для данного источника средств)
519 Платеж отклонен оператором (Ошибка идентификации источника средств)
52 Оплата через данного оператора не доступна
59 Платеж отклонен оператором (причина не известна)
6 Оплату данным методом платежа невозможно провести без перенаправления пользователя на платежную форму Cypix
7 Некорректная сумма платежа
701 Недостаточно средств для проведения платежа
71 Сумма платежа превышает допустимую сумму
72 Сумма платежа меньше минимально разрешенной
73 Некорректная валюта платежа
8 MSISDN заблокирован
81 MSISDN внесен в черный список
82 Превышен лимит по количеству платежей за определенный период времени по данному MSISDN
9 Определение MSISDN через XBR недоступно
Приложение 2. Список идентификаторов операторов сотовой связи
Идентификатор Оператор
mts МТС
beeline Билайн
megafon МегаФон
tele2 Теле2
tattelecom Таттелеком
unknown Оператор не известен
Приложение 3. Идентификаторы платежных методов
Идентификатор Платежный метод Перенаправление покупателя
на страницу ПС
1 Мобильная коммерция -
2 Платеж банковскими картами -
3 Alfa Money +
4 PSBank +
5 Qiwi wallet +
6 Sberbank Online +
7 Yandex Wallet +
8 Webmoney +
Приложение 4. Идентификаторы каналов массовых выплат
id Название
1 Channel1 (receiver_phone обязателен)
2 Channel2 (receiver_phone обязателен)
Приложение 5. Идентификаторы платежных средств для массовых выплат
id Название Дополнительные параметры назначения платежа
1001 Пополнение Visa\Mastercard РФ Отсутствуют
1002 Пополнение карта МИР Отсутствуют
2000 Автоопределение оператора Отсутствуют
2001 РФ МТС Отсутствуют
2002 РФ Билайн Отсутствуют
2003 РФ Мегафон Отсутствуют
2013 РФ Tele2 Отсутствуют
3001 WebMoney R Отсутствуют
3002 Yandex.Money Отсутствуют
3003 Qiwi кошелек Отсутствуют
3004 Qiwi Visa Wallet Отсутствуют
4002 Переводы на л\с в банки РФ bank_bic - БИК банка получателя
receiver_fio - Фамилия Имя Отчество получателя перевода
receiver_address - Адрес получателя перевода, по месту регистрации
payment_comment - Назначение платежа