Skip to main content
This release is 8 versions behind 0.3.2 — the latest version of @kravets/t-kassa-api. Jump to latest

Built and signed on GitHub Actions

SDK для Т-Кассы (тинькофф платежи)

This package works with Node.js, Deno, Bun
This package works with Node.js
This package works with Deno
This package works with Bun
JSR Score
94%
Published
3 months ago (0.1.1)
class TKassa

Главный класс библиотеки.

Examples

Example 1

const ткасса = new TKassa(process.env.TERMINAL_KEY, process.env.PASSWORD, {
    server: "https://rest-api-test.tinkoff.ru",
});

const result = await ткасса.init({
    Amount: 1000,
    OrderId: "12",
});

Constructors

new
TKassa(
terminalKey: TerminalKey,
password: string,
options?: TKassaOptions,
)
new
TKassa(
inject?: (body: WebhookBody) => MaybePromise<EventInject>,
options?: TKassaOptions,
)
new
TKassa(options?: TKassaOptions)
new
TKassa(
terminalKeyOrOptionsOrInject?:
string
| TKassaOptions
| ((body: WebhookBody) => MaybePromise<EventInject>)
,
passwordOrOptions?: string | TKassaOptions,
kassaOptions?: TKassaOptions,
)

Создание инстанса Т-Кассы

Type Parameters

TerminalKey extends string = ""
EventInject extends { Password: string; custom?: any; } = never

Properties

private
inject: ((body: WebhookBody) => MaybePromise<EventInject>) | undefined
private
listeners: ((
context: WebhookBody,
custom: any,
) => unknown)[]
options: Require<TKassaOptions, "server">
password: TerminalKey extends "" ? string | undefined : string
terminalKey: TerminalKey extends "" ? string | undefined : string

Methods

addAccountQr(body: GetRequestBody<"/v2/AddAccountQr", "post", TerminalKey>): Promise<{ TerminalKey: string; Data: string; RequestKey: string; ErrorCode: string; Success: boolean; Message?: string | undefined; }>

Метод инициирует привязку счета клиента к магазину и возвращает информацию о нем

addCard(body: GetRequestBody<"/v2/AddCard", "post", TerminalKey>): Promise<{ PaymentId: string; TerminalKey: string; CustomerKey: string; RequestKey: string; ErrorCode: string; Success: boolean; Message?: string | undefined; Details?: string | undefined; PaymentURL: string; } | { PaymentId: string; TerminalKey: string; CustomerKey: string; RequestKey: string; ErrorCode: string; Success: boolean; Message?: string | undefined; Details?: string | undefined; }>

Для Мерчантов с PCI DSS
Метод инициирует привязку карты к клиенту. В случае успешной привязки переадресует клиента на Success Add Card URL, в противном случае на Fail Add Card URL. Можно использовать форму Т‑Кассы, возможно заменить на кастомную форму.

addCustomer(body: GetRequestBody<"/v2/AddCustomer", "post", TerminalKey>): Promise<{ TerminalKey: string; CustomerKey: string; ErrorCode: string; Success: boolean; Message?: string | undefined; Details?: string | undefined; }>

Регистрирует клиента в связке с терминалом

Возможна автоматическая привязка клиента и карты, по которой был совершен платеж, при передаче параметра CustomerKey в методе Init. Это можно использовать для сохранения и последующего отображения клиенту замаскированного номера карты, по которой будет совершен рекуррентный платеж

attachCard(body: GetRequestBody<"/v2/AttachCard", "post", TerminalKey>): Promise<{ TerminalKey: string; CustomerKey: string; RequestKey: string; CardId: string; Success: boolean; ErrorCode: string; Status?:
"NEW"
| "FORM_SHOWED"
| "3DS_CHECKING"
| "3DS_CHECKED"
| "AUTHORIZING"
| "AUTHORIZED"
| "COMPLETED"
| "REJECTED"
| undefined
; RebillId?: string | undefined; Message?: string | undefined; Details?: string | undefined; ACSUrl?: string | undefined; MD?: string | undefined; PaReq?: string | undefined; }>

