Рекуррентные платежи

Внимание! Метод недоступен по умолчанию и предоставляется по запросу в support@capusta.space
Метод /recurrent-debit позволяет производить списания по токену подписки с учётом бизнес-логики вашего проекта. Он нужен в тех случаях, когда периодичность переводов невозможно предопределить (например, с этой целью вы привязываете карту в сервисе такси и после поездки сервис может списать с вас стоимость оказанных услуг).
POST /recurrent-debit

{
    "projectCode": "myproject",
    "subscriberId": 10,
    "subscriptionToken": "123124512849815812-128184724812",
    "description": "test",
    "amount": {
        "amount": 1000,
        "currency": "RUB"
    },
    "transactionId": "abcdef-zxcv"
}
  • transactionId — необязательный, передается в случае назначения собственного идентификатора оплаты

Необходимые для проведения таких платежей параметры subscriberId и subscriptionToken возвращаются в уведомлении о первом платеже с подпиской (callback) или после проведения установочного платежа. Методы не работают по умолчанию и предоставляются по запросу в службу поддержки.

Пример уведомления о подписке:

{
    "transactionId": "09af4329-cd4d",
    "callbackId": 1884,
    "amount": {
        "amount": 100000,
        "currency": "RUB"
    },
    "status": "SUCCESS",
    "subscriberId": 566,
    "subscriptionToken": "28873055-b565-4f4c-89ec-8c91fc63507f",
    "billId": "dc50ee84-b64e"
}
  • billId - идентификатор оплаченного счета

  • transactionId - идентификатор транзакции оплаты счета

  • subscriberId - необходимый идентификатор подписки для метода /recurrent-debit

  • subscriptionToken - токен подписки для списания

Установочный платёж

Внимание! Метод недоступен по умолчанию и предоставляется по запросу в support@capusta.space
Метод /setting-payment позволяет произвести установочный платеж с привязкой банковской карты для последующих безакцептных списаний.
POST /setting-payment

{
  "projectId": 1,
  "projectCode": "kotiki",
  "description": "test",
  "amount": {
    "amount": 1000,
    "currency": "RUB"
    },
    "transactionId": "abcdef-zxcv",
    "multiBill": false
}
Параметры projectCode и projectId являются взаимозаменяемыми.

Опциональные параметры (передавать их необязательно):
  • description предназначен для описания установочного платежа;
  • amount для проведения транзакции оплаты в качестве установочного платежа (если не указан, с карты будет списан и возвращен 1 руб.);
  • transactionId — для назначения собственного идентификатора оплаты
  • multiBill — признак возможности многократной оплаты счёта (если не указан, значение по умолчанию — true; если установить false — счёт может быть оплачен однократно)

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

"amount": {
        "amount": 100,
        "commission": 0,
        "currency": "RUB"
    },
    "created_at": "2021-09-22T13:50:16.119Z",
    "description": "test",
    "id": "some_string",
    "projectId": 1,
    "status": "CREATED",
    "payUrl": "https://get.capusta.space/bill/uuid",
    "subscription": {
      "id": 233,
      "per": null,
      "oneTimePayment": false
    }
}
Создаётся счет с подпиской, в ответе данного метода возвращается ссылка на оплату данного счета (payUrl), на которую следует переадресовать плательщика.

После проведения платежа на callback url придет сообщение вида:

{
    "transactionId": "09af4329-cd4d",
    "callbackId": 1884,
    "amount": {
        "amount": 100000,
        "currency": "RUB"
    },
    "status": "SUCCESS",
    "subscriberId": 566,
    "subscriptionToken":"28873055-b565-4f4c-89ec-8c91fc63507f",
    "billId": "dc50ee84-b64e"
}
где subscriptionToken - токен созданной подписки для списания по карте, с которой проводилась оплата. Его и следует использовать в методе /recurrent-debit для последующих списаний.