diff --git a/app/Config/CronJob.php b/app/Config/CronJob.php index d821a95..3ab6a3c 100644 --- a/app/Config/CronJob.php +++ b/app/Config/CronJob.php @@ -4,7 +4,6 @@ namespace Config; use CodeIgniter\Config\BaseConfig; use Daycry\CronJob\Scheduler; -use App\Controllers\Member_controller; class CronJob extends \Daycry\CronJob\Config\CronJob { @@ -119,12 +118,6 @@ class CronJob extends \Daycry\CronJob\Config\CronJob */ public function init(Scheduler $schedule) { - - $Member_controller = new Member_controller(); - - //$schedule->call( function() { $Member_controller->shedule(); } )->everyMinute(); - $schedule->url('http://localhost/golf_backend/scheduler')->everyFiveMinutes(); - // $schedule->command('foo:bar')->everyMinute(); // $schedule->shell('cp foo bar')->daily( '11:00 pm' ); diff --git a/app/Config/Database.php b/app/Config/Database.php index 0bad5b4..b87f88e 100644 --- a/app/Config/Database.php +++ b/app/Config/Database.php @@ -26,11 +26,15 @@ class Database extends Config */ public array $default = [ 'DSN' => '', + // 'hostname' => 'giowm1257.siteground.biz', + // 'username' => 'uzc4szyzilgtb', + // 'password' => '%oG5)&$2q1@c', + // 'database' => 'dbphhez2g1zmyf', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'golf', - 'DBDriver' => 'MySQLi', + 'DBDriver' => 'mysqli', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => true, diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 9556364..8b6c00c 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -49,7 +49,10 @@ $routes->match(['get','post'],'/change_password_form','Member_controller::change $routes->match(['get','post'],'/member_deactivate/(:any)','Member_controller::member_deactivate/$1'); $routes->match(['get','post'],'/member_activate/(:any)','Member_controller::member_activate/$1'); $routes->match(['get'],'/scheduler','Member_controller::scheduler'); -$routes->match(['get'],'/processPayment','Member_controller::processPayment'); + +$routes->get('payment', 'PaymentController::index'); +$routes->post('processPayment', 'PaymentController::processPayment'); + diff --git a/app/Controllers/Admin_controller.php b/app/Controllers/Admin_controller.php index 145cdcb..25a3158 100644 --- a/app/Controllers/Admin_controller.php +++ b/app/Controllers/Admin_controller.php @@ -30,6 +30,8 @@ class Admin_controller extends BaseController $data=[]; + //$database = \Config\Database::connect(); + if($this->request->getmethod() == 'post') { @@ -37,7 +39,7 @@ class Admin_controller extends BaseController //echo $email; die(); $password = $this->request->getVar('password'); $userdata = $this->UserModel->verifyEmail($email); - + //print_r($userdata); die(); if($userdata) { @@ -49,12 +51,12 @@ class Admin_controller extends BaseController } else{ $this->session->setTempdata('error','sorry wrong password entered for the Email',3); - return redirect()->to(base_url()."/admin"); + return redirect()->to(base_url()."admin"); } }else { $this->session->setTempdata('error','sorry Email does not exist',3); - return redirect()->to(base_url()."/admin"); + return redirect()->to(base_url()."admin"); } } return view('admin_login'); diff --git a/app/Controllers/Dashboard.php b/app/Controllers/Dashboard.php index 27e6b84..bd9737c 100644 --- a/app/Controllers/Dashboard.php +++ b/app/Controllers/Dashboard.php @@ -4,17 +4,25 @@ use App\Models\Dashboard_model; use App\Models\Packages_and_pricing_model; use App\Models\Member_credits_model; use App\Models\Cart_model; - +use App\Models\Member_model; +use App\Models\Common_model; +use App\Models\Credits_usage_tracking_model; +use App\Models\User_model; class Dashboard extends BaseController { public function __construct() { + $this->session = session(); $this->dModel = new Dashboard_model(); + $this->UserModel = new User_model(); $this->PackagesModel = new Packages_and_pricing_model(); $this->creditsModel = new Member_credits_model(); $this->cartModel = new Cart_model(); + $this->MemberModel = new Member_model(); + $this->cModel = new Common_model(); + $this->CreditsUsageTrackingModel = new Credits_usage_tracking_model(); } public function index() { @@ -32,6 +40,10 @@ class Dashboard extends BaseController $id = session()->get('logged_user'); $data['userdata']=$this->dModel->getLoggedInUserData($id); + $data['MembersCount'] = $this->MemberModel->selectCount('id')->get()->getRow()->id; + $data['AdminCount'] = $this->UserModel->selectCount('id')->where('role','Admin')->get()->getRow()->id; + $data['CoachCount'] = $this->UserModel->selectCount('id')->where('role','Coach')->get()->getRow()->id; + $data['FrontdeskCount'] = $this->UserModel->selectCount('id')->where('role','Frontdesk')->get()->getRow()->id; echo view('layout/header',$data); echo view('dashboard',$data); echo view('layout/footer'); diff --git a/app/Controllers/Member_controller.php b/app/Controllers/Member_controller.php index 80b8393..8a4a788 100644 --- a/app/Controllers/Member_controller.php +++ b/app/Controllers/Member_controller.php @@ -325,8 +325,8 @@ class Member_controller extends BaseController //print_r($FormData);die(); $needed_points = $FormData['points']; - $columnName = 'running_balance'; - $count = $this->creditsModel->selectSum($columnName)->where('member_id',$FormData['member_id'])->get()->getRow()->$columnName; + + $count = $this->creditsModel->selectSum('running_balance')->where('member_id',$FormData['member_id'])->get()->getRow()->running_balance; if($count > $needed_points) { $creditsData = $this->creditsModel->where('member_id',$FormData['member_id'])->findAll(); @@ -447,22 +447,63 @@ class Member_controller extends BaseController - public function processPayment() { - $square = new SquareService(); - $result = $square->processPayment(100); // Process payment of $100 - return $result; - // Handle the payment result - // ... - } - // public function processPayment() - // { - // $square = new SquareService(); - // $paymentForm = $square->getSquarePaymentForm(); + try { + $amount = 100; // Amount in cents - // // Load the Square payment form view - // return view('payment_form', ['paymentForm' => $paymentForm]); - // } + $square = new SquareService(); + $response = $square->processPayment($amount); + + // Handle the payment response + if ($response->isSuccess()) { + // Payment succeeded + } else { + // Payment failed + } + } catch (\Exception $e) { + // Handle exceptions + echo $e->getMessage(); + log_message('error', 'Exception: ' . $e->getMessage()); + // ... + } catch (\Error $e) { + // Handle errors + echo $e->getMessage(); + log_message('error', 'Error: ' . $e->getMessage()); + // ... + } + } + + + public function processCardPayment() + { + try { + //echo "hai"; die(); + // Get the payment nonce and amount from the submitted form + $nonce = 'test'; + $amount = 100; +// echo $nonce;die(); + $square = new SquareService(); + $response = $square->processCardPayment($nonce, $amount); + + // Handle the payment response + if ($response && $response->isSuccess()) { + // Payment succeeded + } else { + // Payment failed + } + } catch (\Exception $e) { + // Handle exceptions + echo $e->getMessage(); + log_message('error', 'Exception: ' . $e->getMessage()); + // ... + } catch (\Error $e) { + // Handle errors + echo $e->getMessage(); + log_message('error', 'Error: ' . $e->getMessage()); + // ... + } + } + // ----------------------------------------------- } diff --git a/app/Controllers/PaymentController.php b/app/Controllers/PaymentController.php new file mode 100644 index 0000000..4ff7b4f --- /dev/null +++ b/app/Controllers/PaymentController.php @@ -0,0 +1,134 @@ +TransactionModel = new transaction_model(); + + } + + + public function index() + { + + + // Load the payment form view + return view('payment_form'); + + } + + public function processPayment() + { + try { + + if ($_SERVER['REQUEST_METHOD'] != 'POST') { + error_log('Received a non-POST request'); + echo 'Request not allowed'; + http_response_code(405); + return; + } + + include 'App\Libraries\LocationInfo.php'; + + $json = file_get_contents('php://input'); + $data = json_decode($json); + + $token = $data->token; + $idempotencyKey = $data->idempotencyKey; + $amount = $data->amount; + + + $square_client = new SquareClient([ + 'accessToken' => getenv('SQUARE_ACCESS_TOKEN'), + 'environment' => getenv('ENVIRONMENT'), + 'userAgentDetail' => 'golf_evo', // Remove or replace this detail when building your own app + ]); + + $payments_api = $square_client->getPaymentsApi(); + + // To learn more about splitting payments with additional recipients, + // see the Payments API documentation on our [developer site] + // (https://developer.squareup.com/docs/payments-api/overview). + + $money = new Money(); + // Monetary amounts are specified in the smallest unit of the applicable currency. + // This amount is in cents. It's also hard-coded for $1.00, which isn't very useful. + $money->setAmount($amount); + + // Set currency to the currency for the location + $money->setCurrency($location_info->getCurrency()); + + //print_r($money); die(); + + try { + // Every payment you process with the SDK must have a unique idempotency key. + // If you're unsure whether a particular payment succeeded, you can reattempt + // it with the same idempotency key without worrying about double charging + // the buyer. + $create_payment_request = new CreatePaymentRequest($token, $idempotencyKey, $money); + $create_payment_request->setLocationId($location_info->getId()); + + $response = $payments_api->createPayment($create_payment_request); + + if ($response->isSuccess()) { + echo json_encode($response->getResult()); + + + $TrancactionData['member_id'] = 0; + $TrancactionData['transaction'] = json_encode($response->getResult()); + $this->TransactionModel->save($TrancactionData); + + + } else { + echo json_encode(array('errors' => $response->getErrors())); + } + } catch (ApiException $e) { + echo json_encode(array('errors' => $e)); + } + } catch (\Exception $e) { + // Handle exceptions + + // Example: Logging the exception + log_message('error', 'Exception: ' . $e->getMessage()); + + // Example: Displaying a custom error message + echo 'An exception occurred: ' . $e->getMessage(); + } catch (\Error $e) { + // Handle errors + + // Example: Logging the error + log_message('error', 'Error: ' . $e->getMessage()); + + // Example: Displaying a custom error message + echo 'An error occurred: ' . $e->getMessage(); + } + } + + + + + + + + + + +} + + + + + diff --git a/app/Libraries/LocationInfo.php b/app/Libraries/LocationInfo.php new file mode 100644 index 0000000..03bf725 --- /dev/null +++ b/app/Libraries/LocationInfo.php @@ -0,0 +1,49 @@ +square_client = new SquareClient([ + 'accessToken' => $access_token, + 'environment' => getenv('ENVIRONMENT') + ]); + $location = $this->square_client->getLocationsApi()->retrieveLocation(getenv('SQUARE_LOCATION_ID'))->getResult()->getLocation(); + $this->location_id = $location->getId(); + $this->currency = $location->getCurrency(); + $this->country = $location->getCountry(); + } + + public function getCurrency() { + return $this->currency; + } + + public function getCountry() { + return $this->country; + } + + public function getId() { + return $this->location_id; + } +} + +$location_info = new LocationInfo(); + +?> \ No newline at end of file diff --git a/app/Libraries/SquareService.php b/app/Libraries/SquareService.php deleted file mode 100644 index c505980..0000000 --- a/app/Libraries/SquareService.php +++ /dev/null @@ -1,61 +0,0 @@ -client = new SquareClient([ - 'accessToken' => getenv('SQUARE_ACCESS_TOKEN'), - 'environment' => getenv('SQUARE_ENVIRONMENT') // Use 'sandbox' for testing - ]); - } - - public function processPayment($amount) - { - try { - // Create a charge request - $request = new ChargeRequest([ - 'amount_money' => [ - 'amount' => $amount, - 'currency' => 'USD' - ], - 'source_id' => 'your-test-card-nonce' // Use a test card nonce for sandbox testing - ]); - - // Make the API call to charge the payment - $response = $this->client->getTransactionsApi()->charge(getenv('SQUARE_LOCATION_ID'), $request); - - // Handle the payment response - // ... - - return $response->getResult(); - } catch (ApiException $e) { - // Handle API errors - return $e->getMessage(); - // ... - } - } - - public function getSquarePaymentForm() - { - // Create a payment form using the Square Payment Form library - $paymentForm = $this->client->getPaymentFormApi()->createPaymentForm([ - 'location_id' => getenv('SQUARE_LOCATION_ID'), - 'amount_money' => [ - 'amount' => 100, - 'currency' => 'USD' - ], - 'form_id' => 'your-form-id' // Unique ID for your payment form - ]); - - return $paymentForm->getResult(); - } -} -?> \ No newline at end of file diff --git a/app/Models/transaction_model.php b/app/Models/transaction_model.php new file mode 100644 index 0000000..0bfb9b8 --- /dev/null +++ b/app/Models/transaction_model.php @@ -0,0 +1,13 @@ + + + - - + My Payment Flow + + + + + + -

Square Payment Form

+
+
+
+
+
+ OR +
+
+ + - -
+
+ OR +
+
+ +
+ +
+
- + + + + - + + \ No newline at end of file diff --git a/composer.json b/composer.json index f802e1f..301583c 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,8 @@ "php": "^7.4 || ^8.0", "codeigniter4/framework": "^4.0", "daycry/cronjob": "^2.2", - "square/square": "27.0.0.20230517" + "ramsey/uuid": "^4.2", + "square/square": "18.0.0.20220420" }, "require-dev": { "fakerphp/faker": "^1.9", diff --git a/composer.lock b/composer.lock index 61cb287..b6ac7cb 100644 --- a/composer.lock +++ b/composer.lock @@ -4,104 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0488030115d0d38a89dcb6d90819ce83", + "content-hash": "8051d41a79db0432008604bc87c3f062", "packages": [ - { - "name": "apimatic/core", - "version": "0.3.0", - "source": { - "type": "git", - "url": "https://github.com/apimatic/core-lib-php.git", - "reference": "55cc76f589a62661673ebd5fdf98614d907bf276" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/apimatic/core-lib-php/zipball/55cc76f589a62661673ebd5fdf98614d907bf276", - "reference": "55cc76f589a62661673ebd5fdf98614d907bf276", - "shasum": "" - }, - "require": { - "apimatic/core-interfaces": "~0.1.0", - "apimatic/jsonmapper": "^3.1.1", - "ext-curl": "*", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "php": "^7.2 || ^8.0", - "php-jsonpointer/php-jsonpointer": "^3.0.2" - }, - "require-dev": { - "phan/phan": "5.4.2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Core\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Core logic and the utilities for the Apimatic's PHP SDK", - "homepage": "https://github.com/apimatic/core-lib-php", - "keywords": [ - "apimatic", - "core", - "corelib", - "php" - ], - "support": { - "issues": "https://github.com/apimatic/core-lib-php/issues", - "source": "https://github.com/apimatic/core-lib-php/tree/0.3.0" - }, - "time": "2023-05-08T06:49:21+00:00" - }, - { - "name": "apimatic/core-interfaces", - "version": "0.1.2", - "source": { - "type": "git", - "url": "https://github.com/apimatic/core-interfaces-php.git", - "reference": "183214195a79784c382a446795c46ca8c1f43cc1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/apimatic/core-interfaces-php/zipball/183214195a79784c382a446795c46ca8c1f43cc1", - "reference": "183214195a79784c382a446795c46ca8c1f43cc1", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "CoreInterfaces\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Definition of the behavior of apimatic/core, apimatic/unirest-php and Apimatic's PHP SDK", - "homepage": "https://github.com/apimatic/core-interfaces-php", - "keywords": [ - "apimatic", - "core", - "corelib", - "interface", - "php", - "unirest" - ], - "support": { - "issues": "https://github.com/apimatic/core-interfaces-php/issues", - "source": "https://github.com/apimatic/core-interfaces-php/tree/0.1.2" - }, - "time": "2023-04-04T06:40:52+00:00" - }, { "name": "apimatic/jsonmapper", "version": "3.1.1", @@ -158,32 +62,31 @@ }, { "name": "apimatic/unirest-php", - "version": "4.0.5", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/apimatic/unirest-php.git", - "reference": "e16754010c16be5473289470f129d87a0f41b55e" + "reference": "52e226fb3b7081dc9ef64aee876142a240a5f0f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/apimatic/unirest-php/zipball/e16754010c16be5473289470f129d87a0f41b55e", - "reference": "e16754010c16be5473289470f129d87a0f41b55e", + "url": "https://api.github.com/repos/apimatic/unirest-php/zipball/52e226fb3b7081dc9ef64aee876142a240a5f0f9", + "reference": "52e226fb3b7081dc9ef64aee876142a240a5f0f9", "shasum": "" }, "require": { - "apimatic/core-interfaces": "^0.1.0", "ext-curl": "*", - "ext-json": "*", - "php": "^7.2 || ^8.0" + "php": ">=5.6.0" }, "require-dev": { - "phan/phan": "5.4.2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "squizlabs/php_codesniffer": "^3.5" + "phpunit/phpunit": "^5 || ^6 || ^7 || ^8 || ^9" + }, + "suggest": { + "ext-json": "Allows using JSON Bodies for sending and parsing requests" }, "type": "library", "autoload": { - "psr-4": { + "psr-0": { "Unirest\\": "src/" } }, @@ -217,22 +120,82 @@ "support": { "email": "opensource@apimatic.io", "issues": "https://github.com/apimatic/unirest-php/issues", - "source": "https://github.com/apimatic/unirest-php/tree/4.0.5" + "source": "https://github.com/apimatic/unirest-php/tree/2.3.0" }, - "time": "2023-04-25T14:19:45+00:00" + "time": "2022-06-15T08:29:49+00:00" }, { - "name": "codeigniter4/framework", - "version": "v4.3.4", + "name": "brick/math", + "version": "0.9.3", "source": { "type": "git", - "url": "https://github.com/codeigniter4/framework.git", - "reference": "5d3d4b202ad271d4e5d8480949c3d8e572cf7712" + "url": "https://github.com/brick/math.git", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeigniter4/framework/zipball/5d3d4b202ad271d4e5d8480949c3d8e572cf7712", - "reference": "5d3d4b202ad271d4e5d8480949c3d8e572cf7712", + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", + "vimeo/psalm": "4.9.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.9.3" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/brick/math", + "type": "tidelift" + } + ], + "time": "2021-08-15T20:50:18+00:00" + }, + { + "name": "codeigniter4/framework", + "version": "v4.3.5", + "source": { + "type": "git", + "url": "https://github.com/codeigniter4/framework.git", + "reference": "b41bca4ff6efd9baffdb7a1bba33f946fb8580d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/codeigniter4/framework/zipball/b41bca4ff6efd9baffdb7a1bba33f946fb8580d9", + "reference": "b41bca4ff6efd9baffdb7a1bba33f946fb8580d9", "shasum": "" }, "require": { @@ -293,20 +256,20 @@ "slack": "https://codeigniterchat.slack.com", "source": "https://github.com/codeigniter4/CodeIgniter4" }, - "time": "2023-04-27T12:36:37+00:00" + "time": "2023-05-21T13:41:12+00:00" }, { "name": "daycry/cronjob", - "version": "V2.2.10", + "version": "V2.2.11", "source": { "type": "git", "url": "https://github.com/daycry/cronjob.git", - "reference": "53a34c848e2f48bf2154f7a9cffc9447a0c6de56" + "reference": "77ff2ee1c401cbb7a0cf0a6d1abaa1d33b31b76c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/daycry/cronjob/zipball/53a34c848e2f48bf2154f7a9cffc9447a0c6de56", - "reference": "53a34c848e2f48bf2154f7a9cffc9447a0c6de56", + "url": "https://api.github.com/repos/daycry/cronjob/zipball/77ff2ee1c401cbb7a0cf0a6d1abaa1d33b31b76c", + "reference": "77ff2ee1c401cbb7a0cf0a6d1abaa1d33b31b76c", "shasum": "" }, "require": { @@ -339,9 +302,9 @@ "homepage": "https://github.com/daycry/cronjob", "support": { "issues": "https://github.com/daycry/cronjob/issues", - "source": "https://github.com/daycry/cronjob/tree/V2.2.10" + "source": "https://github.com/daycry/cronjob/tree/V2.2.11" }, - "time": "2023-05-08T10:35:23+00:00" + "time": "2023-05-18T22:29:05+00:00" }, { "name": "dragonmantank/cron-expression", @@ -466,62 +429,6 @@ ], "time": "2022-10-10T10:11:09+00:00" }, - { - "name": "php-jsonpointer/php-jsonpointer", - "version": "v3.0.2", - "source": { - "type": "git", - "url": "https://github.com/raphaelstolt/php-jsonpointer.git", - "reference": "4428f86c6f23846e9faa5a420c4ef14e485b3afb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/raphaelstolt/php-jsonpointer/zipball/4428f86c6f23846e9faa5a420c4ef14e485b3afb", - "reference": "4428f86c6f23846e9faa5a420c4ef14e485b3afb", - "shasum": "" - }, - "require": { - "php": ">=5.4" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "4.6.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Rs\\Json": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Raphael Stolt", - "email": "raphael.stolt@gmail.com", - "homepage": "http://raphaelstolt.blogspot.com/" - } - ], - "description": "Implementation of JSON Pointer (http://tools.ietf.org/html/rfc6901)", - "homepage": "https://github.com/raphaelstolt/php-jsonpointer", - "keywords": [ - "json", - "json pointer", - "json traversal" - ], - "support": { - "issues": "https://github.com/raphaelstolt/php-jsonpointer/issues", - "source": "https://github.com/raphaelstolt/php-jsonpointer/tree/master" - }, - "time": "2016-08-29T08:51:01+00:00" - }, { "name": "psr/log", "version": "1.1.4", @@ -573,29 +480,218 @@ "time": "2021-05-03T11:20:27+00:00" }, { - "name": "square/square", - "version": "27.0.0.20230517", + "name": "ramsey/collection", + "version": "1.3.0", "source": { "type": "git", - "url": "https://github.com/square/square-php-sdk.git", - "reference": "f6af260249a52807fc801fbc476b72a144a886fa" + "url": "https://github.com/ramsey/collection.git", + "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/square/square-php-sdk/zipball/f6af260249a52807fc801fbc476b72a144a886fa", - "reference": "f6af260249a52807fc801fbc476b72a144a886fa", + "url": "https://api.github.com/repos/ramsey/collection/zipball/ad7475d1c9e70b190ecffc58f2d989416af339b4", + "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4", "shasum": "" }, "require": { - "apimatic/core": "~0.3.0", - "apimatic/core-interfaces": "~0.1.0", - "apimatic/unirest-php": "^4.0.0", - "ext-json": "*", - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0", + "symfony/polyfill-php81": "^1.23" }, "require-dev": { - "phan/phan": "5.4.2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.3.0" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-27T19:12:24+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.2.3", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "shasum": "" + }, + "require": { + "brick/math": "^0.8 || ^0.9", + "ext-json": "*", + "php": "^7.2 || ^8.0", + "ramsey/collection": "^1.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php80": "^1.14" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "moontoast/math": "^1.1", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-mockery": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^8.5 || ^9", + "slevomat/coding-standard": "^7.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-ctype": "Enables faster processing of character classification using ctype functions.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.x-dev" + }, + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.2.3" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2021-09-25T23:10:38+00:00" + }, + { + "name": "square/square", + "version": "18.0.0.20220420", + "source": { + "type": "git", + "url": "https://github.com/square/square-php-sdk.git", + "reference": "f1ee0948a0d3a573a9506c6dd0108ca955d4b07f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/square/square-php-sdk/zipball/f1ee0948a0d3a573a9506c6dd0108ca955d4b07f", + "reference": "f1ee0948a0d3a573a9506c6dd0108ca955d4b07f", + "shasum": "" + }, + "require": { + "apimatic/jsonmapper": "^3.0.0", + "apimatic/unirest-php": "^2.2.2", + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=7.2 <8.2" + }, + "require-dev": { + "phan/phan": "5.3.1", + "phpunit/phpunit": "^7.5 || ^8.5", "squizlabs/php_codesniffer": "^3.5" }, "type": "library", @@ -624,9 +720,253 @@ ], "support": { "issues": "https://github.com/square/square-php-sdk/issues", - "source": "https://github.com/square/square-php-sdk/tree/27.0.0.20230517" + "source": "https://github.com/square/square-php-sdk/tree/18.0.0.20220420" }, - "time": "2023-05-16T16:11:26+00:00" + "time": "2022-04-19T22:29:34+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" }, { "name": "webmozart/assert", @@ -760,16 +1100,16 @@ }, { "name": "fakerphp/faker", - "version": "v1.21.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d" + "reference": "f85772abd508bd04e20bb4b1bbe260a68d0066d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/92efad6a967f0b79c499705c69b662f738cc9e4d", - "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/f85772abd508bd04e20bb4b1bbe260a68d0066d2", + "reference": "f85772abd508bd04e20bb4b1bbe260a68d0066d2", "shasum": "" }, "require": { @@ -822,9 +1162,9 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.21.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.22.0" }, - "time": "2022-12-13T13:54:32+00:00" + "time": "2023-05-14T12:31:37+00:00" }, { "name": "mikey179/vfsstream", @@ -938,16 +1278,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.4", + "version": "v4.15.5", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", - "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e", + "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e", "shasum": "" }, "require": { @@ -988,9 +1328,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5" }, - "time": "2023-03-05T19:49:14+00:00" + "time": "2023-05-19T20:20:00+00:00" }, { "name": "phar-io/manifest", @@ -1423,16 +1763,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.7", + "version": "9.6.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2" + "reference": "17d621b3aff84d0c8b62539e269e87d8d5baa76e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c993f0d3b0489ffc42ee2fe0bd645af1538a63b2", - "reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/17d621b3aff84d0c8b62539e269e87d8d5baa76e", + "reference": "17d621b3aff84d0c8b62539e269e87d8d5baa76e", "shasum": "" }, "require": { @@ -1506,7 +1846,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.7" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.8" }, "funding": [ { @@ -1522,7 +1862,7 @@ "type": "tidelift" } ], - "time": "2023-04-14T08:58:40+00:00" + "time": "2023-05-11T05:14:45+00:00" }, { "name": "psr/container", @@ -1877,16 +2217,16 @@ }, { "name": "sebastian/diff", - "version": "4.0.4", + "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", "shasum": "" }, "require": { @@ -1931,7 +2271,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" }, "funding": [ { @@ -1939,7 +2279,7 @@ "type": "github" } ], - "time": "2020-10-26T13:10:38+00:00" + "time": "2023-05-07T05:35:17+00:00" }, { "name": "sebastian/environment",