Full Payment Upon Signature

full-payment-upon-signature@0.9.0 Contract ^0.20.0 64607c6d111269a1389e52b9cb0d5e85111c19bfc7c8312766f10a2815f18879

This is a one-time full payment clause applicable at the signature of the contract.

Download Archive Open in Template Studio Open in VSCode Web

Full Payment Upon Signature

This is a one-time full payment clause applicable at the signature of the contract.

Template Text

Upon the signing of this Agreement, "Dan" shall pay the total purchase price to "Steve" in the amount of 0.01 USD.

Upon the signing of this Agreement, "Dan" shall pay the total purchase price to "Steve" in the amount of 0.01 USD.
Upon the signing of this Agreement, {{buyer}} shall pay the total purchase price to {{seller}} in the amount of {{amount}}.
{
    "$class": "org.accordproject.payment.fulluponsignature.FullPaymentUponSignatureContract",
    "contractId": "e290fcfd-9403-467b-bae1-86ebfb7e66d0",
    "buyer": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Dan"
    },
    "seller": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Steve"
    },
    "amount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 0.01,
        "currencyCode": "USD"
    }
}

Template Model

namespace org.accordproject.payment.fulluponsignature

import org.accordproject.cicero.contract.* from https://models.accordproject.org/cicero/contract.cto
import org.accordproject.cicero.runtime.* from https://models.accordproject.org/cicero/runtime.cto
import org.accordproject.money.MonetaryAmount from https://models.accordproject.org/money.cto
import org.accordproject.signature.ContractSigned from https://models.accordproject.org/signature/signature.cto
import org.accordproject.payment.PaymentReceived from https://models.accordproject.org/payment/payment.cto

asset FullPaymentUponSignatureState extends AccordContractState {
  o ContractLifecycleStatus status
}

enum ContractLifecycleStatus {
  o INITIALIZED
  o OBLIGATION_EMITTED
  o COMPLETED
}

/**
 * The template model
 */
asset FullPaymentUponSignatureContract extends AccordContract {
  o AccordParty buyer
  o AccordParty seller
  o MonetaryAmount amount
}

Model Dependencies

Template Logic

Find the full logic for this template on on GitHub.

State Types

Type Sample JSON
org.accordproject.payment.fulluponsignature.FullPaymentUponSignatureState
{
    "$class": "org.accordproject.payment.fulluponsignature.FullPaymentUponSignatureState",
    "status": "OBLIGATION_EMITTED",
    "stateId": "5d1d25f0-42fa-11ea-8b78-dde257dbceb0"
}

Request Types

Type Sample JSON
org.accordproject.payment.PaymentReceived
{
    "$class": "org.accordproject.payment.PaymentReceived",
    "transactionId": "5d1cfee0-42fa-11ea-8b78-dde257dbceb0",
    "timestamp": "2020-01-29T19:49:25.966-05:00"
}
org.accordproject.signature.ContractSigned
{
    "$class": "org.accordproject.signature.ContractSigned",
    "contract": "resource:org.accordproject.payment.fulluponsignature.FullPaymentUponSignatureContract#1998",
    "transactionId": "5d1cd7d0-42fa-11ea-8b78-dde257dbceb0",
    "timestamp": "2020-01-29T19:49:25.965-05:00"
}

Response Types

Type Sample JSON
org.accordproject.cicero.runtime.Response
{
    "$class": "org.accordproject.cicero.runtime.Response",
    "transactionId": "5d1cfee2-42fa-11ea-8b78-dde257dbceb0",
    "timestamp": "2020-01-29T19:49:25.966-05:00"
}

Events Types

Type Sample JSON
org.accordproject.base.Event
{
    "abstract": "this is an abstract type"
}
org.accordproject.cicero.runtime.PaymentObligation
{
    "$class": "org.accordproject.cicero.runtime.PaymentObligation",
    "amount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 226.955,
        "currencyCode": "BTN"
    },
    "description": "Cupidatat est.",
    "contract": "resource:org.accordproject.payment.fulluponsignature.FullPaymentUponSignatureContract#5257",
    "promisor": "resource:org.accordproject.cicero.contract.AccordParty#6296",
    "promisee": "resource:org.accordproject.cicero.contract.AccordParty#4923",
    "deadline": "2020-01-29T19:49:25.967-05:00",
    "eventId": "5d1d25f1-42fa-11ea-8b78-dde257dbceb0",
    "timestamp": "2020-01-29T19:49:25.967-05:00"
}

Technical Integration

Please refer to the Cicero documentation for details and examples of how to integrate a call to a Cicero template into your application.

View the Latest code for this template on GitHub.