original_string: private function standalonecreditsBACS( DirectDebit\StandaloneCredits $standalonecredits )
      {
          $fields = array(
              'merchantRefNum',
              'amount',
              'bacs'
          );
          if (!isset($standalonecredits->bacs->paymentToken))
          {
              $fields[] = 'profile';
              $fields[] = 'billingDetails';
  			$fields2 = array("firstName","lastName");
              $standalonecredits->profile->setRequiredFields($fields2);
              $standalonecredits->profile->checkRequiredFields($fields2);
          }
  
          $standalonecredits->setRequiredFields($fields);
          $standalonecredits->checkRequiredFields();
          $standalonecredits->setOptionalFields(array(
              'customerIp',
              'dupCheck'
          ));
          $request = new Request(array(
              'method' => Request::POST,
              'uri' => $this->prepareURI($this->standalonePath),
              'body' => $standalonecredits
          ));
          $response = $this->client->processRequest($request);
          return new DirectDebit\StandaloneCredits($response);
      }
code: private function standalonecreditsBACS( DirectDebit\StandaloneCredits $standalonecredits )
      {
          $fields = array(
              'merchantRefNum',
              'amount',
              'bacs'
          );
          if (!isset($standalonecredits->bacs->paymentToken))
          {
              $fields[] = 'profile';
              $fields[] = 'billingDetails';
  			$fields2 = array("firstName","lastName");
              $standalonecredits->profile->setRequiredFields($fields2);
              $standalonecredits->profile->checkRequiredFields($fields2);
          }
  
          $standalonecredits->setRequiredFields($fields);
          $standalonecredits->checkRequiredFields();
          $standalonecredits->setOptionalFields(array(
              'customerIp',
              'dupCheck'
          ));
          $request = new Request(array(
              'method' => Request::POST,
              'uri' => $this->prepareURI($this->standalonePath),
              'body' => $standalonecredits
          ));
          $response = $this->client->processRequest($request);
          return new DirectDebit\StandaloneCredits($response);
      }
code_tokens: private function standalonecreditsBACS ( DirectDebit \ StandaloneCredits $ standalonecredits ) { $ fields = array ( 'merchantRefNum' , 'amount' , 'bacs' ) ; if ( ! isset ( $ standalonecredits -> bacs -> paymentToken ) ) { $ fields [ ] = 'profile' ; $ fields [ ] = 'billingDetails' ; $ fields2 = array ( "firstName" , "lastName" ) ; $ standalonecredits -> profile -> setRequiredFields ( $ fields2 ) ; $ standalonecredits -> profile -> checkRequiredFields ( $ fields2 ) ; } $ standalonecredits -> setRequiredFields ( $ fields ) ; $ standalonecredits -> checkRequiredFields ( ) ; $ standalonecredits -> setOptionalFields ( array ( 'customerIp' , 'dupCheck' ) ) ; $ request = new Request ( array ( 'method' => Request :: POST , 'uri' => $ this -> prepareURI ( $ this -> standalonePath ) , 'body' => $ standalonecredits ) ) ; $ response = $ this -> client -> processRequest ( $ request ) ; return new DirectDebit \ StandaloneCredits ( $ response ) ; }
docstring: Process Standalone Credits using BACS without payment token.
  
  @param \Paysafe\DirectDebit\StandaloneCredits $standalonecredits
  @return \Paysafe\DirectDebit\StandaloneCredits
  @throws PaysafeException
docstring_tokens: Process Standalone Credits using BACS without payment token .