Docs
Russian
Russian
  • Инструкция по интеграции Repay
    • Интеграция фейковой транзакции
  • Депозиты
    • Создание депозита
    • Коллбэк
    • Создание спора
    • Информация о депозите
    • Информация о балансе депозитного канала
  • Выплаты
    • Создание выплаты
    • Коллбэк
    • Информация о выплате
    • Информация о балансе выплат
  • Информация
  • Условия взаимодействия с мерчантом
Powered by GitBook
On this page
  • Схема взаимодействия
  • Интеграция backend
  • Request
  • Пример на cURL
  • Response
  1. Депозиты

Создание депозита

PreviousИнтеграция фейковой транзакцииNextКоллбэк

Last updated 7 months ago

Схема взаимодействия

  1. Ваш сервер делает запрос на создание сделки, получает идентификатор сделки и уникальную ссылку на оплату для пользователя.

  2. Вы отправляете пользователя по уникальной ссылке для оплаты, где пользователь получает реквизиты для перевода. На этом этапе от вас не требуется никаких действий.

  3. Наша система обрабатывает перевод пользователя и отправляет webhook уведомление (коллбэк) на ваш сервер об успешной оплате. В случае неуспешной оплаты уведомление не отправляется.

Интеграция backend

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

Request

POST

Headers

Name
Type
Description

Content-Type

application/json

Формат данных, отправляемых в теле запроса. В данном случае это JSON (application/json).

Эти поля могут быть переданы как заголовки в HTTP-запросе в зависимости от реализации API.

Parameters

Отсутствуют

Body

Name
Type
Description
Required

cassa_id

string

ID кассы. Доступен в личном кабинете мерчанта

amount

string (number)

Сумма сделки в фиатной валюте, без копеек

currency

string

Фиатная валюта сделки. Используется только поддерживаемая для вашей кассы RUB

payment_method_id

string

Метод оплаты. Передается поддержкой при интеграции

order_id

string

Внутренний ID сделки, который будет отправлен вам в вебхук-запросе

success_url

string

Ссылка для перенаправления пользователя при успешной оплате (возможно передать только в рамках доменного имени кассы)

error_url

string

Ссылка для перенаправления пользователя при неуспешной оплате (возможно передать только в рамках доменного имени кассы)

cancel_url

string

Ссылка для перенаправления пользователя, если он отменил сделку (возможно передать только в рамках доменного имени кассы)

webhook_url

string

Вебхук. Используется для определения адреса отправки коллбэка и включается по запросу

signature

string

Подпись для проверки подлинности запроса. Формируется в md5 из строки md (cassa_id:amount:секретное_слово_1)

payload

object

Дополнительная информация о сделке

payload.user_id

string

Уникальный идентификатор вашего пользователя или его хеш

payload.trusted

bool

Функция разделения трафика на первичку и вторичку. Указывает на то, доверенный ли пользователь.

Обязательно указывайте payload.user_id(string) и payload.trusted(bool) для корректной работы антифрода.

Если параметры cancel_url, success_url, error_url не указаны, то будут использованы параметры из настроек кассы.

Пример на cURL

#!/bin/bash

cassa_id="836a9869-0598-4b75-81bc-f7a600b83a72" # ID Кассы
secret="9c41b016-c8c6-4f30-b3de-c1fb9c9ec01d" # Секретное слово 1
amount=300 # Только целые числа
signature=$(echo -n "$cassa_id:$amount:$secret" | md5sum | awk '{print $1}')

curl -X POST https://repay.cx/api/v1/private/deals/ \
-H "Content-Type: application/json" \
-d '{
  "cassa_id": "$cassa_id",
  "amount": "$amount",
  "currency": "RUB",
  "order_id": "string",
  "payment_method_id": "aeba4e28-4d1e-4cfb-84b6-cdf0672c29f1",
  "success_url": "https://domain.com/success_page",
  "error_url": "https://domain.com/error_page",
  "cancel_url": "https://domain.com/cancel_page",
  "payload": {
    "user_id": "Идентификатор вашего пользователя",
    "trusted": "false/true"
  },
  "signature": "$signature"
}'

Этот скрипт сначала вычисляет подпись с использованием md5, а затем отправляет POST-запрос с помощью cURL.

Response

В ответ вы получаете payload, в котором содержится отправляемая информация и уникальная ссылка для оплаты.

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

{
   "status_code": 200,
   "error":
       {},
   "payload":
       {
           "id": "7a2ab81c-b041-4638-be6e-437049e7a8eb",
           "state": "created",
           "success_url": "https://example.com/success_page",
           "error_url": "https://example.com/error_page",
           "cancel_url": "https://example.com/cancel_page",
           "webhook_url": "https://example.com/api/repay_webhook",
           "payment_url": "https://paysystem3d.ac/355a7feb-c53b-4307-bfbc-43fc8da70948",
       }
}
Name
Type
Description

status_code

int

Код состояния HTTP-ответа. В данном случае 200 означает успешное выполнение запроса

error

object

Поле для хранения информации об ошибках. В текущем примере оно пустое, так как ошибки отсутствуют

payload

object

Основная полезная нагрузка ответа, содержащая данные о транзакции

payload.id

string

Уникальный идентификатор транзакции (UUID)

payload.state

string

Текущий статус транзакции. В данном примере — created (создана)

payload.success_url

string

Ссылка на страницу успешного завершения транзакции

payload.error_url

string

Ссылка на страницу ошибки при выполнении транзакции

payload.cancel_url

string

Ссылка на страницу отмены транзакции

payload.webhook_url

string

URL для отправки вебхука, уведомляющего о статусе транзакции

payload.payment_url

string

Ссылка для оплаты, ведущая к конкретной транзакции

Пример неудачного ответа

Если возникнет ошибка при создании кассы, вы получите ответ.

{
 "code": 610,
 "error": "Too small money amount",
 "description": "You can not create deal with amount less then 100"
}

Возможные ошибки:

Code
Name
Description

400

Bad request

Некорректный запрос

404

Not found exception

Не удалось найти необходимую информацию в базе (например, подобрать кассу)

451

Unavailable for legal status

Созданная сделка имеет некорректный статус

610

Too small money amount

Нет возможности создать сделку меньше, чем минимальная сумма создания сделки

611

Bad signature

Неправильно сгенерированная подпись

612

Unsupported payment method

Неподдерживаемый метод оплаты

613

Unsupported currency

Неподдерживаемая валюта

https://repay.cx/api/v1/private/deals/