Для Мерчантов с PCI DSS
Завершает привязку карты к клиенту. В случае успешной привязки переадресует клиента на Success Add Card URL в противном случае на Fail Add Card URL. Для прохождения 3DS второй версии перед вызовом метода должен быть вызван /v2/check3dsVersion и выполнен 3DS Method, который является обязательным при прохождении 3DS по протоколу версии 2.0.

cancel(body: GetRequestBody<"/v2/Cancel", "post", TerminalKey>): Promise<{ TerminalKey: string; OrderId: string; Success: boolean; Status: string; OriginalAmount: number; NewAmount: number; PaymentId: string; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; ExternalRequestId?: string | undefined; }>

Отменяет платежную сессию. В зависимости от статуса платежа переводит его в следующие состояния:

  • NEW — CANCELED
  • AUTHORIZED — PARTIAL_REVERSED — если отмена не на полную сумму;
  • AUTHORIZED — REVERSED — если отмена на полную сумму;
  • CONFIRMED — PARTIAL_REFUNDED — если отмена не на полную сумму;
  • CONFIRMED — REFUNDED — если отмена на полную сумму.

Для платежей «в Рассрочку» отмена доступна только из статуса AUTHORIZED
Для платежей «Долями» если операция в статусе CONFIRMED или PARTIAL_REFUNDED будет осуществлен частичный либо полный возврат
Если платеж находился в статусе AUTHORIZED производится отмена холдирования средств на карте клиента. При переходе из статуса CONFIRMED — возврат денежных средств на карту клиента

chargePCI(body: GetRequestBody<"/v2/Charge", "post", TerminalKey>): Promise<{ TerminalKey: string; Amount: number; OrderId: string; Success: boolean; Status: string; PaymentId: string; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; }>

Схема проведения рекуррентного платежа

Описание

Осуществляет рекуррентный (повторный) платеж — безакцептное списание денежных средств со счета банковской карты клиента. Для возможности его использования клиент должен совершить хотя бы один платеж в пользу Мерчанта, который должен быть указан как рекуррентный (см. параметр Recurrent методе Init), фактически являющийся первичным. По завершении оплаты в нотификации на AUTHORIZED или CONFIRMED будет передан параметр RebillId.
В дальнейшем для совершения рекуррентного платежа Мерчант должен вызвать метод Init, указать нужную сумму для списания в параметре Amount, а затем без переадресации на PaymentURL вызвать метод Charge для оплаты по тем же самым реквизитам и передать параметр RebillId, полученный при совершении первичного платежа.
Метод Charge работает по одностадийной и двухстадийной схеме оплаты. Чтобы перейти на двухстадийную схему нужно переключить терминал в Личном кабинете, а также написать обращение на acq_help@tinkoff.ru с просьбой переключить схему рекуррентов.

По умолчанию метод Charge отключен. Для его включения на DEMO-терминале нужно написать обращение на acq_help@tinkoff.ru, а на боевом терминале — обратиться к своему персональному менеджеру

При проведении рекуррентного платежа учитывать взаимосвязь атрибута RebillId в методе /Charge с:

  • Значением атрибута OperationInitiatorType в методе /Init;
  • Значением атрибута Reccurent в методе /Init;
  • Типом терминала, используемом для проведения операций (ECOM/AFT).

Наглядно допустимые сценарии взаимосвязи описаны в таблице:

CIT/MIT Тип операции OperationInitiator в /Init RebillId в /Charge Recurrent в /Init AFT терминал ECOM терминал
CIT Credential-Not-Captured 0 null N Разрешено Разрешено
CIT Credential-Captured 1 null Y Разрешено Разрешено
CIT Credential-on-File 2 not null N Запрещено Разрешено
MIT Credential-on-File, Recurring R not null N Запрещено Разрешено
MIT Credential-on-File, Installment I not null N Разрешено Запрещено

