original_string: public function sale(HpsCheck $check, $amount, $clientTransactionId = null)
      {
          return $this->_buildTransaction('SALE', $check, $amount, $clientTransactionId);
      }
code: public function sale(HpsCheck $check, $amount, $clientTransactionId = null)
      {
          return $this->_buildTransaction('SALE', $check, $amount, $clientTransactionId);
      }
code_tokens: public function sale ( HpsCheck $ check , $ amount , $ clientTransactionId = null ) { return $ this -> _buildTransaction ( 'SALE' , $ check , $ amount , $ clientTransactionId ) ; }
docstring: A Sale transaction is used to process transactions using bank account information as the payment method.
  The transaction service can be used to perform a Sale or Return transaction by indicating the Check Action.
  
  <b>NOTE:</b> The Portico Gateway supports both GETI and HPS Colonnade for processing check transactions. While
  the available services are the same regardless of the check processor, the services may have different behaviors.
  For example, GETI-processed Check Sale transactions support the ability to override a Check Sale transaction
  already presented as well as the ability to verify a check.
  
  @param \HpsCheck|string $check  The Check information.
  @param string           $amount The amount of the sale.
  
  @param null             $clientTransactionId
  
  @return \HpsCheckResponse
  @throws \HpsInvalidRequestException
  @internal param string $action Type of Check Action (Sale, Return, Override)
docstring_tokens: A Sale transaction is used to process transactions using bank account information as the payment method . The transaction service can be used to perform a Sale or Return transaction by indicating the Check Action .