Full Payment Upon Demand

full-payment-upon-demand@0.7.0 Contract ^0.20.0 ab368de8706b73c58acde08ec04c289a6ea7d118523608c63cb898ead0715168

This is a one-time full payment clause applicable on demand.

Download Archive Open in Template Studio

Full Payment upon Demand

Payment made when a single milestone is reached

Template Text

Grammar

After execution of this Agreement, {{buyer}} shall pay the full purchase price to {{seller}} in the amount of {{value}} upon demand by {{seller}}.

Sample

After execution of this Agreement, "Dan" shall pay the full purchase price to "Jerome" in the amount of 3.14 EUR upon demand by "Jerome".

Sample Data

{
    "$class": "org.accordproject.payment.fullupondemand.FullPaymentUponDemandTemplate",
    "contractId": "30b27bc6-92a6-467b-913b-1764ab64e552",
    "buyer": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Dan"
    },
    "seller": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Jerome"
    },
    "value": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 3.14,
        "currencyCode": "EUR"
    }
}

Template Model

Model Dependencies

Template Logic

Find the full logic for this template on on GitHub.

State Types

Type Sample JSON
org.accordproject.payment.fullupondemand.FullPaymentUponDemandState
{
    "$class": "org.accordproject.payment.fullupondemand.FullPaymentUponDemandState",
    "status": "INITIALIZED",
    "stateId": "eec56580-ff3e-11e9-b361-efc0ae54bdd6"
}

Request Types

Type Sample JSON
org.accordproject.payment.fullupondemand.PaymentDemand
{
    "$class": "org.accordproject.payment.fullupondemand.PaymentDemand",
    "transactionId": "eec53e70-ff3e-11e9-b361-efc0ae54bdd6",
    "timestamp": "2019-11-04T15:08:57.047-05:00"
}
org.accordproject.payment.PaymentReceived
{
    "$class": "org.accordproject.payment.PaymentReceived",
    "transactionId": "eec53e71-ff3e-11e9-b361-efc0ae54bdd6",
    "timestamp": "2019-11-04T15:08:57.047-05:00"
}

Response Types

Type Sample JSON
org.accordproject.cicero.runtime.Response
{
    "$class": "org.accordproject.cicero.runtime.Response",
    "transactionId": "eec53e73-ff3e-11e9-b361-efc0ae54bdd6",
    "timestamp": "2019-11-04T15:08:57.047-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": 141.416,
        "currencyCode": "ILS"
    },
    "description": "Incididunt nisi est.",
    "contract": "resource:org.accordproject.payment.fullupondemand.FullPaymentUponDemandTemplate#9423",
    "promisor": "resource:org.accordproject.cicero.contract.AccordParty#7282",
    "promisee": "resource:org.accordproject.cicero.contract.AccordParty#6997",
    "deadline": "2019-11-04T15:08:57.048-05:00",
    "eventId": "eec56581-ff3e-11e9-b361-efc0ae54bdd6",
    "timestamp": "2019-11-04T15:08:57.048-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.