В случае передачи значений атрибутов не соответствующих таблице — MAPI вернет ошибку 1126 (Несопоставимые значения rebillId или Recurrent с переданным значением OperationInitiatorType)

Одностадийная оплата

  1. Совершить родительский платеж путем вызова Init с указанием дополнительных параметров Recurrent=Y и CustomerKey.
  2. Переадресовать клиента на PaymentUrl (только для Мерчантов без PCI DSS</span>).
  3. После оплаты заказа клиентом в нотификации на статус AUTHORIZED или CONFIRMED будет передан параметр RebillId, который необходимо сохранить.
  4. Спустя некоторое время для совершения рекуррентного платежа необходимо вызвать метод Init со стандартным набором параметров (параметры Recurrent и CustomerKey здесь не нужны).
  5. Получить в ответ на Init параметр PaymentId.
  6. Вызвать метод Charge с параметром RebillId, полученным в п.3, и параметром PaymentId, полученным в п.5. При успешном сценарии операция перейдет в статус CONFIRMED.

Двухстадийная оплата

  1. Совершить родительский платеж путем вызова Init с указанием дополнительных параметров Recurrent=Y и CustomerKey.
  2. Переадресовать клиента на PaymentUrl (только для Мерчантов без PCI DSS</span>).
  3. После оплаты заказа клиентом в нотификации на статус AUTHORIZED или CONFIRMED будет передан параметр RebillId, который необходимо сохранить.
  4. Спустя некоторое время для совершения рекуррентного платежа необходимо вызвать метод Init со стандартным набором параметров (параметр Recurrent и CustomerKey здесь не нужны).
  5. Получить в ответ на Init параметр PaymentId.
  6. Вызвать метод Charge с параметром RebillId, полученным в п.3, и параметром PaymentId, полученным в п.5. При успешном сценарии операция перейдет в статус AUTHORIZED. Денежные средства будут заблокированы на карте клиента.
  7. Вызвать метод Confirm для подтверждения платежа.
chargeQr(body: GetRequestBody<"/v2/ChargeQr", "post", TerminalKey>): Promise<{ TerminalKey: string; Amount: number; OrderId: string; Success: boolean; Status?:
"CONFIRMED"
| "REJECTED"
| undefined
; PaymentId: string; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; Currency?: number | undefined; }>

Проведение платежа по привязанному счету по QR через СБП. Для возможности его использования клиент должен совершить успешную привязку счета с помощью метода AddAccountQr. После вызова метода будет отправлена нотификация на Notification URL о привязке счета , в которой будет указан AccountToken. Для совершения платежа по привязанному счету Мерчант должен вызвать метод Init, в котором поля Recurrent= Y и DATA= {“QR”:“true”}, а затем вызвать метод ChargeQr для оплаты по тем же самым реквизитам и передать параметр AccountToken, полученный после привязки счета по QR в нотификации.

check3dsVersion(body: GetRequestBody<"/v2/Check3dsVersion", "post", TerminalKey>): Promise<{ Version: string; TdsServerTransID?: string | undefined; ThreeDSMethodURL?: string | undefined; PaymentSystem: string; Success: boolean; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; }>

Для Мерчантов с PCI DSS
Проверяет поддерживаемую версию 3DS протокола по карточным данным из входящих параметров

При определении второй версии, возможно в ответе получение данных для прохождения дополнительного метода 3DS Method, который позволяет эмитенту собрать данные браузера клиента — это может быть полезно при принятии решения в пользу Frictionless Flow (аутентификация клиента без редиректа на страницу ACS)

checkOrder(body: GetRequestBody<"/v2/CheckOrder", "post", TerminalKey>): Promise<{ TerminalKey: string; OrderId: string; Success: boolean; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; Payments: { PaymentId: string; Amount?: number | undefined; Status: string; RRN?: string | undefined; Success: string; ErrorCode: number; Message: string; }[]; }>

