ChargeRequest class
Метод осуществляет автоплатеж.
Осуществляет рекуррентный (повторный) платеж — безакцептное списание денежных средств со счета
банковской карты Покупателя.
Для возможности его использования Покупатель должен совершить хотя бы один платеж в пользу Продавца,
который должен быть указан как рекуррентный,
фактически являющийся первичным. По завершении оплаты в нотификации на AUTHORIZED
будет передан параметр RebillId
.
В дальнейшем для совершения рекуррентного платежа Продавец должен вызвать метод Init
,
а затем без переадресации на PaymentURL
вызвать метод Charge
для оплаты по тем же самым реквизитам
и передать параметр RebillId
, полученный при совершении первичного платежа.
Метод Charge
работает по одностадийной и двухстадийной схеме оплаты.
Чтобы перейти на двухстадийную схему нужно переключить терминал в Личном кабинете,
а также написать обращение на acq_help@tinkoff.ru с просьбой переключить схему рекуррентов.
Для использования рекуррентных платежей по одностадийной схеме необходима следующая последовательность действий:
- Совершить родительский платеж путем вызова
Init
с указанием дополнительных параметровRecurrent=Y
иCustomerKey
. - Вызвать метод
Check3dsVersion
для проверки ожидаемой версии3DS
протокола. - Вызвать метод
FinishAuthorize
для оплаты заказа. При необходимости, проверить прохождение3DS
проверки методамиSubmit3DSAuthorization/Submit3DSAuthorizationV2
в зависимости от версии3DS
. После оплаты заказа Покупателем в нотификации на статусAUTHORIZED
будет передан параметрRebillId
, который необходимо сохранить. - Спустя некоторое время для совершения рекуррентного платежа необходимо вызвать метод
Init
со стандартным набором параметров (параметрыRecurrent
иCustomerKey
здесь не нужны). - Получить в ответ на
Init
параметрPaymentId
. - Вызвать метод
Charge
с параметромRebillId
, полученным в п.3, и параметромPaymentId
, полученным в п.5. При успешном сценарии операция перейдет в статусCONFIRMED
.
Для использования рекуррентных платежей по двухстадийной схеме необходима следующая последовательность действий:
- Совершить родительский платеж путем вызова
Init
с указанием дополнительных параметровRecurrent=Y
иCustomerKey
. - Вызвать метод
Check3dsVersion
для проверки ожидаемой версии3DS
протокола. - Вызвать метод
FinishAuthorize
для оплаты заказа. При необходимости, проверить прохождение3DS
проверки методамиSubmit3DSAuthorization/Submit3DSAuthorizationV2
в зависимости от версии3DS
. После оплаты заказа Покупателем в нотификации на статусAUTHORIZED
будет передан параметрRebillId
, который необходимо сохранить. - Вызвать метод
Confirm
для подтверждения платежа. При необходимости отмены платежа вызвать методCancel
. - Спустя некоторое время для совершения рекуррентного платежа необходимо вызвать метод
Init
со стандартным набором параметров (параметрыRecurrent
иCustomerKey
здесь не нужны). - Получить в ответ на
Init
параметрPaymentId
- Вызвать метод
Charge
с параметромRebillId
, полученным в п.3, и параметромPaymentId
, полученным в п.5. При успешном сценарии операция перейдет в статусAUTHORIZED
. Денежные средства будут заблокированы на карте покупателя. - Вызвать метод
Confirm
для подтверждения платежа.
- Inheritance
-
- Object
- BaseRequest
- AcquiringRequest
- ChargeRequest
- Annotations
-
- @JsonSerializable(includeIfNull: false)
Constructors
- ChargeRequest({required int paymentId, required int rebillId, String? ip, bool? sendEmail, String? infoEmail, String? signToken})
- Создает экземпляр метода автоплатежа
-
ChargeRequest.fromJson(Map<
String, dynamic> json) -
Преобразование json в модель
factory
Properties
- apiMethod → String
-
Метод запроса
no setteroverride
- apiMethodPath → String
-
Полный путь до метода запроса (версия + метод)
no setterinherited
- apiVersion → String
-
Версия метода запроса
no setterinherited
-
equals
→ Map<
String, Object?> -
Comparison objects
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
-
headers
→ Map<
String, String> -
Заголовок метода
no setterinherited
-
ignoredFields
→ Set<
String> -
Список игнорируемых полей при создании токена запроса
no setterinherited
- infoEmail → String?
-
Электронная почта покупателя
final
- ip → String?
-
IP-адрес покупателя
final
- paymentId → int
-
Идентификатор платежа в системе банка
final
- rebillId → int
-
Идентификатор платежа в системе банка
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sendEmail → bool?
-
Получение покупателем уведомлений на электронную почту
final
- signToken → String?
-
Опциональный параметр: готовая подпись запроса
finalinherited
Methods
-
compareLists<
R> (List< R> ? list1, List<R> ? list2) → bool -
Determines whether
list1
andlist2
are equal.inherited -
copyWith(
{int? paymentId, int? rebillId, bool? sendEmail, String? infoEmail, String? ip, String? signToken}) → ChargeRequest -
Создает экземпляр с заданными параметрами
override
-
genHash<
R> (Iterable< R> ? values) → int -
Returns a
hashCode
forequals
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, dynamic> -
Преобразование модели в json
override
-
toString(
) → String -
A string representation of this object.
inherited
-
validate(
) → void -
Метод проверяет валидность данных
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited