diff --git a/.gitignore b/.gitignore index 9f11b75..c9e281f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ .idea/ +atlassian-ide-plugin.xml +/composer.lock +/vendor \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 74232ae..d65bcd2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,6 @@ php: - 5.5 before_script: - - composer install + - composer install --no-dev script: phpunit --bootstrap tests/bootstrap.php --configuration tests/phpunit.xml diff --git a/composer.json b/composer.json index 878f1b8..0c1bdac 100644 --- a/composer.json +++ b/composer.json @@ -7,14 +7,26 @@ "authors": [ { "name": "Daniel Costa", - "email": "danielcosta@gmail.com" + "email": "danielcosta@gmail.com", + "homepage": "https://github.com/danielcosta" + }, + { + "name": "Alexandre Xavier", + "email": "alexandre.rodrigues.xv@gmail.com", + "homepage": "https://github.com/alexandre-xavier" } ], + "support": { + "issues": "https://github.com/danielcosta/redecard-ecommerce/issues" + }, "require": { "php": ">=5.3.0", "jms/serializer": "0.*", "nategood/httpful": "0.2.*" }, + "require-dev": { + "phpunit/phpunit": "4.2.*@dev" + }, "minimum-stability": "dev", "autoload": { "psr-0": { diff --git a/src/RedeCard/Ecommerce/Client.php b/src/RedeCard/Ecommerce/Client.php index 5041f4b..d381824 100644 --- a/src/RedeCard/Ecommerce/Client.php +++ b/src/RedeCard/Ecommerce/Client.php @@ -9,7 +9,7 @@ * Class Client * * @package RedeCard\Ecommerce - * @author Daniel Costa + * @author Daniel Costa */ class Client { diff --git a/src/RedeCard/Ecommerce/Entity/AbstractEntity.php b/src/RedeCard/Ecommerce/Entity/AbstractEntity.php index 2df8632..c0c66e1 100644 --- a/src/RedeCard/Ecommerce/Entity/AbstractEntity.php +++ b/src/RedeCard/Ecommerce/Entity/AbstractEntity.php @@ -8,7 +8,7 @@ * @package RedeCard\Ecommerce * @author Carlos Cima * @author Thiago Risso - * @author Daniel Costa + * @author Daniel Costa */ class AbstractEntity { diff --git a/src/RedeCard/Ecommerce/Entity/Authentication.php b/src/RedeCard/Ecommerce/Entity/Authentication.php index 5e2142d..6bd1e6f 100644 --- a/src/RedeCard/Ecommerce/Entity/Authentication.php +++ b/src/RedeCard/Ecommerce/Entity/Authentication.php @@ -3,14 +3,14 @@ namespace RedeCard\Ecommerce\Entity; use RedeCard\Ecommerce\Entity\Authentication\AcquirerCode; -use RedeCard\Ecommerce\Entity\Enum\AuthenticationTypeEnum; -use RedeCard\Ecommerce\Exception\InvalidAuthenticationTypeException; +use RedeCard\Ecommerce\Entity\Enum\AuthenticationType; +use RedeCard\Ecommerce\Exception\RedeCardEcommerceException; /** * Class Authentication * * @package RedeCard\Ecommerce\Entity - * @author Daniel Costa + * @author Daniel Costa */ class Authentication extends AbstractEntity { @@ -46,20 +46,19 @@ class Authentication extends AbstractEntity { * @param int $client Client ID or AcquirerCode * @param string $password Password * @param string $type Authentication Type - * @throws \RedeCard\Ecommerce\Exception\InvalidAuthenticationTypeException */ - public function __construct($client, $password, $type = AuthenticationTypeEnum::ACQUIRER) + public function __construct($client, $password, $type = AuthenticationType::ACQUIRER) { switch ($type) { - case AuthenticationTypeEnum::ACQUIRER: + case AuthenticationType::ACQUIRER: $acquirer = new AcquirerCode($client); $this->setAcquirerCode($acquirer); break; - case AuthenticationTypeEnum::CLIENT: + case AuthenticationType::CLIENT: $this->setClient($client); break; default: - throw new InvalidAuthenticationTypeException('Invalid authentication type'); + throw new RedeCardEcommerceException('Invalid authentication type'); } $this->setPassword($password); return $this; diff --git a/src/RedeCard/Ecommerce/Entity/Authentication/AcquirerCode.php b/src/RedeCard/Ecommerce/Entity/Authentication/AcquirerCode.php index 12ada5b..847f8bc 100644 --- a/src/RedeCard/Ecommerce/Entity/Authentication/AcquirerCode.php +++ b/src/RedeCard/Ecommerce/Entity/Authentication/AcquirerCode.php @@ -11,7 +11,7 @@ * Esta funcionalidade é limitada com base no adquirente do estabelecimento comercial. * * @package RedeCard\Ecommerce\Entity\Authentication - * @author Daniel Costa + * @author Daniel Costa */ class AcquirerCode extends AbstractEntity { diff --git a/src/RedeCard/Ecommerce/Entity/Enum/AuthenticationTypeEnum.php b/src/RedeCard/Ecommerce/Entity/Enum/AuthenticationType.php similarity index 76% rename from src/RedeCard/Ecommerce/Entity/Enum/AuthenticationTypeEnum.php rename to src/RedeCard/Ecommerce/Entity/Enum/AuthenticationType.php index e03e733..9dd9cd0 100644 --- a/src/RedeCard/Ecommerce/Entity/Enum/AuthenticationTypeEnum.php +++ b/src/RedeCard/Ecommerce/Entity/Enum/AuthenticationType.php @@ -3,11 +3,11 @@ namespace RedeCard\Ecommerce\Entity\Enum; /** - * Class AuthenticationTypeEnum + * Class AuthenticationType * @package RedeCard\Ecommerce\Entity\Enum - * @author Daniel Costa + * @author Daniel Costa */ -class AuthenticationTypeEnum { +class AuthenticationType { /** * Este método usa uma instância de Authentication\AcquirerCode como parâmetro de autenticação diff --git a/src/RedeCard/Ecommerce/Entity/Enum/CaptureMethodEnum.php b/src/RedeCard/Ecommerce/Entity/Enum/CaptureMethodEnum.php index 20abbcd..7411111 100644 --- a/src/RedeCard/Ecommerce/Entity/Enum/CaptureMethodEnum.php +++ b/src/RedeCard/Ecommerce/Entity/Enum/CaptureMethodEnum.php @@ -8,7 +8,7 @@ * Capture Method Enumerator * * @package RedeCard\Ecommerce\Entity\Enum - * @author Daniel Costa + * @author Daniel Costa */ class CaptureMethodEnum { diff --git a/src/RedeCard/Ecommerce/Entity/Enum/CardAccountTypeEnum.php b/src/RedeCard/Ecommerce/Entity/Enum/CardAccountTypeEnum.php index c23c0fb..a078fea 100644 --- a/src/RedeCard/Ecommerce/Entity/Enum/CardAccountTypeEnum.php +++ b/src/RedeCard/Ecommerce/Entity/Enum/CardAccountTypeEnum.php @@ -8,7 +8,7 @@ * Card Account Type Enumerator * * @package RedeCard\Ecommerce\Entity\Enum - * @author Daniel Costa + * @author Daniel Costa */ class CardAccountTypeEnum { diff --git a/src/RedeCard/Ecommerce/Entity/Enum/CardSchemeEnum.php b/src/RedeCard/Ecommerce/Entity/Enum/CardSchemeEnum.php index 946d8ba..a2fe498 100644 --- a/src/RedeCard/Ecommerce/Entity/Enum/CardSchemeEnum.php +++ b/src/RedeCard/Ecommerce/Entity/Enum/CardSchemeEnum.php @@ -8,7 +8,7 @@ * Card Scheme Enumerator * * @package RedeCard\Ecommerce\Entity\Enum - * @author Daniel Costa + * @author Daniel Costa */ class CardSchemeEnum { diff --git a/src/RedeCard/Ecommerce/Entity/Enum/CountryEnum.php b/src/RedeCard/Ecommerce/Entity/Enum/CountryEnum.php index ae16f82..e79f23f 100644 --- a/src/RedeCard/Ecommerce/Entity/Enum/CountryEnum.php +++ b/src/RedeCard/Ecommerce/Entity/Enum/CountryEnum.php @@ -2,13 +2,13 @@ namespace RedeCard\Ecommerce\Entity\Enum; -use RedeCard\Ecommerce\Exception\InvalidCountryException; +use RedeCard\Ecommerce\Exception\RedeCardEcommerceException; /** * Class CountryEnum * * @package RedeCard\Ecommerce\Entity\Enum - * @author Daniel Costa + * @author Daniel Costa * @link http://unstats.un.org/unsd/methods/m49/m49alpha.htm */ class CountryEnum { @@ -27,7 +27,7 @@ class CountryEnum { * @param $iso3Code * * @return string - * @throws \RedeCard\Ecommerce\Exception\InvalidCountryException + * @throws \RedeCard\Ecommerce\Exception\RedeCardEcommerceException */ public static function getNumericalCodeByIso3Code($iso3Code) { @@ -35,7 +35,7 @@ public static function getNumericalCodeByIso3Code($iso3Code) return self::$numericalCodes[$iso3Code]; } - throw new InvalidCountryException('Invalid ISO 3 country code'); + throw new RedeCardEcommerceException('Invalid ISO 3 country code'); } } \ No newline at end of file diff --git a/src/RedeCard/Ecommerce/Entity/Enum/Currency/Iso4217Enum.php b/src/RedeCard/Ecommerce/Entity/Enum/Currency/Iso4217Enum.php index f49c86f..85d384c 100644 --- a/src/RedeCard/Ecommerce/Entity/Enum/Currency/Iso4217Enum.php +++ b/src/RedeCard/Ecommerce/Entity/Enum/Currency/Iso4217Enum.php @@ -9,8 +9,8 @@ * * @package RedeCard\Ecommerce\Entity\Enum\Currency * @author Carlos Cima - * @author Alexandre Xavier - * @author Daniel Costa + * @author Alexandre Xavier + * @author Daniel Costa */ class Iso4217Enum { diff --git a/src/RedeCard/Ecommerce/Entity/Enum/ExtendedPolicyAttributeEnum.php b/src/RedeCard/Ecommerce/Entity/Enum/ExtendedPolicyAttributeEnum.php index b740f1f..a956bc4 100644 --- a/src/RedeCard/Ecommerce/Entity/Enum/ExtendedPolicyAttributeEnum.php +++ b/src/RedeCard/Ecommerce/Entity/Enum/ExtendedPolicyAttributeEnum.php @@ -6,7 +6,7 @@ * Class ExtendedPolicyAttributeEnum * * @package RedeCard\Ecommerce\Entity\Enum - * @author Daniel Costa + * @author Daniel Costa */ class ExtendedPolicyAttributeEnum { diff --git a/src/RedeCard/Ecommerce/Entity/Enum/MethodEnum.php b/src/RedeCard/Ecommerce/Entity/Enum/MethodEnum.php index 4eccad9..62a8132 100644 --- a/src/RedeCard/Ecommerce/Entity/Enum/MethodEnum.php +++ b/src/RedeCard/Ecommerce/Entity/Enum/MethodEnum.php @@ -8,7 +8,7 @@ * Transaction Method Enumerator * * @package RedeCard\Ecommerce\Entity\Enum - * @author Daniel Costa + * @author Daniel Costa */ class MethodEnum { diff --git a/src/RedeCard/Ecommerce/Entity/Enum/StatusEnum.php b/src/RedeCard/Ecommerce/Entity/Enum/StatusEnum.php index 72b6576..c517d72 100644 --- a/src/RedeCard/Ecommerce/Entity/Enum/StatusEnum.php +++ b/src/RedeCard/Ecommerce/Entity/Enum/StatusEnum.php @@ -2,7 +2,7 @@ namespace RedeCard\Ecommerce\Entity\Enum; -use RedeCard\Ecommerce\Exception\InvalidStatusException; +use RedeCard\Ecommerce\Exception\RedeCardEcommerceException; /** * Class StatusEnum @@ -10,7 +10,7 @@ * Transaction Status Enumerator * * @package RedeCard\Ecommerce\Entity\Enum - * @author Daniel Costa + * @author Daniel Costa */ class StatusEnum { @@ -26,28 +26,28 @@ class StatusEnum { * @param $id * * @return mixed - * @throws \RedeCard\Ecommerce\Exception\InvalidStatusException + * @throws \Exception */ public function getStatusByCode($id) { if (isset($this->codes[$id])) { return $this->codes[$id]; } - throw new InvalidStatusException('Invalid status code'); + throw new RedeCardEcommerceException('Invalid status code'); } /** * @param $id * * @return mixed - * @throws \RedeCard\Ecommerce\Exception\InvalidStatusException + * @throws \Exception */ public function getDescriptionByCode($id) { if (isset($this->descriptions[$id])) { return $this->descriptions[$id]; } - throw new InvalidStatusException('Invalid status code'); + throw new RedeCardEcommerceException('Invalid status code'); } } \ No newline at end of file diff --git a/src/RedeCard/Ecommerce/Entity/Request.php b/src/RedeCard/Ecommerce/Entity/Request.php index 493c040..209c5ed 100644 --- a/src/RedeCard/Ecommerce/Entity/Request.php +++ b/src/RedeCard/Ecommerce/Entity/Request.php @@ -9,7 +9,7 @@ * Class Request * * @package RedeCard\Ecommerce\Entity - * @author Daniel Costa + * @author Daniel Costa */ class Request extends AbstractEntity { diff --git a/src/RedeCard/Ecommerce/Entity/Response.php b/src/RedeCard/Ecommerce/Entity/Response.php index d788410..65bade9 100644 --- a/src/RedeCard/Ecommerce/Entity/Response.php +++ b/src/RedeCard/Ecommerce/Entity/Response.php @@ -10,7 +10,7 @@ * Class Response * * @package RedeCard\Ecommerce\Entity - * @author Daniel Costa + * @author Daniel Costa */ class Response extends AbstractEntity { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction.php b/src/RedeCard/Ecommerce/Entity/Transaction.php index 885dd3b..ca3e834 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction.php @@ -10,7 +10,7 @@ * Class Transaction * * @package RedeCard\Ecommerce\Entity - * @author Daniel Costa + * @author Daniel Costa */ class Transaction { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction.php b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction.php index d60e137..156ed36 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction.php @@ -5,13 +5,13 @@ use RedeCard\Ecommerce\Entity\AbstractEntity; use RedeCard\Ecommerce\Entity\Transaction\CardTransaction\Card; use RedeCard\Ecommerce\Entity\Enum\MethodEnum; -use RedeCard\Ecommerce\Exception\InvalidMethodException; +use RedeCard\Ecommerce\Exception\RedeCardEcommerceException; /** * Class CardTransaction * * @package RedeCard\Ecommerce\Entity\Transaction - * @author Daniel Costa + * @author Daniel Costa */ class CardTransaction extends AbstractEntity { @@ -73,7 +73,6 @@ public function getAuthCode() /** * @param string $method - * @throws \RedeCard\Ecommerce\Exception\InvalidMethodException */ public function setMethod($method) { @@ -86,7 +85,7 @@ public function setMethod($method) return $this; break; default: - throw new InvalidMethodException('Invalid card transaction Method. Only "auth", "cancel", "fulfill" or "pre" allowed.'); + throw new RedeCardEcommerceException('Invalid card transaction Method. Only "auth", "cancel", "fulfill" or "pre" allowed.'); } } diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card.php b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card.php index 6cb06cb..e20bf98 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card.php @@ -5,13 +5,13 @@ use RedeCard\Ecommerce\Entity\AbstractEntity; use RedeCard\Ecommerce\Entity\Transaction\CardTransaction\Card\Cv2Avs; use RedeCard\Ecommerce\Entity\Enum\CardAccountTypeEnum; -use RedeCard\Ecommerce\Exception\InvalidCardAccountTypeException; +use RedeCard\Ecommerce\Exception\RedeCardEcommerceException; /** * Class Card * * @package RedeCard\Ecommerce\Entity\Transaction\CardTransaction - * @author Daniel Costa + * @author Daniel Costa */ class Card extends AbstractEntity { @@ -55,7 +55,6 @@ public function __construct() /** * @param string $cardAccountType - * @throws \RedeCard\Ecommerce\Exception\InvalidCardAccountTypeException */ public function setCardAccountType($cardAccountType) { @@ -66,7 +65,7 @@ public function setCardAccountType($cardAccountType) return $this; break; default: - throw new InvalidCardAccountTypeException('Invalid Card Account Type. Only "credit" or "debit" allowed.'); + throw new RedeCardEcommerceException('Invalid Card Account Type. Only "credit" or "debit" allowed.'); break; } } diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs.php b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs.php index 41f9ab4..cb278c6 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs.php @@ -8,7 +8,7 @@ * Class Cv2Avs * * @package RedeCard\Ecommerce\Entity\Transaction\CardTransaction\Card - * @author Daniel Costa + * @author Daniel Costa */ class Cv2Avs { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs/ExtendedPolicy.php b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs/ExtendedPolicy.php index 241a7f6..f811d51 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs/ExtendedPolicy.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs/ExtendedPolicy.php @@ -8,7 +8,7 @@ * Class ExtendedPolicy * * @package RedeCard\Ecommerce\Entity\Transaction\CardTransaction\Card\Cv2Avs - * @author Daniel Costa + * @author Daniel Costa */ class ExtendedPolicy { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs/ExtendedPolicyAttributes.php b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs/ExtendedPolicyAttributes.php index e30ccc2..0cc66d4 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs/ExtendedPolicyAttributes.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Card/Cv2Avs/ExtendedPolicyAttributes.php @@ -6,7 +6,7 @@ * Class ExtendedPolicyAttributes * * @package RedeCard\Ecommerce\Entity\Transaction\CardTransaction\Card\Cv2Avs - * @author Daniel Costa + * @author Daniel Costa */ class ExtendedPolicyAttributes { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Cv2AvsResult.php b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Cv2AvsResult.php index 57b3bd2..5b238db 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Cv2AvsResult.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/Cv2AvsResult.php @@ -6,7 +6,7 @@ * Class Cv2AvsResult * * @package RedeCard\Ecommerce\Entity\Transaction\CardTransaction - * @author Daniel Costa + * @author Daniel Costa */ class Cv2AvsResult { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/ThreeDSecure.php b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/ThreeDSecure.php index c3cb019..4c23ff9 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/ThreeDSecure.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransaction/ThreeDSecure.php @@ -6,7 +6,7 @@ * Class ThreeDSecure * * @package RedeCard\Ecommerce\Entity\Transaction\CardTransaction - * @author Daniel Costa + * @author Daniel Costa */ class ThreeDSecure { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransactionResult.php b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransactionResult.php index e957a9a..ac304ef 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/CardTransactionResult.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/CardTransactionResult.php @@ -8,7 +8,7 @@ * Class CardTransactionResult * * @package RedeCard\Ecommerce\Entity\Transaction - * @author Daniel Costa + * @author Daniel Costa */ class CardTransactionResult { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/Details/AdditionalInfo.php b/src/RedeCard/Ecommerce/Entity/Transaction/Details/AdditionalInfo.php index 9e9e62f..8e0a4b8 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/Details/AdditionalInfo.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/Details/AdditionalInfo.php @@ -7,7 +7,7 @@ /** * Class AdditionalInfo * @package RedeCard\Ecommerce\Entity\Transaction\Details - * @author Daniel Costa + * @author Daniel Costa */ class AdditionalInfo { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/Details/AdditionalInfo/CustomerInfo.php b/src/RedeCard/Ecommerce/Entity/Transaction/Details/AdditionalInfo/CustomerInfo.php index 1c0802e..b7579df 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/Details/AdditionalInfo/CustomerInfo.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/Details/AdditionalInfo/CustomerInfo.php @@ -5,7 +5,7 @@ /** * Class CustomerInfo * @package RedeCard\Ecommerce\Entity\Transaction\Details\AdditionalInfo - * @author Daniel Costa + * @author Daniel Costa */ class CustomerInfo { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/HistoricTransaction.php b/src/RedeCard/Ecommerce/Entity/Transaction/HistoricTransaction.php index 4d0f035..62b5126 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/HistoricTransaction.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/HistoricTransaction.php @@ -13,7 +13,7 @@ * Transações Históricas exigem o fornecimento de informações similares sobre a transação. * * @package RedeCard\Ecommerce\Entity\Transaction - * @author Daniel Costa + * @author Daniel Costa */ class HistoricTransaction extends AbstractEntity { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/QueryTransactionResult.php b/src/RedeCard/Ecommerce/Entity/Transaction/QueryTransactionResult.php index f27c7c1..5526dca 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/QueryTransactionResult.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/QueryTransactionResult.php @@ -9,7 +9,7 @@ * Class QueryTransactionResult * * @package RedeCard\Ecommerce\Entity\Transaction - * @author Daniel Costa + * @author Daniel Costa */ class QueryTransactionResult { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails.php b/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails.php index a616471..2867619 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails.php @@ -4,14 +4,15 @@ use RedeCard\Ecommerce\Entity\AbstractEntity; use RedeCard\Ecommerce\Entity\Transaction\TransactionDetails\Amount; +use RedeCard\Ecommerce\Entity\Transaction\TransactionDetails\Installments; /** * Class Details * @package RedeCard\Ecommerce\Entity\Transaction - * @author Daniel Costa + * @author Daniel Costa */ -class TransactionDetails extends AbstractEntity { - +class TransactionDetails extends AbstractEntity +{ /** * Número de referência único para cada transação * @@ -28,6 +29,13 @@ class TransactionDetails extends AbstractEntity { */ protected $Amount; + /** + * Elementos das Parcelas + * + * @var Installments + */ + protected $Installments; + /** * Especifica o ambiente da transação. * @@ -55,7 +63,23 @@ public function setAmount(Amount $Amount) */ public function getAmount() { - return $this->amount; + return $this->Amount; + } + + /** + * @param Installments $Installments + */ + public function setInstallments($Installments) + { + $this->Installments = $Installments; + } + + /** + * @return Installments + */ + public function getInstallments() + { + return $this->Installments; } /** @@ -64,6 +88,7 @@ public function getAmount() public function setCaptureMethod($captureMethod) { $this->captureMethod = $captureMethod; + return $this; } @@ -81,6 +106,7 @@ public function getCaptureMethod() public function setMerchantReference($merchantReference) { $this->merchantReference = $merchantReference; + return $this; } @@ -92,4 +118,4 @@ public function getMerchantReference() return $this->merchantReference; } -} \ No newline at end of file +} diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails/Amount.php b/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails/Amount.php index 8310205..12416a7 100644 --- a/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails/Amount.php +++ b/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails/Amount.php @@ -9,7 +9,7 @@ * Class Card * * @package RedeCard\Ecommerce\Entity\Transaction\CardTransaction - * @author Daniel Costa + * @author Daniel Costa */ class Amount extends AbstractEntity { diff --git a/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails/Installments.php b/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails/Installments.php new file mode 100644 index 0000000..3217d2b --- /dev/null +++ b/src/RedeCard/Ecommerce/Entity/Transaction/TransactionDetails/Installments.php @@ -0,0 +1,77 @@ + + */ +class Installments extends AbstractEntity +{ + /** + * Parcelado com Juros + * + * @const string + */ + const ENUM_TYPE_INTEREST_BEARING = 'interest_bearing'; + + /** + * Parcelado sem Juros + * + * @const string + */ + const ENUM_TYPE_ZERO_INTEREST = 'zero_interest'; + + /** + * Indica ao emitente se a parcela carrega juros ou não. + * + * @see RedeCard\Ecommerce\Entity\Transaction\TransactionDetails\installments::ENUM_TYPE_INTEREST_BEARING + * @see RedeCard\Ecommerce\Entity\Transaction\TransactionDetails\installments::ENUM_TYPE_ZERO_INTEREST + * + * @var string $type + */ + protected $type; + + /** + * Indica ao emitente o número de parcelas a serem pagas. + * + * @var int + */ + protected $number; + + /** + * @param int $number + */ + public function setNumber($number) + { + $this->number = $number; + } + + /** + * @return int + */ + public function getNumber() + { + return $this->number; + } + + /** + * @param string $type + */ + public function setType($type) + { + $this->type = $type; + } + + /** + * @return string + */ + public function getType() + { + return $this->type; + } +} diff --git a/src/RedeCard/Ecommerce/Exception/Exception.php b/src/RedeCard/Ecommerce/Exception/Exception.php deleted file mode 100644 index 9d94a53..0000000 --- a/src/RedeCard/Ecommerce/Exception/Exception.php +++ /dev/null @@ -1,12 +0,0 @@ - - */ -interface Exception -{ -} diff --git a/src/RedeCard/Ecommerce/Exception/InvalidAuthenticationTypeException.php b/src/RedeCard/Ecommerce/Exception/InvalidAuthenticationTypeException.php deleted file mode 100644 index 3c41b92..0000000 --- a/src/RedeCard/Ecommerce/Exception/InvalidAuthenticationTypeException.php +++ /dev/null @@ -1,12 +0,0 @@ - - */ -class InvalidAuthenticationTypeException extends \InvalidArgumentException implements Exception -{ -} diff --git a/src/RedeCard/Ecommerce/Exception/InvalidCardAccountTypeException.php b/src/RedeCard/Ecommerce/Exception/InvalidCardAccountTypeException.php deleted file mode 100644 index 791679a..0000000 --- a/src/RedeCard/Ecommerce/Exception/InvalidCardAccountTypeException.php +++ /dev/null @@ -1,12 +0,0 @@ - - */ -class InvalidCardAccountTypeException extends \InvalidArgumentException implements Exception -{ -} diff --git a/src/RedeCard/Ecommerce/Exception/InvalidCountryException.php b/src/RedeCard/Ecommerce/Exception/InvalidCountryException.php deleted file mode 100644 index bb96902..0000000 --- a/src/RedeCard/Ecommerce/Exception/InvalidCountryException.php +++ /dev/null @@ -1,12 +0,0 @@ - - */ -class InvalidCountryException extends \InvalidArgumentException implements Exception -{ -} diff --git a/src/RedeCard/Ecommerce/Exception/InvalidMethodException.php b/src/RedeCard/Ecommerce/Exception/InvalidMethodException.php deleted file mode 100644 index 8bdcd5b..0000000 --- a/src/RedeCard/Ecommerce/Exception/InvalidMethodException.php +++ /dev/null @@ -1,12 +0,0 @@ - - */ -class InvalidMethodException extends \InvalidArgumentException implements Exception -{ -} diff --git a/src/RedeCard/Ecommerce/Exception/InvalidStatusException.php b/src/RedeCard/Ecommerce/Exception/InvalidStatusException.php deleted file mode 100644 index fe16fa9..0000000 --- a/src/RedeCard/Ecommerce/Exception/InvalidStatusException.php +++ /dev/null @@ -1,12 +0,0 @@ - - */ -class InvalidStatusException extends \InvalidArgumentException implements Exception -{ -} diff --git a/src/RedeCard/Ecommerce/Exception/RedeCardEcommerceException.php b/src/RedeCard/Ecommerce/Exception/RedeCardEcommerceException.php new file mode 100644 index 0000000..6fa5ec5 --- /dev/null +++ b/src/RedeCard/Ecommerce/Exception/RedeCardEcommerceException.php @@ -0,0 +1,14 @@ + + */ +class RedeCardEcommerceException extends Exception { + +} \ No newline at end of file diff --git a/src/RedeCard/Ecommerce/Helper/Samples.php b/src/RedeCard/Ecommerce/Helper/Samples.php index 3805b89..1f5556b 100644 --- a/src/RedeCard/Ecommerce/Helper/Samples.php +++ b/src/RedeCard/Ecommerce/Helper/Samples.php @@ -21,7 +21,7 @@ * Class Sample * * @package RedeCard\Ecommerce\Helper - * @author Daniel Costa + * @author Daniel Costa */ class Samples { @@ -81,7 +81,7 @@ public static function getSampleRequest() ->setTransactionDetails($transactionDetails) ->setHistoricTransaction($historicTransaction); - $authentication = new Authentication('0123456', 'p4ss'); + $authentication = new Authentication('c1ientID', 'p4ss'); $request = new Request($authentication); $request->setTransaction($transaction); @@ -93,48 +93,49 @@ public static function getSampleRequestResultString() { return ' - - - 0123456 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 999.99 - - - - - - - -'; + + + c1ientID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 999.99 + + + + + + + + +'; } public static function getRespostaPadrao() diff --git a/src/RedeCard/Ecommerce/Serializer/Builder.php b/src/RedeCard/Ecommerce/Serializer/Builder.php index e4ce646..c44292f 100644 --- a/src/RedeCard/Ecommerce/Serializer/Builder.php +++ b/src/RedeCard/Ecommerce/Serializer/Builder.php @@ -8,7 +8,7 @@ * Class Builder * * @package RedeCard\Ecommerce\Serializer - * @author Daniel Costa + * @author Daniel Costa */ class Builder { @@ -22,4 +22,16 @@ public static function create() ->build(); } + /** + * Removes CDATA sections from XML string to accomplish RedeCard's requirement + * + * @param string $xml + * + * @return string + */ + public static function removeCdata($xml) + { + return str_replace('', '', $xml)); + } + } \ No newline at end of file diff --git a/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.CardTransactionResult.xml b/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.CardTransactionResult.xml index 79af3e7..04e5650 100644 --- a/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.CardTransactionResult.xml +++ b/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.CardTransactionResult.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.TransactionDetails.Instalments.xml b/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.TransactionDetails.Instalments.xml new file mode 100644 index 0000000..f910e52 --- /dev/null +++ b/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.TransactionDetails.Instalments.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.TransactionDetails.xml b/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.TransactionDetails.xml index 5baecc8..6ce892f 100644 --- a/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.TransactionDetails.xml +++ b/src/RedeCard/Ecommerce/Serializer/config/Entity.Transaction.TransactionDetails.xml @@ -3,6 +3,7 @@ + \ No newline at end of file diff --git a/src/RedeCard/Ecommerce/tests/RedeCard/Ecommerce/Entity/RequestTest.php b/src/RedeCard/Ecommerce/tests/RedeCard/Ecommerce/Entity/RequestTest.php new file mode 100644 index 0000000..bfeac9a --- /dev/null +++ b/src/RedeCard/Ecommerce/tests/RedeCard/Ecommerce/Entity/RequestTest.php @@ -0,0 +1,25 @@ + + */ +class RequestTest extends PHPUnit_Framework_TestCase { + + public function testRequestWithSampleData() + { + $result = Builder::create()->serialize(Samples::getSampleRequest(), 'xml'); + $this->assertXmlStringEqualsXmlString(Samples::getSampleRequestResultString(), $result); + } + +} \ No newline at end of file diff --git a/src/RedeCard/Ecommerce/tests/bootstrap.php b/src/RedeCard/Ecommerce/tests/bootstrap.php new file mode 100644 index 0000000..87adc8f --- /dev/null +++ b/src/RedeCard/Ecommerce/tests/bootstrap.php @@ -0,0 +1,11 @@ + + */ + +// path to composer's autoload.php -- fixed to BobAlice skeleton +$loader = require_once __DIR__ . "/../../../../vendor/autoload.php"; +$loader->add('RedeCard\\Ecommerce\\', __DIR__); \ No newline at end of file diff --git a/src/RedeCard/Ecommerce/tests/phpunit.xml b/src/RedeCard/Ecommerce/tests/phpunit.xml new file mode 100644 index 0000000..577a92e --- /dev/null +++ b/src/RedeCard/Ecommerce/tests/phpunit.xml @@ -0,0 +1,28 @@ + + + + + ../src/RedeCard/Ecommerce + + + + . + + \ No newline at end of file diff --git a/tests/RedeCard/Ecommerce/Entity/RequestTest.php b/tests/RedeCard/Ecommerce/Entity/RequestTest.php index bfeac9a..4fe8f1f 100644 --- a/tests/RedeCard/Ecommerce/Entity/RequestTest.php +++ b/tests/RedeCard/Ecommerce/Entity/RequestTest.php @@ -12,7 +12,7 @@ * *!*!*!*!*!*!* UNFINISHED FILE *!*!*!*!*!*!*!* * * @package RedeCard\Ecommerce - * @author Daniel Costa + * @author Daniel Costa */ class RequestTest extends PHPUnit_Framework_TestCase {