anchor.diff:            (error 'transaction-failed :request request :raw-response raw-response))
           (when (null (raw-response-transaction-response raw-response))
             (error 'transaction-failed :request request :raw-response raw-response))
  -        (when (null (raw-response-transaction-response-message raw-response))
  -          (error 'transaction-failed :request request :raw-response raw-response))
           (make-instance 'response
                          :ref-id (raw-response-ref-id raw-response)
                          :result-code (raw-response-result-code raw-response)
                          :message-code (raw-response-message-code raw-response)
                          :message-text (raw-response-message-text raw-response)
  -                       :transaction-response (make-transaction-response-for-transaction-request
  +                       :transaction-response (transaction-request-transaction-response
                                                 (request-transaction-request request)
                                                 (raw-response-transaction-response raw-response)))))))
  
positive.code:    (account-type :initarg :account-type :reader transaction-response-account-type)
     (message-code :initarg :message-code :reader transaction-response-message-code)
     (message-description :initarg :message-description :reader transaction-response-message-description)
     ;; LATER other fields...
     )
    (:default-initargs
     :response-code ""
      :auth-code ""
      :avs-result-code ""
      :cvv-result-code ""
      :cavv-result-code ""
      :trans-id ""
      :ref-trans-id ""
      :trans-hash ""
      :account-number ""
      :account-type ""
      :message-code ""
      :message-description ""))
  
  ;; TODO refun-transaction-response
  ;; TODO void-transaction-response
  
negative.code: (defun raw-response-transaction-response-message-text (raw-response)
    (cdr (assoc :text (raw-response-transaction-response-message raw-response))))
  
  (defgeneric transaction-request-transaction-response
      (transaction-request raw-response-transaction-response))
  
  (defmethod transaction-request-transaction-response
      ((transaction-request auth-capture-transaction-request)
       raw-response-transaction-response)
    (flet ((value (key)
             (cdr (assoc key raw-response-transaction-response))))
      (let ((message (cadr (assoc :messages raw-response-transaction-response)))
            (err (cadr (assoc :errors raw-response-transaction-response))))
        (make-instance 'auth-capture-transaction-response
                       :response-code (value :response-code)
                       :auth-code (value :auth-code)
                       :avs-result-code (value :avs-result-code)
                       :cvv-result-code (value :cvv-result-code)
                       :cavv-result-code (value :cavv-result-code)
                       :trans-id (value :trans-id)
                       :ref-trans-id (value :ref-trans-+id+) ; Parsed from "refTransID"!
                       :trans-hash (value :trans-hash)
                       :account-number (value :account-number)
                       :account-type (value :account-type)
                       :message-code (cdr (assoc :code message))
                       :message-description (cdr (assoc :description message))
                       :error-code (cdr (assoc :error-code err))
                       :error-text (cdr (assoc :error-text err))))))
  
  (defun execute (request endpoint)
    (check-type request request)
  