Метод возвращает статус заказа

confirm(body: GetRequestBody<"/v2/Confirm", "post", TerminalKey>): Promise<{ TerminalKey: string; OrderId: string; Success: boolean; Status:
"NEW"
| "AUTHORIZING"
| "AUTHORIZED"
| "AUTH_FAIL"
| "CANCELED"
| "CHECKING"
| "CHECKED"
| "COMPLETING"
| "COMPLETED"
| "CONFIRMING"
| "CONFIRMED"
| "DEADLINE_EXPIRED"
| "FORM_SHOWED"
| "PARTIAL_REFUNDED"
| "PREAUTHORIZING"
| "PROCESSING"
| "3DS_CHECKING"
| "3DS_CHECKED"
| "REVERSING"
| "REVERSED"
| "REFUNDING"
| "REFUNDED"
| "REJECTED"
| "UNKNOWN"
; PaymentId: string; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; Params?: { Route?:
"TCB"
| "BNPL"
| "ACQ"
| "SBER"
| undefined
; Source?:
"BNPL"
| "cards"
| "Installment"
| "MirPay"
| "qrsbp"
| "SberPay"
| "TinkoffPay"
| "YandexPay"
| undefined
; CreditAmount?: number | undefined; }[] | undefined
; }>

Метод для списания заблокированных денежных средств. Используется при двухстадийном проведении платежа. Применим только к платежам в статусе AUTHORIZED. Статус транзакции перед разблокировкой выставляется в CONFIRMING. Сумма списания может быть меньше или равна сумме авторизации.

Подробнее про двухстадийный платеж можно прочитать в разделе Сценарии платежа — "Двухстадийный платеж"

emit(data: WebhookBody): Promise<void>

Рассказать о пришедшем событии

finishAuthorize(body: GetRequestBody<"/v2/FinishAuthorize", "post", TerminalKey>): Promise<
({ TerminalKey: string; Amount: number; OrderId: string; Success: boolean; Status: string; PaymentId?: string | undefined; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; RebillId?: string | undefined; CardId?: string | undefined; } & { CardId?: string | undefined; })
| ({ TerminalKey: string; Amount: number; OrderId: string; Success: boolean; Status: string; PaymentId?: string | undefined; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; RebillId?: string | undefined; CardId?: string | undefined; } & { MD?: string | undefined; PaReq?: string | undefined; ACSUrl?: string | undefined; })
| (
{ TerminalKey: string; Amount: number; OrderId: string; Success: boolean; Status: string; PaymentId?: string | undefined; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; RebillId?: string | undefined; CardId?: string | undefined; }
& Record<string, never>
& { TdsServerTransId: string; AcsTransId: string; AcsInterface?: string | undefined; AcsUiTemplate?: string | undefined; AcsSignedContent?: string | undefined; AcsReferenceNumber: string; SdkTransID: string; }
)

| (
{ TerminalKey: string; Amount: number; OrderId: string; Success: boolean; Status: string; PaymentId?: string | undefined; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; RebillId?: string | undefined; CardId?: string | undefined; }
& Record<string, never>
& { TdsServerTransId: string; AcsTransId: string; ACSUrl?: string | undefined; }
)
>

Для Мерчантов с PCI DSS
Метод подтверждает платеж передачей реквизитов, а также списывает средства с карты клиента при одностадийной оплате и блокирует указанную сумму при двухстадийной. Используется, если у площадки есть сертификация PCI DSS и собственная платежная форма

getAccountQrList(body: GetRequestBody<"/v2/GetAccountQrList", "post", TerminalKey>): Promise<{ TerminalKey: string; Success: boolean; ErrorCode: string; Message?: string | undefined; AccountTokens?: { RequestKey?: string | undefined; Status?:
"NEW"
| "PROCESSING"
| "ACTIVE"
| "INACTIVE"
| undefined
; AccountToken?: string | undefined; BankMemberId?: string | undefined; BankMemberName?: string | undefined; } | undefined
; }>

