Package disc

Interface ProvisionPayment

All Superinterfaces:
BlockchainContract, ScheduledPayment

public interface ProvisionPayment extends ScheduledPayment
Представление сущности токенов переданных участнику под обеспечение расчетов. Отличается от AdvancePayment необходимостью создания актов на покрытие всех или части платежа предусмотренного данным объектом, в зависимости от уже произведены.
  • Method Details

    • createAct

      default @NonNull AcceptanceAct createAct(@NonNull BigDecimal amount, @NonNull String title)
      Создать акт соответствующий данному запланированному платежу. Используется идентификатор субподряда, укащанный при создании запланированного платежа, плательщик в качестве заказчика и получатель в качестве исполнителя по акту.
      Parameters:
      amount - сумма акта
      title - название акта, опционально, для отладки
      Returns:
      неподписанный акт, который должен быть подписан участниками и зарегистрирован в системе.
    • updateContract

      @NonNull ProvisionPayment updateContract(@NonNull BigDecimal amount, @NonNull ZonedDateTime scheduledAt, PrivateKey issuingPrivateKey, PrivateKey recipientPrivateKey) throws ModificationForbiddenException, InvalidKeyException
      Изменение контракта по взаимному согласию. Операция возможна только до наступления текушего срока scheduledAt и требует подписи ключами участника выпустившего контракт и участника который поулчает по контракту токены.
      Parameters:
      amount - новое значение, положительная величина
      scheduledAt - новый срок авансирования
      issuingPrivateKey - ключ участника предоставляющего авансирование
      recipientPrivateKey - ключ участника получаюшего авансиирование
      Returns:
      новая версия контракта после успешной регистрации в блокчейне
      Throws:
      ModificationForbiddenException - модификация невозможна (срок авансирования уже наступил)
      InvalidKeyException - ключи не подходят