Выплата на банковскую карту по токену
Данный способ доступен, если:
-
У вас уже есть токенизированный номер карты.
-
Вы принимаете платежи и создаете рекурренты.
В таком случае вы можете использовать токены для совершения выплат. -
Вы приняли решение не хранить карточные данные, для которых необходимо выполнять дополнительные требования стандарта PCI DSS.
Для использования этого метода обратитесь к вашему менеджеру в Банке 131.
Обратите внимание:
- Возможность выплаты не зависит от проекта (
X-PARTNER-PROJECT
в header запроса), на котором был получен токен.- Вы можете проводить выплаты с использованием токена в том числе c расчетных счетов и с номинальных счетов.
Шаг 1. Сгенерируйте токен
Если вы приняли решение не хранить на своей стороне данные банковских карт, отправьте запрос на создание токена методом tokenize/elements
. В ответе придет токен.
Пропустите этот шаг, если у вас уже есть токен для рекуррентных выплат или токен, полученный через виджет.
Шаг 2. Создайте платежную сессию
Отправьте запрос на создание платежной сессии session/create
.
Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/create \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
}'
Пример ответа
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "created",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z"
}
}
Шаг 3. Начните выплату
Начните выплату, используя метод session/start/payout
.
В запросе передайте:
- Идентификатор сессии, полученный на предыдущем шаге.
- Один из следующих параметров, в зависимости от типа имеющихся у вас данных:
- Токен - в объекте
tokenized_card
. - Хеш - в объекте
encrypted_card
. - Токен для рекуррентных выплат - в объекте
recurrent
.
- Токен - в объекте
Вы можете узнать информацию о токене или о карте с помощью метода
token/info
. В том числе — получить последние 4 цифры номера карты, чтобы показать пользователю, куда придет выплата.
Пример запроса
- С токеном
- С хешем
- С токеном для рекуррентных выплат
curl -X POST \
https://demo.bank131.ru/api/v1/session/start \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_method": {
"type": "card",
"card": {
"type": "tokenized_card",
"tokenized_card": {
"token": "759c9852dde2211d7531b3d905c1d513fbfb914bee87fb567d99c7b2f2c2ad44"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
},
"metadata": "good"
}'
curl -X POST \
https://demo.bank131.ru/api/v1/session/start \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_method": {
"type": "card",
"card": {
"type": "encrypted_card",
"encrypted_card": {
"number_hash": "064e7045a239e2d5d0448c2f72be84beb8d6dc47020f5b1174bccb6f3b9b2f1b"
}
}
},
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
},
"metadata": "good"
}'
curl -X POST \
https://demo.bank131.ru/api/v1/session/start \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_3230",
"payment_method": {
"type": "recurrent",
"recurrent": {
"token": "9a8a650c49de69eb98549027c5bc366f5bda51efe59bb8c0e02eb8a8a4e359da"
}
},
"participant_details": {
"recipient": {
"full_name": "Ivanov Ivan"
}
},
"metadata": "good"
}'
Пример ответа
- С токеном
- С хешем
- С токеном для рекуррентных выплат
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [
{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [
{
"email": "user@gmail.com"
}
]
},
"payment_method": {
"type": "card",
"card": {
"type": "tokenized_card",
"tokenized_card": {
"token": "759c9852dde2211d7531b3d905c1d513fbfb914bee87fb567d99c7b2f2c2ad44"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}
]
}
}'
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [
{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [
{
"email": "user@gmail.com"
}
]
},
"payment_method": {
"type": "card",
"card": {
"type": "encrypted_card",
"encrypted_card": {
"number_hash": "064e7045a239e2d5d0448c2f72be84beb8d6dc47020f5b1174bccb6f3b9b2f1b"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}
]
}
}'
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"updated_at": "2018-05-27T02:03:00.000000Z",
"payments": [
{
"id": "po_2018",
"status": "in_progress",
"created_at": "2018-05-27T02:03:00.000000Z",
"customer": {
"reference": "user123",
"contacts": [
{
"email": "user@gmail.com"
}
]
},
"payment_method": {
"type": "recurrent",
"recurrent": {
"token": "9a8a650c49de69eb98549027c5bc366f5bda51efe59bb8c0e02eb8a8a4e359da"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"metadata": "good"
}
]
}
}'
Для выплат по токенизированным картам вы также можете использовать следующие запросы: