/**
  * Finds payments by provided parameters
  *
  * @param string        $status
  * @param integer       $walletId
  * @param integer       $beneficiaryId
  * @param array $params optional search parameters
  *
  * @return Paysera_WalletApi_Entity_Search_Result
  *
  * @throws Paysera_WalletApi_Exception_ApiException
  */
 public function findPayments($status = null, $walletId = null, $beneficiaryId = null, $params = array())
 {
     Paysera_WalletApi_Util_Assert::isIntOrNull($walletId);
     Paysera_WalletApi_Util_Assert::isIntOrNull($beneficiaryId);
     $query = array();
     if ($status !== null) {
         $query['status'] = $status;
     }
     if ($walletId !== null) {
         $query['wallet'] = $walletId;
     }
     if ($beneficiaryId !== null) {
         $query['beneficiary'] = $beneficiaryId;
     }
     if (count($params)) {
         $query = array_merge($query, $params);
     }
     $result = $this->get('payments' . (count($query) > 0 ? '?' . http_build_query($query) : ''));
     return $this->mapper->decodePaymentSearchResult($result);
 }
 /**
  * Sets validFor
  *
  * @param integer $validFor
  * @return self
  */
 public function setValidFor($validFor)
 {
     Paysera_WalletApi_Util_Assert::isIntOrNull($validFor);
     $this->validFor = $validFor;
     return $this;
 }