Fork me on GitHub

Template one-time-payment-tr@0.1.0

Contract Ergo ^0.5.0 9290232a12936e9ea3a43943ac852d2051b4ab8ea8abddf4fdeddc7d2904f813

This is an One-Time Payment Protocol prepared in Turkish Language.

Download Archive

Accord Protocol Template: one-time-payment-tr

This is an One-Time Payment Protocol prepared in Turkish Language.

Parse

Use the cicero parse command to load a template from a directory on disk and then use it to parse input text, echoing the result of parsing. If the input text is valid the parsing result will be a JSON serialized instance of the Template Mode:

Sample template.tem:

        1.1 Banka [{seller}]
        1.2 Müşteri [{buyer}]

        7. An initial payment of [{initialAmount}] shall be made by [{buyer}] to [{seller}] upon execution of this Agreement.

Sample.txt:

        1.1 Banka "ACME Corp."
        1.2 Müşteri "Can Doğan"

        7. An initial payment of 1922.99 TRY shall be made by "ACME Corp." to "Can Doğan" upon execution of this Agreement.
cicero parse --template ./one-time-payment-tr/ --dsl ./one-time-payment-tr/sample.txt
Setting clause data: {"$class": "org.accordtr.onetimepayment.InitRequest"}

Execute

Use the cicero execute command to load a template from a directory on disk, instantiate a clause based on input text, and then invoke the clause using an incoming JSON payload.

data.json:
{
   "$class": "org.accordtr.onetimepayment.InitRequest"
}
cicero execute --template ./one-time-payment-tr/ --dsl ./one-time-payment-tr/sample.txt --data ./one-time-payment-tr/data.json 

The results of execution (a JSON serialized object) are displayed. They include:

  • Details of the clause executed (name, version, SHA256 hash of clause data)
  • The incoming request object
  • The output response object
    {
      "$class": "org.accordproject.cicero.runtime.PaymentObligation",
      "amount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 1922.00,
        "currencyCode": "TRY"
      },
      "description": "[object Object] should pay contract amount to [object Object]",
      "contract": "resource:org.accordproject.cicero.contract.AccordContract#608991e1-4d47-4f52-8c3d-dab7ad003ac9",
      "promisor": "resource:org.accordproject.cicero.contract.AccordParty#Can%20Do%C4%9Fan",
      "promisee": "resource:org.accordproject.cicero.contract.AccordParty#ACME%20Corp.",
      "eventId": "valid",
      "timestamp": "2018-07-31T08:46:18.749Z"
      }
    ]
  }

Sample

TEK SEFERLİK ÖDEME HİZMETİ SÖZLEŞMESİ

İşbu tek seferlik ödeme hizmeti sözleşmesi ("Sözleşme"), aşağıda adı ve ünvanı belirtilen Taraflar arasında "12/07/2018" tarihinde imzalanmıştır.

1. TARAFLAR

        1.1 Banka "ACME Corp."
        1.2 Müşteri "Can Doğan"

2. SÖZLEŞMENİN KONUSU

        İşbu Sözleşme uyarınca Banka tarafından Müşteri’ye Müşteri’nin yürütmekte olduğu "ithalat ihracat" faaliyetleri kapsamında, Taraflar’ca kararlaştırılan ücret karşılığında,
        tek seferlik elektronik fon transferi, havale veya virman işlemi sunulacaktır.

3. ÖDEME EMRİNİN ALINMA ZAMANI

        Müşteri tarafından gönderilen ödeme emri Banka’nın iş saatleri içinde ve her halükarda saat 17.00’dan geç olmamak üzere Banka’ya ulaştığı an alınmış sayılır.
        Saat 17:00’dan sonra alınan ödeme emri Banka tarafından ertesi iş günü alınmış sayılır. Ödeme emri, Banka tarafından alınmasından itibaren incelenir ve aynı
        gün sonuna kadar ödeme emrinin reddi sebeplerinin varlığı halinde Müşteri’ye red gerekçelerini bildirir.

