payment:GWM

This commit is contained in:
sriramv 2023-05-31 14:18:04 +05:30
parent a36f884a1f
commit fbb65930e3
13 changed files with 910 additions and 328 deletions

View File

@ -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' );

View File

@ -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,

View File

@ -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');

View File

@ -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');

View File

@ -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');

View File

@ -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());
// ...
}
}
// -----------------------------------------------
}

View File

@ -0,0 +1,134 @@
<?php
namespace App\Controllers;
use Square\SquareClient;
use Square\Models\Money;
use Square\Models\CreatePaymentRequest;
use Square\Exceptions\ApiException;
use Ramsey\Uuid\Uuid;
use App\Models\transaction_model;
class PaymentController extends BaseController
{
public function __construct()
{
$this->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();
}
}
}

View File

@ -0,0 +1,49 @@
<?php
//namespace App\Libraries;
// Note this line needs to change if you don't use Composer:
// require('square-php-sdk/autoload.php');
require 'vendor/autoload.php';
// use Dotenv\Dotenv;
use Square\SquareClient;
// The access token to use in all Connect API requests.
// Set your environment as *sandbox* if you're just testing things out.
class LocationInfo {
// Initialize the Square client.
var $currency;
var $country;
var $location_id;
function __construct() {
$access_token = getenv('SQUARE_ACCESS_TOKEN');
$this->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();
?>

View File

@ -1,61 +0,0 @@
<?php
namespace App\Libraries;
use Square\SquareClient;
use Square\Exceptions\ApiException;
use Square\Models\ChargeRequest;
class SquareService
{
private $client;
public function __construct()
{
// Initialize the Square client with your sandbox credentials
$this->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();
}
}
?>

View File

@ -0,0 +1,13 @@
<?php namespace App\Models;
use CodeIgniter\Model;
class transaction_model extends Model
{
protected $table = 'transactions';
protected $primaryKey = 'id';
protected $allowedFields = ['member_id','transaction'];
}

View File

@ -1,26 +1,77 @@
<!-- payment_form.php -->
<?php
require 'vendor/autoload.php';
include 'App\Libraries\LocationInfo.php';
use Square\Environment;
use Ramsey\Uuid\Uuid;
// Pulled from the .env file and upper cased e.g. SANDBOX, PRODUCTION.
$upper_case_environment = strtoupper(getenv('ENVIRONMENT'));
$web_payment_sdk_url = $_ENV["ENVIRONMENT"] === Environment::PRODUCTION ? "https://web.squarecdn.com/v1/square.js" : "https://sandbox.web.squarecdn.com/v1/square.js";
?>
<html>
<head>
<!-- Include the Square Payment Form library -->
<script src="https://js.squareupsandbox.com/v2/paymentform"></script>
<title>My Payment Flow</title>
<!-- link to the Square web payment SDK library -->
<script type="text/javascript" src="<?php echo $web_payment_sdk_url ?>"></script>
<script type="text/javascript">
window.applicationId =
"<?php
echo getenv('SQUARE_APPLICATION_ID');
?>";
window.locationId =
"<?php
echo getenv('SQUARE_LOCATION_ID');
?>";
window.currency =
"<?php
echo $location_info->getCurrency();
?>";
window.country =
"<?php
echo $location_info->getCountry();
?>";
window.idempotencyKey =
"<?php
echo Uuid::uuid4();
?>";
</script>
<link rel="stylesheet" type="text/css" href="<?= base_url(); ?>public/square-stylesheets/style.css">
<link rel="stylesheet" type="text/css" href="<?= base_url(); ?>public/square-stylesheets/sq-payment.css">
</head>
<body>
<h1>Square Payment Form</h1>
<form class="payment-form" id="fast-checkout">
<div class="wrapper">
<div id="apple-pay-button" alt="apple-pay" type="button"></div>
<div id="google-pay-button" alt="google-pay" type="button"></div>
<div class="border">
<span>OR</span>
</div>
<div id="ach-wrapper">
<label for="ach-account-holder-name">Full Name</label>
<input id="ach-account-holder-name" type="text" placeholder="Jane Doe" name="ach-account-holder-name" autocomplete="name" /><span id="ach-message"></span><button id="ach-button" type="button">Pay with Bank Account</button>
<!-- Display the Square payment form container -->
<div id="sq-payment-form"></div>
<div class="border">
<span>OR</span>
</div>
</div>
<input type="hidden" value="500" name="amount" id="amount">
<div id="card-container"></div><button id="card-button" type="button">Pay with Card</button>
<span id="payment-flow-message"></span>
</div>
</form>
<script>
// Initialize the Square payment form
const paymentForm = new SqPaymentForm({
applicationId: '<?php echo $paymentForm['application_id']; ?>',
locationId: '<?php echo $paymentForm['location_id']; ?>',
inputClass: 'sq-input',
autoBuild: false
});
// Build and display the Square payment form
paymentForm.build();
</script>
<!-- <script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-ach.js"></script>
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-apple-pay.js"></script> -->
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-card-pay.js"></script>
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-google-pay.js"></script>
<script type="text/javascript" src="<?= base_url(); ?>public/square-js/sq-payment-flow.js"></script>
</body>
</html>
</html>

View File

@ -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",

776
composer.lock generated
View File

@ -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",