Метод возвращает список привязанных счетов клиента по магазину

getAddAccountQrState(body: GetRequestBody<"/v2/GetAddAccountQrState", "post", TerminalKey>): Promise<{ TerminalKey: string; RequestKey: string; BankMemberId?: string | undefined; BankMemberName?: string | undefined; AccountToken?: string | undefined; Success: boolean; Status:
"NEW"
| "PROCESSING"
| "ACTIVE"
| "INACTIVE"
; ErrorCode: string; Message?: string | undefined; }>

Метод возвращает статус привязки счета клиента по магазину

getAddCardState(body: GetRequestBody<"/v2/GetAddCardState", "post", TerminalKey>): Promise<{ TerminalKey: string; RequestKey: string; Status:
"NEW"
| "FORM_SHOWED"
| "3DS_CHECKING"
| "3DS_CHECKED"
| "AUTHORIZING"
| "AUTHORIZED"
| "COMPLETED"
| "REJECTED"
; Success: boolean; CardId?: string | undefined; RebillId?: string | undefined; ErrorCode?: string | undefined; Message?: string | undefined; Details?: string | undefined; CustomerKey?: string | undefined; }>

Для мерчантов с PCI DSS
Метод возвращает статус привязки карты

getCardList(body: GetRequestBody<"/v2/GetCardList", "post", TerminalKey>): Promise<{ CardId: string; Pan: string; Status:
"A"
| "I"
| "D"
; RebillId?: string | undefined; CardType:
0
| 1
| 2
; ExpDate?: string | undefined; }[]>

Возвращает список всех привязанных карт клиента, включая удаленные

getConfirmOperation(body: GetRequestBody<"/v2/getConfirmOperation", "post", TerminalKey>): Promise<{ Success: boolean; ErrorCode: string; Message?: string | undefined; PaymentIdList: { Success: boolean; ErrorCode: string; Message: string; PaymentId: string; }[]; } | { Success: boolean; ErrorCode: string; Message?: string | undefined; PaymentIdList: { Success: boolean; ErrorCode: string; Message: string; PaymentId: string; }[]; }>

Справку по конкретной операции можно получить на:
1. URL-сервиса, развернутого на своей стороне.
2. Электронную почту.
Для формирования токена необходимо использовать только PASSWORD</b> и TERMINAL_KEY</b>

getCustomer(body: GetRequestBody<"/v2/GetCustomer", "post", TerminalKey>): Promise<{ TerminalKey: string; CustomerKey: string; ErrorCode: string; Success: boolean; Message?: string | undefined; Details?: string | undefined; Email?: string | undefined; Phone?: string | undefined; }>

Возвращает данные клиента, сохраненные в связке с терминалом

getQRState(body: GetRequestBody<"/v2/GetQRState", "post", TerminalKey>): Promise<{ Success: boolean; ErrorCode: string; Status?: string | undefined; QrCancelCode?: string | undefined; QrCancelMessage?: string | undefined; OrderId?: string | undefined; Amount?: number | undefined; Message?: string | undefined; } | { Success: boolean; ErrorCode: string; Status?: string | undefined; QrCancelCode?: string | undefined; QrCancelMessage?: string | undefined; OrderId?: string | undefined; Amount?: number | undefined; Message?: string | undefined; }>

Возвращает статус возврата платежа по СБП

getQr(body: GetRequestBody<"/v2/GetQr", "post", TerminalKey>): Promise<{ TerminalKey: string; OrderId: string; Success: boolean; Data: string; PaymentId: string; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; RequestKey: string; } | { TerminalKey: string; OrderId: string; Success: boolean; Data: string; PaymentId: string; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; RequestKey: string; }>

