payment:GWM

This commit is contained in:
sriramv 2023-05-17 17:37:28 +05:30
parent 8bfbc82a9a
commit 551f00dbf6
12 changed files with 840 additions and 25 deletions

View File

@ -42,6 +42,7 @@ class Autoload extends AutoloadConfig
public $psr4 = [
APP_NAMESPACE => APPPATH, // For custom app namespace
'Config' => APPPATH . 'Config',
'Daycry\CronJob' => APPPATH .'ThirdParty/cronjob/src',
];
/**

134
app/Config/CronJob.php Normal file
View File

@ -0,0 +1,134 @@
<?php
namespace Config;
use CodeIgniter\Config\BaseConfig;
use Daycry\CronJob\Scheduler;
use App\Controllers\Member_controller;
class CronJob extends \Daycry\CronJob\Config\CronJob
{
/**
* Set true if you want save logs
*/
public bool $logPerformance = true;
/*
|--------------------------------------------------------------------------
| Log Saving Method
|--------------------------------------------------------------------------
|
| Set to specify the REST API requires to be logged in
|
| 'file' Save in files
| 'database' Save in database
|
*/
public string $logSavingMethod = 'file';
/**
* Directory
*/
public string $filePath = WRITEPATH . 'cronJob/';
/**
* File Name in folder jobs structure
*/
public string $fileName = 'jobs';
/**
* --------------------------------------------------------------------------
* Maximum performance logs
* --------------------------------------------------------------------------
*
* The maximum number of logs that should be saved per Job.
* Lower numbers reduced the amount of database required to
* store the logs.
*
* If you write 0 it is unlimited
*/
public int $maxLogsPerJob = 3;
/*
|--------------------------------------------------------------------------
| Database Group
|--------------------------------------------------------------------------
|
| Connect to a database group for logging, etc.
|
*/
public string $databaseGroup = 'default';
/*
|--------------------------------------------------------------------------
| Cronjob Table Name
|--------------------------------------------------------------------------
|
| The table name in your database that stores cronjobs
|
*/
public string $tableName = 'cronjob';
/*
|--------------------------------------------------------------------------
| Cronjob Notification
|--------------------------------------------------------------------------
|
| Notification of each task
|
*/
public bool $notification = false;
public string $from = 'your@example.com';
public string $fromName = 'CronJob';
public string $to = 'your@example.com';
public string $toName = 'User';
/*
|--------------------------------------------------------------------------
| Views
|--------------------------------------------------------------------------
|
| Notification of each task
|
*/
public array $views = [
'login' => '\Daycry\CronJob\Views\login',
'dashboard' => '\Daycry\CronJob\Views\dashboard',
'layout' => '\Daycry\CronJob\Views\layout',
'logs' => '\Daycry\CronJob\Views\logs'
];
/*
|--------------------------------------------------------------------------
| Dashboard login
|--------------------------------------------------------------------------
*/
public bool $enableDashboard = false;
public string $username = 'admin';
public string $password = 'admin';
/*
|--------------------------------------------------------------------------
| Cronjobs
|--------------------------------------------------------------------------
|
| Register any tasks within this method for the application.
| Called by the TaskRunner.
|
| @param Scheduler $schedule
*/
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' );
// $schedule->call( function() { do something.... } )->everyMonday()->named( 'foo' )
}
}

View File