4. ÖDEMENİN GERÇEKLEŞTİRİLMESİ

        4.1. Ödeme emrinin Banka’ya verilmesi anından itibaren, Banka işlemi yapmadan önce Müşteri emrinden dönebilir. Ancak Banka işlemi tamamladıktan sonra işlemin geri
        alınması mümkün olmayan durumlarda Banka’nın sorumluluğu söz konusu olmaz. Müşterinin Banka’ya vereceği ödeme emrinde hangi döviz cinsi üzerinden işlem yapacağını
        belirtmekle yükümlüdür. Döviz cinsi üzerinden yapılacak işlemlerde bankanın cari döviz kurları üzerinden işlem yapılacağını Müşteri kabul ve beyan eder.

        4.2. Müşteri, hata veya kusuru sonucu Banka’nın ödeme işlemini gerçekleştirememesi veya hatalı gerçekleştirmesi halinde Banka’nın sorumlu tutulmayacağını kabul ve taahhüt eder.

5. ÖDEME HİZMETİNE İLİŞKİN ÜCRET

        Müşteri, işbu Sözleşme kapsamında gerçekleştirilecek ödemeyle ilgili Banka’nın sağlamış olduğu hizmetler için Banka’ya ücret ödemeyi kabul ve taahhüt eder.

6. ÖDEME İŞLEMLERİNE İLİŞKİN BİLGİLENDİRME

        Müşteri, Banka’nın kendisini işbu Sözleşme’nin hükümleri hakkında işbu Sözleşme imzalanmadan önce bilgilendirdiğini, Banka’nın internet sitesinde taslak sözleşme örneğini
        incelediği ve kendisine sözleşmenin imzalı bir kopyasını verdiğini beyan ve kabul eder.

7. An initial payment of 1922.99 TRY shall be made by "Umut" to "Serkan" upon execution of this Agreement.
                

Model Dependencies

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 on GitHub.

Sample Instance

{
    "$class": "org.accordtr.onetimepayment.OneTimePaymentContract",
    "contractId": "5f698645-4156-4ff9-be67-1a62755f75ce",
    "buyer": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Can Doğan"
    },
    "seller": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "ACME Corp."
    },
    "initialAmount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 1922.99,
        "currencyCode": "TRY"
    }
}

State Types

Type Sample JSON
org.accordproject.cicero.contract.AccordContractState
{
    "$class": "org.accordproject.cicero.contract.AccordContractState",
    "stateId": "a0377851-9675-11e8-bf69-ed4373bb37a3"
}

Request Types

Type Sample JSON
org.accordtr.onetimepayment.InitRequest
{
    "$class": "org.accordtr.onetimepayment.InitRequest",
    "transactionId": "a0375140-9675-11e8-bf69-ed4373bb37a3",
    "timestamp": "2018-08-02T17:00:57.812Z"
}
org.accordtr.onetimepayment.PaymentReceivedRequest
{
    "$class": "org.accordtr.onetimepayment.PaymentReceivedRequest",
    "transactionId": "a0375141-9675-11e8-bf69-ed4373bb37a3",
    "timestamp": "2018-08-02T17:00:57.812Z"
}

Response Types

Type Sample JSON
org.accordtr.onetimepayment.InitResponse
{
    "$class": "org.accordtr.onetimepayment.InitResponse",
    "transactionId": "a0375142-9675-11e8-bf69-ed4373bb37a3",
    "timestamp": "2018-08-02T17:00:57.812Z"
}
org.accordtr.onetimepayment.PaymentReceivedResponse
{
    "$class": "org.accordtr.onetimepayment.PaymentReceivedResponse",
    "transactionId": "a0375143-9675-11e8-bf69-ed4373bb37a3",
    "timestamp": "2018-08-02T17:00:57.812Z"
}

Events Types

Type Sample JSON
org.accordproject.cicero.runtime.PaymentObligation
{
    "$class": "org.accordproject.cicero.runtime.PaymentObligation",
    "amount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 108.871,
        "currencyCode": "IDR"
    },
    "description": "Enim occaecat incididunt laboris.",
    "contract": "resource:org.accordtr.onetimepayment.OneTimePaymentContract#7641",
    "promisor": "resource:org.accordproject.cicero.contract.AccordParty#9765",
    "promisee": "resource:org.accordproject.cicero.contract.AccordParty#5891",
    "deadline": "2018-08-02T17:00:57.813Z",
    "eventId": "a0377852-9675-11e8-bf69-ed4373bb37a3",
    "timestamp": "2018-08-02T17:00:57.813Z"
}
org.hyperledger.composer.system.Event
{
    "abstract": "this is an abstract type"
}