Метод регистрирует QR и возвращает информацию о нем. Должен быть вызван после вызова метода Init

getState(body: GetRequestBody<"/v2/GetState", "post", TerminalKey>): Promise<{ TerminalKey: string; Amount: number; OrderId: string; Success: boolean; Status: string; PaymentId: string; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; Params?: { Route?:
"ACQ"
| "BNPL"
| "TCB"
| "SBER"
| undefined
; Source?:
"BNPL"
| "cards"
| "Installment"
| "MirPay"
| "qrsbp"
| "SberPay"
| "TinkoffPay"
| "YandexPay"
| undefined
; CreditAmount?: number | undefined; }[] | undefined
; }>

Метод возвращает статус платежа

getTerminalPayMethods(body: GetRequestBody<"/v2/GetTerminalPayMethods", "get", TerminalKey>): Promise<{ Success: boolean; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; TerminalInfo: Record<string, never>; TerminalInfo.Paymethods?: { PayMethod: string; Params?: Record<string, never> | undefined; }[] | undefined; TerminalInfo.AddCardScheme: boolean; TerminalInfo.TokenRequired: boolean; TerminalInfo.InitTokenRequired: boolean; }>

Метод определяет доступность методов оплаты на терминале для SDK и API. Запрос не шифруется токеном

init(body: GetRequestBody<"/v2/Init", "post", TerminalKey>): Promise<{ TerminalKey: string; Amount: number; OrderId: string; Success: boolean; Status: string; PaymentId: string; ErrorCode: string; PaymentURL?: string | undefined; Message?: string | undefined; Details?: string | undefined; }>

Метод инициирует платежную сессию

initPayments(body: GetRequestBody<"/v2/InitPayments", "post", TerminalKey>): Promise<{ Success?: boolean | undefined; }>
on<Filter extends UpdateFilter<any>>(
filters: Filter,
handler: (
context: Modify<WebhookBody, Filter extends UpdateFilter<infer Mod> ? Mod : never>,
custom: EventInject["custom"],
) => unknown
,
): this

Слушатель webhook события (нотификации)

qR(paymentId: paths["/v2/TinkoffPay/{paymentId}/QR"]["get"]["parameters"]["path"]["paymentId"]): Promise<never>

Метод получения QR для десктопов

qrMembersList(body: GetRequestBody<"/v2/QrMembersList", "post", TerminalKey>): Promise<{ Members?: { MemberId: string; MemberName: string; IsPayee: boolean; }[] | undefined; OrderId: string; Success: boolean; ErrorCode: string; Message?: string | undefined; }>

Метод возвращает список участников куда может быть осуществлен возврат платежа, совершенного по QR

removeCard(body: GetRequestBody<"/v2/RemoveCard", "post", TerminalKey>): Promise<{ TerminalKey: string; Status: string; CustomerKey: string; CardId: string; CardType:
0
| 1
| 2
; Success: boolean; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; }>

Метод удаляет привязанную карту клиента

removeCustomer(body: GetRequestBody<"/v2/RemoveCustomer", "post", TerminalKey>): Promise<{ TerminalKey: string; CustomerKey: string; ErrorCode: string; Success: boolean; Message?: string | undefined; Details?: string | undefined; }>

Удаляет сохраненные данные клиента

private
request<T>(
url: string,
data?: TerminalKey extends "" ? { [key: string]: unknown; TerminalKey: string; Password: string; } : Record<string, unknown>,
method?: "POST" | "GET",
): Promise<T>
sberPayQR(paymentId: paths["/v2/SberPay/{paymentId}/QR"]["get"]["parameters"]["path"]["paymentId"]): Promise<never>

Метод получения QR для десктопов

sbpPayTest(body: GetRequestBody<"/v2/SbpPayTest", "post", TerminalKey>): Promise<{ Success: boolean; ErrorCode: string; Message: string; Details: string; }>

