PaymentContract

class PaymentContract : Contract

Payment contract

Verifies that LedgerTransactions connected with Payments are completed correctly.

Each output from LedgerTransaction.outputs should:

  1. have no more than 1 input (Payment);

  2. have correct single command (Commands).

Commands verification:

  1. have required fields set (Payment.endToEndId);

  2. be signed by Participant Node;

  3. have valid Payment.PaymentStatus from the side of workflow.

  1. have required fields set (Payment.endToEndId);

  2. be signed by Participant Node;

  3. be signed by Gateway Node;

  4. have same values of key fields of input and output Payments;

  5. have valid Payment.PaymentStatus from the side of workflow.

  1. have required fields set (Payment.endToEndId);

  2. be signed by Participant Node;

  3. be signed by Gateway Node;

  4. have same values of key fields of input and output Payments;

  5. have valid Payment.PaymentStatus from the side of workflow.

See also

Constructors

Link copied to clipboard

Types

Link copied to clipboard
sealed class Commands : CommandData
Link copied to clipboard
object Companion
Link copied to clipboard

Functions

Link copied to clipboard
open override fun verify(tx: LedgerTransaction)