getValue(Config::KEY_LOGIN_ID, $storeId); } /** * Gets the current environment * * @param int|null $storeId * @return string */ public function getEnvironment($storeId = null): string { return $this->getValue(Config::KEY_ENVIRONMENT, $storeId); } /** * Gets the transaction key * * @param int|null $storeId * @return string */ public function getTransactionKey($storeId = null): ?string { return $this->getValue(Config::KEY_TRANSACTION_KEY, $storeId); } /** * Gets the API endpoint URL * * @param int|null $storeId * @return string */ public function getApiUrl($storeId = null): string { $environment = $this->getValue(Config::KEY_ENVIRONMENT, $storeId); return $environment === Environment::ENVIRONMENT_SANDBOX ? self::ENDPOINT_URL_SANDBOX : self::ENDPOINT_URL_PRODUCTION; } /** * Gets the configured signature key * * @param int|null $storeId * @return string */ public function getTransactionSignatureKey($storeId = null): ?string { return $this->getValue(Config::KEY_SIGNATURE_KEY, $storeId); } /** * Gets the configured legacy transaction hash * * @param int|null $storeId * @return string */ public function getLegacyTransactionHash($storeId = null): ?string { return $this->getValue(Config::KEY_LEGACY_TRANSACTION_HASH, $storeId); } /** * Gets the configured payment action * * @param int|null $storeId * @return string */ public function getPaymentAction($storeId = null): ?string { return $this->getValue(Config::KEY_PAYMENT_ACTION, $storeId); } /** * Gets the configured client key * * @param int|null $storeId * @return string */ public function getClientKey($storeId = null): ?string { return $this->getValue(Config::KEY_CLIENT_KEY, $storeId); } /** * Should authorize.net email the customer their receipt. * * @param int|null $storeId * @return bool */ public function shouldEmailCustomer($storeId = null): bool { return (bool)$this->getValue(Config::KEY_SHOULD_EMAIL_CUSTOMER, $storeId); } /** * Should the cvv field be shown * * @param int|null $storeId * @return bool */ public function isCvvEnabled($storeId = null): bool { return (bool)$this->getValue(Config::KEY_CVV_ENABLED, $storeId); } /** * Retrieves the solution id for the given store based on environment * * @param int|null $storeId * @return string */ public function getSolutionId($storeId = null): ?string { $environment = $this->getValue(Config::KEY_ENVIRONMENT, $storeId); return $environment === Environment::ENVIRONMENT_SANDBOX ? self::SOLUTION_ID_SANDBOX : self::SOLUTION_ID_PRODUCTION; } /** * Returns the keys to be pulled from the transaction and displayed * * @param int|null $storeId * @return string[] */ public function getAdditionalInfoKeys($storeId = null): array { return explode(',', $this->getValue(Config::KEY_ADDITIONAL_INFO_KEYS, $storeId) ?? ''); } /** * Returns the keys to be pulled from the transaction and displayed when syncing the transaction * * @param int|null $storeId * @return string[] */ public function getTransactionInfoSyncKeys($storeId = null): array { return explode(',', $this->getValue(Config::KEY_TRANSACTION_SYNC_KEYS, $storeId) ?? ''); } }