diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 0f911dc..66e28fa 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -15,23 +15,39 @@ jobs: 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@master + - 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 - name: Code Climate Setup + if: ${{ env.CC_TEST_REPORTER_ID != '' }} run: | curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter && chmod +x ./cc-test-reporter ./cc-test-reporter before-build @@ -39,5 +55,6 @@ jobs: run: | php vendor/bin/phpunit --color --testdox --coverage-clover clover.xml tests - name: Send Report + if: ${{ env.CC_TEST_REPORTER_ID != '' && matrix.php-version == '7.4' }} run: | ./cc-test-reporter after-build -t clover --exit-code $? 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 2ba20da..58cb7db 100644 --- a/src/Model/Address.php +++ b/src/Model/Address.php @@ -210,7 +210,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/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 6b6cf09..ff155ac 100644 --- a/src/Model/Customer.php +++ b/src/Model/Customer.php @@ -344,11 +344,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/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/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'); } ); }