ChargeRequest class

Метод осуществляет автоплатеж.

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

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

Для использования рекуррентных платежей по двухстадийной схеме необходима следующая последовательность действий:

  1. Совершить родительский платеж путем вызова Init с указанием дополнительных параметров Recurrent=Y и CustomerKey.
  2. Вызвать метод Check3dsVersion для проверки ожидаемой версии 3DS протокола.
  3. Вызвать метод FinishAuthorize для оплаты заказа. При необходимости, проверить прохождение 3DS проверки методами Submit3DSAuthorization/Submit3DSAuthorizationV2 в зависимости от версии 3DS. После оплаты заказа Покупателем в нотификации на статус AUTHORIZED будет передан параметр RebillId, который необходимо сохранить.
  4. Вызвать метод Confirm для подтверждения платежа. При необходимости отмены платежа вызвать метод Cancel.
  5. Спустя некоторое время для совершения рекуррентного платежа необходимо вызвать метод Init со стандартным набором параметров (параметры Recurrent и CustomerKey здесь не нужны).
  6. Получить в ответ на Init параметр PaymentId
  7. Вызвать метод Charge с параметром RebillId, полученным в п.3, и параметром PaymentId, полученным в п.5. При успешном сценарии операция перейдет в статус AUTHORIZED. Денежные средства будут заблокированы на карте покупателя.
  8. Вызвать метод Confirm для подтверждения платежа.

ChargeRequest

Inheritance
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 and list2 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 for equals.
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