@ -48,7 +48,8 @@ $routes->match(['get','post'],'/change_password','Member_controller::change_pass
$routes->match(['get','post'],'/change_password_form','Member_controller::change_password_form');
$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');

View File

@ -306,12 +306,11 @@ class Admin_controller extends BaseController
public function transactions_list($member_id =null)
{
if($member_id == 'null')
if($member_id == null)
{
$userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_user'));
$data['creditsData'] = $this->creditsModel->select('member_credits.* , member.name as member_name ')
->join('member', 'member_credits.member_id = member.id', 'left')
->where('md5(member_credits.member_id)', $member_id )
->findAll();
echo view('layout/header',$userdata);
echo view('transactions_list',$data);
@ -320,18 +319,17 @@ class Admin_controller extends BaseController
}else{
$userdata['userdata'] = $this->dModel->getLoggedInUserData(session()->get('logged_user'));
$data['creditsData'] = $this->creditsModel->select('member_credits.* , member.name as member_name ')
->join('member', 'member_credits.member_id = member.id', 'left')
->findAll();
echo view('layout/header',$userdata);
echo view('transactions_list',$data);
echo view('layout/footer');
$creditsData = $this->creditsModel->select('member_credits.* , member.name as member_name ')
->join('member', 'member_credits.member_id = member.id', 'left')
->where('md5(member_credits.member_id)', $member_id )
->findAll();
$output = '<div class="table-responsive"><table class="table mb-0"><thead class="thead-light"><tr><th>Date</th><th>Points</th><th>Cost</th><th>Pack / Indidual</th></tr></thead><tbody>';
foreach ($creditsData as $row) {
$output .='<tr><td>'.$row['created_at'].'</td><td>'.$row['credit_points'].'</td><td>'.$row['cost'].'</td><td>'.$row['package_name'].'</td></tr>';
}
echo $output .= '</tbody></table></div> ';
}
}
public function user_forgot_password()

View File

@ -8,7 +8,8 @@ use App\Models\Member_credits_model;
use App\Models\Packages_and_pricing_model;
use App\Models\Cart_model;
use App\Models\Credits_usage_tracking_model;
use Config\Services;
use App\Libraries\SquareService;
class Member_controller extends BaseController
{
public $session;
@ -24,6 +25,8 @@ class Member_controller extends BaseController
$this->cartModel = new Cart_model();
$this->CreditsUsageTrackingModel = new Credits_usage_tracking_model();
helper('form');
}
public function index()
{
@ -424,5 +427,46 @@ class Member_controller extends BaseController
}
echo true;
}
public function scheduler()
{
$Data = $this->creditsModel->select('member_credits.* , member.name as member_name , member.email as member_email ')
->join('member', 'member_credits.member_id = member.id', 'left')
->findAll();
foreach ($Data as $index => $Value)
{
if(strtotime('-3 days', strtotime($Value['expiring_date'])) == strtotime(date("Y-m-d")))
{
$sendmail_controller = new Sendmail_controller();
$message = 'Hai '. $Value['member_name']. ' Your pack will expire with in three days';
$sendmail_controller->index($Value['member_email'] , null , 5);
}
}
}
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();
// // Load the Square payment form view
// return view('payment_form', ['paymentForm' => $paymentForm]);
// }
// -----------------------------------------------
}

View File

