code: def refund(self, callerReference, transactionId, refundAmount=None,
                 callerDescription=None):
          
          params = {}
          params['CallerReference'] = callerReference
          params['TransactionId'] = transactionId
          if(refundAmount != None):
              params['RefundAmount'] = refundAmount
          if(callerDescription != None):
              params['CallerDescription'] = callerDescription
          
          response = self.make_request("Refund", params)
          body = response.read()
          if(response.status == 200):
              rs = ResultSet()
              h = handler.XmlHandler(rs, self)
              xml.sax.parseString(body, h)
              return rs
          else:
              raise FPSResponseError(response.status, response.reason, body)
docs: Refund a transaction. This refunds the full amount by default
          unless 'refundAmount' is specified.