context commerce.payment

uses commerce.money

exports opaque { Token }

type Token = opaque String where Matches("T-[0-9]+")

service authorise {
  on call(amount: Money) -> Effect[Result[Token, Int]] {
    Ok(Token.unsafe("T-1"))
  }
}