@ -12,23 +12,30 @@ class Sendmail_controller extends BaseController
$this->MemberModel = new Member_model();
}
public function index($to,$code,$return)
public function index($to,$code,$return=null)
{
$email = \Config\Services::email();
$email->setFrom('suseendhiran.1702117@srit.org', 'suseendhiran');
$email->setTo($to);
if ($return == 2)
$email->setTo($to);
if($return == 4)
{
$subject = 'Expire Alert';
$message = $code;
}
else if ($return == 2)
{
$data['id'] = '2';
$data['otp'] = $code;
$subject ='Verify your email address';
$message = view('verification_mail_temp',$data);
}
if($return == 3)
else if($return == 3)
{
$data['id'] = '3';
$data['username'] = $to;
$data['password'] = $code;
$data['url'] = base_url()."admin";
$subject ='Verify your email address';
$message = view('verification_mail_temp',$data);
}
else
@ -36,9 +43,10 @@ class Sendmail_controller extends BaseController
$data['to'] = $to;
$data['code'] = $code;
$data['url'] = base_url()."/verify_email/".md5($code);
$subject ='Verify your email address';
$message = view('verification_mail_temp',$data);
}
$email->setSubject('Verify your email address');
$email->setSubject($subject);
$email->setMessage($message);
if ($email->send())
{

View File

@ -0,0 +1,61 @@
<?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

@ -34,7 +34,7 @@
$(document).ready(function(){
//fetch state and sity values
$('.country').change(function(){
var country_id = $('.country').val();

View File

@ -58,8 +58,9 @@
<?php } else { ?>
<a href="<?= base_url() ?>member_activate/<?php echo md5($row['id']);?>"><i class="mdi mdi-account-cancel-outline" title="Activate" style="font-size:18px;"></i></a>
<?php } ?>
<a href="<?= base_url() ?>transactions_list/<?php echo md5($row['id']);?>"><i class="mdi mdi-eye-outline" title="Activate" style="font-size:18px;"></i></a>
</td>
<i class="mdi mdi-eye-outline credit_usage" id="<?php echo md5($row['id']);?>" style="font-size:18px;" title="Transactions"></i>
</td>
</tr>
@ -72,4 +73,49 @@
</div> <!-- end card -->
</div><!-- end col-->
</div>
<!-- end row-->
<!-- end row-->
<!-- Modal content for the Large example -->
<div class="modal fade" id="bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myLargeModalLabel">Credit points purchase and Transaction Details</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body" id="model-table">
</div>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
$(document).on('click','.credit_usage',function(){
var member_id = $(this).closest('i').attr('id');
$.ajax({
url:"<?= base_url(); ?>/transactions_list/"+member_id,
method: 'GET',
success: function(response) {
$('#model-table').html(response);
$('#bs-example-modal-lg').modal('show');
},
error: function(xhr, status, error) {
// Handle the error here
console.error(error);
}
});
});
</script>

View File

@ -0,0 +1,26 @@
<!-- payment_form.php -->
<html>
<head>
<!-- Include the Square Payment Form library -->
<script src="https://js.squareupsandbox.com/v2/paymentform"></script>
</head>
<body>
<h1>Square Payment Form</h1>
<!-- Display the Square payment form container -->
<div id="sq-payment-form"></div>
<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>
</body>
</html>

View File

@ -6,7 +6,9 @@
"license": "MIT",
"require": {
"php": "^7.4 || ^8.0",
"codeigniter4/framework": "^4.0"
"codeigniter4/framework": "^4.0",
"daycry/cronjob": "^2.2",
"square/square": "27.0.0.20230517"
},
"require-dev": {
"fakerphp/faker": "^1.9",

496
composer.lock generated
View File

@ -4,8 +4,223 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "d648ee3b65e8d352e12e15817702e7cd",
"content-hash": "0488030115d0d38a89dcb6d90819ce83",
"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",
"source": {
"type": "git",
"url": "https://github.com/apimatic/jsonmapper.git",
"reference": "646a3088386a3aa6baeae5a6620517b6959ef193"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/apimatic/jsonmapper/zipball/646a3088386a3aa6baeae5a6620517b6959ef193",
"reference": "646a3088386a3aa6baeae5a6620517b6959ef193",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": "^5.6 || ^7.0 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
"squizlabs/php_codesniffer": "^3.0.0"
},
"type": "library",
"autoload": {
"psr-4": {
"apimatic\\jsonmapper\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"OSL-3.0"
],
"authors": [
{
"name": "Christian Weiske",
"email": "christian.weiske@netresearch.de",
"homepage": "http://www.netresearch.de/",
"role": "Developer"
},
{
"name": "Mehdi Jaffery",
"email": "mehdi.jaffery@apimatic.io",
"homepage": "http://apimatic.io/",
"role": "Developer"
}
],
"description": "Map nested JSON structures onto PHP classes",
"support": {
"email": "mehdi.jaffery@apimatic.io",
"issues": "https://github.com/apimatic/jsonmapper/issues",
"source": "https://github.com/apimatic/jsonmapper/tree/3.1.1"
},
"time": "2023-05-08T06:20:23+00:00"
},
{
"name": "apimatic/unirest-php",
"version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/apimatic/unirest-php.git",
"reference": "e16754010c16be5473289470f129d87a0f41b55e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/apimatic/unirest-php/zipball/e16754010c16be5473289470f129d87a0f41b55e",
"reference": "e16754010c16be5473289470f129d87a0f41b55e",
"shasum": ""
},
"require": {
"apimatic/core-interfaces": "^0.1.0",
"ext-curl": "*",
"ext-json": "*",
"php": "^7.2 || ^8.0"
},
"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": {
"Unirest\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Mashape",
"email": "opensource@mashape.com",
"homepage": "https://www.mashape.com",
"role": "Developer"
},
{
"name": "APIMATIC",
"email": "opensource@apimatic.io",
"homepage": "https://www.apimatic.io",
"role": "Developer"
}
],
"description": "Unirest PHP",
"homepage": "https://github.com/apimatic/unirest-php",
"keywords": [
"client",
"curl",
"http",
"https",
"rest"
],
"support": {
"email": "opensource@apimatic.io",
"issues": "https://github.com/apimatic/unirest-php/issues",
"source": "https://github.com/apimatic/unirest-php/tree/4.0.5"
},
"time": "2023-04-25T14:19:45+00:00"
},
{
"name": "codeigniter4/framework",
"version": "v4.3.4",
@ -80,6 +295,115 @@
},
"time": "2023-04-27T12:36:37+00:00"
},
{
"name": "daycry/cronjob",
"version": "V2.2.10",
"source": {
"type": "git",
"url": "https://github.com/daycry/cronjob.git",
"reference": "53a34c848e2f48bf2154f7a9cffc9447a0c6de56"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/daycry/cronjob/zipball/53a34c848e2f48bf2154f7a9cffc9447a0c6de56",
"reference": "53a34c848e2f48bf2154f7a9cffc9447a0c6de56",
"shasum": ""
},
"require": {
"dragonmantank/cron-expression": "^3.3",
"php": ">=7.4"
},
"require-dev": {
"codeigniter4/framework": "^4",
"phpunit/phpunit": "^9.1",
"rector/rector": "0.14.2"
},
"type": "library",
"autoload": {
"psr-4": {
"Daycry\\CronJob\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "daycry",
"homepage": "https://github.com/daycry",
"role": "Developer"
}
],
"description": "Cronjob library for Codeigniter 4",
"homepage": "https://github.com/daycry/cronjob",
"support": {
"issues": "https://github.com/daycry/cronjob/issues",
"source": "https://github.com/daycry/cronjob/tree/V2.2.10"
},
"time": "2023-05-08T10:35:23+00:00"
},
{
"name": "dragonmantank/cron-expression",
"version": "v3.3.2",
"source": {
"type": "git",
"url": "https://github.com/dragonmantank/cron-expression.git",
"reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8",
"reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8",
"shasum": ""
},
"require": {
"php": "^7.2|^8.0",
"webmozart/assert": "^1.0"
},
"replace": {
"mtdowling/cron-expression": "^1.0"
},
"require-dev": {
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^1.0",
"phpstan/phpstan-webmozart-assert": "^1.0",
"phpunit/phpunit": "^7.0|^8.0|^9.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Cron\\": "src/Cron/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Chris Tankersley",
"email": "chris@ctankersley.com",
"homepage": "https://github.com/dragonmantank"
}
],
"description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
"keywords": [
"cron",
"schedule"
],
"support": {
"issues": "https://github.com/dragonmantank/cron-expression/issues",
"source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.2"
},
"funding": [
{
"url": "https://github.com/dragonmantank",
"type": "github"
}
],
"time": "2022-09-10T18:51:20+00:00"
},
{
"name": "laminas/laminas-escaper",
"version": "2.12.0",
@ -142,6 +466,62 @@
],
"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",
@ -191,6 +571,120 @@
"source": "https://github.com/php-fig/log/tree/1.1.4"
},
"time": "2021-05-03T11:20:27+00:00"
},
{
"name": "square/square",
"version": "27.0.0.20230517",
"source": {
"type": "git",
"url": "https://github.com/square/square-php-sdk.git",
"reference": "f6af260249a52807fc801fbc476b72a144a886fa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/square/square-php-sdk/zipball/f6af260249a52807fc801fbc476b72a144a886fa",
"reference": "f6af260249a52807fc801fbc476b72a144a886fa",
"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"
},
"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": {
"Square\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Square Developer Platform",
"email": "developers@squareup.com",
"homepage": "https://squareup.com/developers"
}
],
"description": "Use Square APIs to manage and run business including payment, customer, product, inventory, and employee management.",
"homepage": "https://squareup.com/developers",
"keywords": [
"api",
"sdk",
"square"
],
"support": {
"issues": "https://github.com/square/square-php-sdk/issues",
"source": "https://github.com/square/square-php-sdk/tree/27.0.0.20230517"
},
"time": "2023-05-16T16:11:26+00:00"
},
{
"name": "webmozart/assert",
"version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"php": "^7.2 || ^8.0"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
"vimeo/psalm": "<4.6.1 || 4.6.2"
},
"require-dev": {
"phpunit/phpunit": "^8.5.13"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.10-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
"assert",
"check",
"validate"
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/1.11.0"
},
"time": "2022-06-03T18:03:27+00:00"
}
],
"packages-dev": [