SplitPay

Карты

Привязка карты клиента по SMS-коду

Клиент - это externalUserId, идентификатор пользователя в вашей системе. Отдельно создавать клиента не нужно: он появляется при первой привязке карты.

Привязка

POST
/v1/cards

Авторизация

bearer
АвторизацияBearer <токен>

Где: header

Заголовки

Idempotency-Key*string

8-128 символов [A-Za-z0-9._:-], уникальный для каждой операции

Шаблон^[A-Za-z0-9._:-]{8,128}$

Тело запроса

application/json

Типы TypeScript

Используйте тип request body в TypeScript.

Тело ответа

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/cards" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "externalUserId": "string",    "cardNumber": "string",    "expiryMonth": 1,    "expiryYear": 0  }'
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0  },  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "externalUserId": "string",    "status": "PENDING_CONFIRMATION",    "mask": "string",    "expiry": "string",    "otpSentPhone": "string",    "createdAt": "2019-08-24T14:15:22Z"  }}
POST
/v1/cards/{id}/confirm

Авторизация

bearer
АвторизацияBearer <токен>

Где: header

Параметры пути

id*string
Форматuuid

Тело запроса

application/json

Типы TypeScript

Используйте тип request body в TypeScript.

Тело ответа

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/cards/497f6eca-6276-4993-bfeb-53cbbbba6f08/confirm" \  -H "Content-Type: application/json" \  -d '{    "otp": "string"  }'
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0  },  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "externalUserId": "string",    "status": "PENDING_CONFIRMATION",    "mask": "string",    "expiry": "string",    "otpSentPhone": "string",    "createdAt": "2019-08-24T14:15:22Z"  }}
  1. POST /v1/cards с номером и сроком карты → статус PENDING_CONFIRMATION, держателю приходит SMS.
  2. POST /v1/cards/{id}/confirm с кодом → статус ACTIVE.

Если эта же карта уже привязана к клиенту и активна, шаг 1 вернёт её сразу, без SMS. Повторная привязка неподтверждённой карты заменяет предыдущую попытку - так делается «отправить код ещё раз».

Что мы храним

Только токен провайдера, маску вида 860012******9012, срок действия и отпечаток для поиска дубликатов. Полный номер карты нигде не сохраняется.

Доступ между мерчантами

По умолчанию карты клиента общие для всех мерчантов вашего бизнеса. В настройках мерчанта можно включить режим «только этого мерчанта». Карты разных бизнесов не видны друг другу никогда.

Список и отвязка

GET
/v1/customers/{externalUserId}/cards

Авторизация

bearer
АвторизацияBearer <токен>

Где: header

Параметры пути

externalUserId*string

Тело ответа

application/json

application/json

application/json

curl -X GET "https://example.com/v1/customers/string/cards"
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0  },  "data": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "externalUserId": "string",      "status": "PENDING_CONFIRMATION",      "mask": "string",      "expiry": "string",      "otpSentPhone": "string",      "createdAt": "2019-08-24T14:15:22Z"    }  ]}
DELETE
/v1/cards/{id}

Авторизация

bearer
АвторизацияBearer <токен>

Где: header

Параметры пути

id*string
Форматuuid

Тело ответа

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/v1/cards/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "success": true,  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "processingTimeMs": 0  },  "data": {    "removed": true  }}
  • GET /v1/customers/{externalUserId}/cards - активные карты, доступные мерчанту.
  • DELETE /v1/cards/{id} - отвязать карту.

На этой странице