anchor.diff:    (number nil :type string :read-only t)
     (expiration-date nil :type string :read-only t)
     (security-code nil :type string :read-only t))
  +
  +(defstruct (order (:constructor make-order (invoice-number &optional (description ""))))
  +  (invoice-number nil :type string :read-only t)
  +  (description nil :type string :read-only t))
  +
  +(defstruct (line-item (:constructor make-line-item (item-id name description quantity price)))
  +  (item-id nil :type string :read-only t) ; max. 31 chars
  +  (name nil :type string :read-only t) ; max. 31 chars
  +  (description nil :type string :read-only t) ; max. 255 chars
  +  (quantity nil :type (integer 0) :read-only t) ; max. 2 decimal places, positive
  +  (unit-price nil :type (rational 0) :read-only t)) ; excluding tax, shipping, and duty
  +
  +(defstruct (tax (:constructor make-tax (amount name description)))
  +  (amount nil :type (rational 0) :read-only t) ; max. 2 decimal places
  +  (name nil :type string :read-only t)
  +  (description nil :type string :read-only t))
  +
  +(defstruct (customer (:constructor make-customer (type id email)))
  +  (type nil :type string :read-only t) ; "individual" or "business"
  +  (id nil :type string :read-only t) ; max. 20 alphanumeric chars
  +  (email nil :type string :read-only t)) ; max. 255 chars
   
   (defstruct customer-address
     (first-name "" :type string :read-only t) ; max. 50 alphanumeric chars
  
positive.code:   (with-accessors ((transaction-request-type transaction-request-type)
                     (transaction-request-amount transaction-request-amount)
                     (transaction-request-payment transaction-request-payment)
                     (transaction-request-bill-to transaction-request-bill-to)
                     (transaction-request-settings transaction-request-settings))
        transaction-request
      (cl-json:with-object (stream)
  
negative.code: 
  (defparameter *result-code-ok* "Ok")
  
  ;; See http://developer.authorize.net/api/reference/
  (defparameter *default-customer-ip* "255.255.255.255")
  
  (defstruct (merchant-authentication (:constructor make-merchant-authentication (api-login-id
                                                                                  transaction-key)))
    (api-login-id nil :type string :read-only t)
  