Перейти к основному содержимому

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

Рекуррентный платеж CIT (Customer Initialized Transaction) — это возможность проводить оплату по рекуррентному токену с верификацией плательщика посредством 3D Secure.

Для гарантии успешной оплаты платежей CIT мы рекомендуем использовать идентификатор проекта, предназначенный для платежей с 3D Secure.

Как сделать рекуррентный платеж CIT

  1. Инициируйте платежную сессию методом session/init/payment, в запросе передайте значение initiator:client в объекте recurrent и URL для возврата плательщика после прохождения верификации 3D Secure в параметре return_url;
Пример запроса
curl -X POST 
https://demo.bank131.ru/api/v1/session/init/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "recurrent",
"recurrent": {
"token": "token_value",
"initiator": "client"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://131.ru"
}
}'
  1. Дождитесь от Банка 131 вебхука action_required с данными для редиректа на страницу прохождения 3D Secure.
Пример вебхука
curl -X POST \
https://partner.ru \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "action_required",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"acquiring_payments": [
{
"id": "pm_131",
"status": "pending",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user@131.ru"
},
"payment_details": {
"type": "recurrent",
"recurrent": {
"token": "token_value",
"initiator": "client"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"amounts": {
"fee": {
"merchant_fee": {
"amount": 10,
"currency": "RUB"
}
}
},
"customer_interaction": {
"type": "redirect",
"redirect": {
"url": "https://bank131.ru?foo=bar",
"base_url": "https://bank131.ru",
"method": "GET",
"qs": {
"foo": "bar"
},
"params": {
"paReq": "sdfew^//asdhbv",
"MD": "abc75daefnn"
}
}
}
}
]
}
}'
  1. Перенаправьте пользователя на адрес, который получили в поле customer_interaction.redirect.url. Обратите внимание на метод для перенаправления пользователя в поле customer_interaction.redirect.method: он может быть как GET, так и POST.
  2. Дождитесь от Банка 131 вебхука payment_finished с результатом проведения рекуррентного платежа.
Пример вебхука
{
"type": "payment_finished",
"session": {
"id": "ps_3230",
"status": "accepted",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"acquiring_payments": [
{
"id": "pm_2705",
"status": "succeeded",
"created_at": "2018-05-27T02:03:00.000000Z",
"finished_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "recurrent",
"recurrent": {
"token": "token_value",
"initiator": "client"
}
},
"recurrent": {
"token": "feda2b2106a2e8747bbdc4c9f53c7f5f6ab845ffa1b7cc68ca839720af99b3d1",
"created_at": "2020-07-14T13:17:11+03:00",
"finished_at": "2020-07-31T16:05:42+03:00",
"is_active": true
},
"amount_details": {
"amount": 10000,
"currency": "rub"
}
}
]
}
}
  1. Обратите внимание, что после прохождения верификации 3D Secure плательщик будет возвращен на return_url. Вызов return_url может быть произведен при помощи как метода GET, так и POST, от вас может потребоваться настроить преобразование (редирект) запроса POST в GET.

Схема рекуррентного платежа CIT