diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index f9749bc..43ea87a 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -17,18 +17,35 @@ jobs: phpunit: runs-on: ubuntu-latest + + strategy: + matrix: + php-version: [ '7.4', '8.3', '8.4' ] + env: CC_TEST_REPORTER_ID: ${{ secrets.CODE_CLIMATE_ID }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '7.4' + php-version: ${{ matrix.php-version }} coverage: xdebug + - name: Get composer cache directory + id: composer-cache + run: | + echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" + + - name: Cache composer dependencies + uses: actions/cache@v4 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + - name: Install Composer Dependencies run: composer install --no-progress --prefer-dist --optimize-autoloader @@ -79,7 +96,7 @@ jobs: fi - name: Send Report - if: env.CC_TEST_REPORTER_ID != '' + if: env.CC_TEST_REPORTER_ID != '' && matrix.php-version == '7.4' run: | if [ -f clover.xml ]; then echo "Sending coverage report to CodeClimate..." diff --git a/README.md b/README.md index faa74bf..03bf570 100644 --- a/README.md +++ b/README.md @@ -298,10 +298,10 @@ $responsePayment = $ipagClient->payment()->getById($transactionId); $responsePayment = $ipagClient->payment()->getByUuid($transactionUuid); ``` ```php -$responsePayment = $ipagClient->payment()->getByUuid($transactionTid); +$responsePayment = $ipagClient->payment()->getByTid($transactionTid); ``` ```php -$responsePayment = $ipagClient->payment()->getByUuid($orderId); +$responsePayment = $ipagClient->payment()->getByOrderId($orderId); ``` ### Capturar Pagamento @@ -315,11 +315,11 @@ $responsePayment = $ipagClient->payment()->captureByUuid($transactionUuid, $amou ``` ou ```php -$responsePayment = $ipagClient->payment()->captureByUuid($transactionTid, $amount); +$responsePayment = $ipagClient->payment()->captureByTid($transactionTid, $amount); ``` ou ```php -$responsePayment = $ipagClient->payment()->captureByUuid($orderId, $amount); +$responsePayment = $ipagClient->payment()->captureByOrderId($orderId, $amount); ``` ### Cancelar Pagamento @@ -333,11 +333,11 @@ $responsePayment = $ipagClient->payment()->cancelByUuid($transactionUuid, $amoun ``` ou ```php -$responsePayment = $ipagClient->payment()->cancelByUuid($transactionTid, $amount); +$responsePayment = $ipagClient->payment()->cancelByTid($transactionTid, $amount); ``` ou ```php -$responsePayment = $ipagClient->payment()->cancelByUuid($orderId, $amount); +$responsePayment = $ipagClient->payment()->cancelByOrderId($orderId, $amount); ``` > Todos os exemplos: [examples/payment/](https://github.com/ipagdevs/ipag-sdk-php/tree/master/examples/payment/) diff --git a/src/Model/Address.php b/src/Model/Address.php index 85c2c94..4542068 100644 --- a/src/Model/Address.php +++ b/src/Model/Address.php @@ -212,7 +212,7 @@ public function setState(?string $state): self } public function zipcode(): Mutator { - return new Mutator(null, fn ($value) => strval(preg_replace('/\D/', '', $value))); + return new Mutator(null, fn ($value) => strval(preg_replace('/\D/', '', $value ?? ''))); } /** diff --git a/src/Model/Attendee.php b/src/Model/Attendee.php index 0e8a30d..29f85bf 100644 --- a/src/Model/Attendee.php +++ b/src/Model/Attendee.php @@ -39,11 +39,13 @@ protected function dob(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/Bank.php b/src/Model/Bank.php index 57f4270..8de2635 100644 --- a/src/Model/Bank.php +++ b/src/Model/Bank.php @@ -98,7 +98,7 @@ public function getAccount(): ?string * @param string|null $account * @return self */ - public function setAccount(string $account = null): self + public function setAccount(?string $account = null): self { $this->set('account', $account); return $this; diff --git a/src/Model/Boleto.php b/src/Model/Boleto.php index 1e88e9e..92c09bc 100644 --- a/src/Model/Boleto.php +++ b/src/Model/Boleto.php @@ -39,11 +39,13 @@ protected function due_date(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/Charge.php b/src/Model/Charge.php index 2734943..6c885c1 100644 --- a/src/Model/Charge.php +++ b/src/Model/Charge.php @@ -91,11 +91,13 @@ protected function due_date(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } @@ -118,11 +120,13 @@ protected function last_charge_date(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/Customer.php b/src/Model/Customer.php index 8248b26..c5134c0 100644 --- a/src/Model/Customer.php +++ b/src/Model/Customer.php @@ -368,11 +368,13 @@ protected function birthdate(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/Holder.php b/src/Model/Holder.php index 4f6e8bf..88013f7 100644 --- a/src/Model/Holder.php +++ b/src/Model/Holder.php @@ -142,11 +142,13 @@ protected function birthdate(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/Owner.php b/src/Model/Owner.php index 5653090..2ead629 100644 --- a/src/Model/Owner.php +++ b/src/Model/Owner.php @@ -78,11 +78,13 @@ protected function birthdate(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/PaymentLinkV2/PaymentLinkV2.php b/src/Model/PaymentLinkV2/PaymentLinkV2.php index 79297ce..e5d437b 100644 --- a/src/Model/PaymentLinkV2/PaymentLinkV2.php +++ b/src/Model/PaymentLinkV2/PaymentLinkV2.php @@ -37,10 +37,13 @@ protected function expires_at(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('d/m/Y H:i:s', $value); - return is_null($value) || - ($d && $d->format('d/m/Y H:i:s') === $value) ? + return ($d && $d->format('d/m/Y H:i:s') === $value) ? $value : $ctx->raise('inválido (formato esperado: dd/mm/aaaa hh:mm:ss)'); } ); diff --git a/src/Model/PaymentSubscription.php b/src/Model/PaymentSubscription.php index 8967ed0..68d6bc6 100644 --- a/src/Model/PaymentSubscription.php +++ b/src/Model/PaymentSubscription.php @@ -67,11 +67,13 @@ protected function start_date(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/Seller.php b/src/Model/Seller.php index 76eade4..b1fb916 100644 --- a/src/Model/Seller.php +++ b/src/Model/Seller.php @@ -114,11 +114,13 @@ protected function birthdate(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/Subscription.php b/src/Model/Subscription.php index 1e84003..27143f7 100644 --- a/src/Model/Subscription.php +++ b/src/Model/Subscription.php @@ -164,11 +164,13 @@ protected function starting_date(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } @@ -200,11 +202,13 @@ protected function closing_date(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/SubscriptionV2/SubscriptionV2.php b/src/Model/SubscriptionV2/SubscriptionV2.php index 39b0e60..f1bfa6a 100644 --- a/src/Model/SubscriptionV2/SubscriptionV2.php +++ b/src/Model/SubscriptionV2/SubscriptionV2.php @@ -46,11 +46,13 @@ protected function starting_date(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } diff --git a/src/Model/Token.php b/src/Model/Token.php index b1145d2..805424a 100644 --- a/src/Model/Token.php +++ b/src/Model/Token.php @@ -83,11 +83,13 @@ protected function validated_at(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); } @@ -119,11 +121,13 @@ protected function expires_at(): Mutator return new Mutator( null, function ($value, $ctx) { + if (is_null($value)) { + return null; + } + $d = \DateTime::createFromFormat('Y-m-d', $value); - return is_null($value) || - ($d && $d->format('Y-m-d') === $value) ? - $value : $ctx->raise('inválido'); + return ($d && $d->format('Y-m-d') === $value) ? $value : $ctx->raise('inválido'); } ); }