Package disc
Interface ProvisionPayment
- All Superinterfaces:
BlockchainContract,ScheduledPayment
Представление сущности токенов переданных участнику под обеспечение расчетов. Отличается от
AdvancePayment
необходимостью создания актов на покрытие всех или части платежа предусмотренного данным объектом, в зависимости от
уже произведены.-
Method Summary
Modifier and TypeMethodDescriptiondefault @NonNull AcceptanceActcreateAct(@NonNull BigDecimal amount, @NonNull String title) Создать акт соответствующий данному запланированному платежу.@NonNull ProvisionPaymentupdateContract(@NonNull BigDecimal amount, @NonNull ZonedDateTime scheduledAt, PrivateKey issuingPrivateKey, PrivateKey recipientPrivateKey) Изменение контракта по взаимному согласию.Methods inherited from interface disc.BlockchainContract
getBlockchainContractBinary, getBlockchainId, getOriginBlockchainId, isApprovedByBlockchain, refresh, registerInBlockchainMethods inherited from interface disc.ScheduledPayment
getAmount, getPayerParty, getRecipientParty, getSubcontractId, getTransferredAmount, scheduledAt
-
Method Details
-
createAct
Создать акт соответствующий данному запланированному платежу. Используется идентификатор субподряда, укащанный при создании запланированного платежа, плательщик в качестве заказчика и получатель в качестве исполнителя по акту.- 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- ключи не подходят
-