Тестовая платежная сессия с предопределенным статусом по СБП

sendClosingReceipt(body: GetRequestBody<"/cashbox/SendClosingReceipt", "post", TerminalKey>): Promise<{ Success: boolean; ErrorCode: string; Message?: string | undefined; }>

Метод позволяет отправить закрывающий чек в кассу. Условия работы метода:

  1. Закрывающий чек может быть отправлен если платежная сессия по первому чеку находится в статусе CONFIRMED.
  2. В платежной сессии был передан объект Receipt.
  3. В объекте Receipt был передан хотя бы один объект Receipt.Items.PaymentMethod = full_prepayment или prepayment или advance.
status(TerminalKey: paths["/v2/TinkoffPay/terminals/{TerminalKey}/status"]["get"]["parameters"]["path"]["TerminalKey"]): Promise<{ Params: { Allowed: boolean; Version?: string | undefined; }; Success: boolean; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; }>

Метод определения возможности проведения платежа T‑Pay на терминале и устройстве

submit3DSAuthorization(): Promise<{ TerminalKey: string; OrderId: string; Success: boolean; Status: string; PaymentId: string; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; }>

Для Мерчантов с PCI DSS
Осуществляет проверку результатов прохождения 3-D Secure и при успешном результате прохождения 3-D Secure подтверждает инициированный платеж. При использовании одностадийной оплаты осуществляет списание денежных средств с карты клиента.
При двухстадийной оплате осуществляет блокировку указанной суммы на карте клиента

Формат запроса: x-www-form-urlencoded

После получения на TermUrl мерчанта ответа ACS с результатами прохождения 3-D Secure необходимо сформировать запрос к методу Submit3DSAuthorization

submit3DSAuthorizationV2(): Promise<{ OrderId: string; TerminalKey: string; Status: string; PaymentId: string; Success: boolean; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; }>

Для Мерчантов с PCI DSS
Осуществляет проверку результатов прохождения 3-D Secure v2 и при успешном результате прохождения 3-D Secure v2 подтверждает инициированный платеж. При использовании одностадийной оплаты осуществляет списание денежных средств с карты клиента. При двухстадийной оплате осуществляет блокировку указанной суммы на карте клиента.

Формат запроса: x-www-form-urlencoded

После получения на cresCallbackUrl Мерчанта ответа ACS с результатами прохождения 3-D Secure необходимо сформировать запрос к методу Submit3DSAuthorizationV2

deprecated
submitRandomAmount(body: GetRequestBody<"/v2/SubmitRandomAmount", "post", TerminalKey>): Promise<{ TerminalKey: string; CustomerKey: string; RequestKey: string; RebillId?: string | undefined; CardId: string; Success: boolean; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; Status?: string | undefined; }>

Метод предназначен для подтверждения карты путем блокировки случайной суммы

tPayEvent(body: GetRequestBody<"/v2/TinkoffPayEvent", "post", TerminalKey>): Promise<{ Success: boolean; ErrorCode: string; Message?: string | undefined; Details?: string | undefined; }>

Передача уведомления о событии платежного виджета T‑Pay + T‑ID

Add Package

deno add jsr:@kravets/t-kassa-api

Import symbol

import { TKassa } from "@kravets/t-kassa-api";

---- OR ----

Import directly with a jsr specifier

import { TKassa } from "jsr:@kravets/t-kassa-api";

Add Package

npx jsr add @kravets/t-kassa-api

Import symbol

import { TKassa } from "@kravets/t-kassa-api";

Add Package

yarn dlx jsr add @kravets/t-kassa-api

Import symbol

import { TKassa } from "@kravets/t-kassa-api";

Add Package

pnpm dlx jsr add @kravets/t-kassa-api

Import symbol

import { TKassa } from "@kravets/t-kassa-api";

Add Package

bunx jsr add @kravets/t-kassa-api

Import symbol

import { TKassa } from "@kravets/t-kassa-api";