/** * Encodes wallet identifier object to array * * @param Paysera_WalletApi_Entity_WalletIdentifier $walletIdentifier * * @return array * * @throws InvalidArgumentException */ public function encodeWalletIdentifier(Paysera_WalletApi_Entity_WalletIdentifier $walletIdentifier) { if ($walletIdentifier->getId() !== null) { return array('id' => $walletIdentifier->getId()); } elseif ($walletIdentifier->getEmail() !== null) { return array('email' => $walletIdentifier->getEmail()); } elseif ($walletIdentifier->getPhone() !== null) { return array('phone' => $walletIdentifier->getPhone()); } elseif ($walletIdentifier->getBarcode() !== null) { return array('barcode' => $walletIdentifier->getBarcode()); } else { throw new InvalidArgumentException('Wallet identifier has no identifier set'); } }