Working on Authorize.net

This commit is contained in:
David Bomba 2020-06-10 15:21:11 +10:00
parent 17d10f5f66
commit d6a8ef8de4
8 changed files with 407 additions and 189 deletions

View File

@ -13,6 +13,7 @@ namespace App\Console;
use App\Jobs\Cron\RecurringInvoicesCron; use App\Jobs\Cron\RecurringInvoicesCron;
use App\Jobs\Ninja\AdjustEmailQuota; use App\Jobs\Ninja\AdjustEmailQuota;
use App\Jobs\Ninja\CheckDbStatus;
use App\Jobs\Util\ReminderJob; use App\Jobs\Util\ReminderJob;
use App\Jobs\Util\SendFailedEmails; use App\Jobs\Util\SendFailedEmails;
use App\Jobs\Util\UpdateExchangeRates; use App\Jobs\Util\UpdateExchangeRates;
@ -48,10 +49,13 @@ class Kernel extends ConsoleKernel
$schedule->job(new UpdateExchangeRates)->daily(); $schedule->job(new UpdateExchangeRates)->daily();
$schedule->job(new CheckDbStatus())->everyFiveMinutes();
/* Run hosted specific jobs */ /* Run hosted specific jobs */
if(Ninja::isHosted()) { if(Ninja::isHosted()) {
$schedule->job(new AdjustEmailQuota())->daily(); $schedule->job(new AdjustEmailQuota())->daily();
$schedule->job(new SendFailedEmails())->daily(); $schedule->job(new SendFailedEmails())->daily();
$schedule->job(new CheckDbStatus())->everyFiveMinutes();
} }
/* Run queue's in shared hosting with this*/ /* Run queue's in shared hosting with this*/
if (Ninja::isSelfHost()) { if (Ninja::isSelfHost()) {

View File

@ -0,0 +1,11 @@
<?php
namespace App\Exceptions;
use Exception;
use Throwable;
class GenericPaymentDriverFailure extends Exception
{
// ..
}

View File

@ -11,6 +11,7 @@
namespace App\Exceptions; namespace App\Exceptions;
use App\Exceptions\GenericPaymentDriverFailure;
use Exception; use Exception;
use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Auth\AuthenticationException; use Illuminate\Auth\AuthenticationException;
@ -115,8 +116,14 @@ class Handler extends ExceptionHandler
return response()->json(['message' => 'The given data was invalid.', 'errors' => $exception->validator->getMessageBag()], 422); return response()->json(['message' => 'The given data was invalid.', 'errors' => $exception->validator->getMessageBag()], 422);
} elseif ($exception instanceof RelationNotFoundException && $request->expectsJson()) { } elseif ($exception instanceof RelationNotFoundException && $request->expectsJson()) {
return response()->json(['message' => $exception->getMessage()], 400); return response()->json(['message' => $exception->getMessage()], 400);
} elseif ($exception instanceof GenericPaymentDriverFailure && $request->expectsJson()) {
return response()->json(['message' => $exception->getMessage()], 400);
} elseif ($exception instanceof GenericPaymentDriverFailure) {
$data['message'] = $exception->getMessage();
return render('errors.layout', $data);
} }
return parent::render($request, $exception); return parent::render($request, $exception);
} }

View File

@ -0,0 +1,56 @@
<?php
/**
* Invoice Ninja (https://invoiceninja.com)
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2020. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://opensource.org/licenses/AAL
*/
namespace App\Jobs\Ninja;
use App\Helpers\Email\InvoiceEmail;
use App\Jobs\Invoice\EmailInvoice;
use App\Libraries\MultiDB;
use App\Models\Account;
use App\Models\SystemLog;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Turbo124\Beacon\Jobs\Database\MySQL\DbStatus;
class CheckDbStatus implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
info("checking db status");
DbStatus::dispatch('db-ninja-01', 'db.status.db-ninja-01');
DbStatus::dispatch('db-ninja-02', 'db.status.db-ninja-02');
}
}

View File

@ -25,4 +25,14 @@ class ClientContactPresenter extends EntityPresenter
{ {
return $this->entity->first_name . ' ' . $this->entity->last_name; return $this->entity->first_name . ' ' . $this->entity->last_name;
} }
public function first_name()
{
return $this->entity->first_name ?: '';
}
public function last_name()
{
return $this->entity->last_name ?: '';
}
} }

View File

@ -12,9 +12,16 @@
namespace App\PaymentDrivers\Authorize; namespace App\PaymentDrivers\Authorize;
use App\Exceptions\GenericPaymentDriverFailure;
use App\Models\Client;
use App\Models\GatewayType; use App\Models\GatewayType;
use App\PaymentDrivers\AuthorizePaymentDriver; use App\PaymentDrivers\AuthorizePaymentDriver;
use net\authorize\api\constants\ANetEnvironment;
use net\authorize\api\contract\v1\CreateCustomerProfileRequest;
use net\authorize\api\contract\v1\CustomerAddressType;
use net\authorize\api\contract\v1\CustomerPaymentProfileType;
use net\authorize\api\contract\v1\CustomerProfileType;
use net\authorize\api\controller\CreateCustomerProfileController;
/** /**
* Class BaseDriver * Class BaseDriver
* @package App\PaymentDrivers * @package App\PaymentDrivers
@ -25,14 +32,57 @@ class AuthorizeCreateCustomer
public $authorize; public $authorize;
public function __construct(AuthorizePaymentDriver $authorize) public $client;
public function __construct(AuthorizePaymentDriver $authorize, Client $client)
{ {
$this->authorize = $authorize; $this->authorize = $authorize;
$this->client = $client;
} }
public function create($data = null) public function create($data = null)
{ {
error_reporting (E_ALL & ~E_DEPRECATED);
$merchantAuthentication = $this->authorize->init();
// Create the Bill To info for new payment type
$contact = $this->client->primary_contact()->first();
// Create a new CustomerProfileType and add the payment profile object
$customerProfile = new CustomerProfileType();
$customerProfile->setDescription($this->client->present()->name());
$customerProfile->setMerchantCustomerId("M_" . time());
$customerProfile->setEmail($this->client->present()->email());
// Assemble the complete transaction request
$request = new CreateCustomerProfileRequest();
$request->setMerchantAuthentication($merchantAuthentication);
$request->setRefId($refId);
$request->setProfile($customerProfile);
// Create the controller and get the response
$controller = new CreateCustomerProfileController($request);
$response = $controller->executeWithApiResponse($this->authorize->mode());
if (($response != null) && ($response->getMessages()->getResultCode() == "Ok")) {
return $response->getCustomerProfileId();
} else {
$errorMessages = $response->getMessages()->getMessage();
$message = "Unable to add customer to Authorize.net gateway";
if(is_array($errorMessages))
$message = $errorMessages[0]->getCode() . " " .$errorMessages[0]->getText();
throw new GenericPaymentDriverFailure($message);
}
} }
} }

View File

@ -12,9 +12,20 @@
namespace App\PaymentDrivers\Authorize; namespace App\PaymentDrivers\Authorize;
use App\Exceptions\GenericPaymentDriverFailure;
use App\Models\ClientGatewayToken;
use App\Models\GatewayType; use App\Models\GatewayType;
use App\PaymentDrivers\AuthorizePaymentDriver; use App\PaymentDrivers\AuthorizePaymentDriver;
use App\PaymentDrivers\Authorize\AuthorizeCreateCustomer; use App\PaymentDrivers\Authorize\AuthorizeCreateCustomer;
use net\authorize\api\contract\v1\CreateCustomerPaymentProfileRequest;
use net\authorize\api\contract\v1\CreateCustomerProfileRequest;
use net\authorize\api\contract\v1\CustomerAddressType;
use net\authorize\api\contract\v1\CustomerPaymentProfileType;
use net\authorize\api\contract\v1\CustomerProfileType;
use net\authorize\api\contract\v1\OpaqueDataType;
use net\authorize\api\contract\v1\PaymentType;
use net\authorize\api\controller\CreateCustomerPaymentProfileController;
use net\authorize\api\controller\CreateCustomerProfileController;
/** /**
* Class BaseDriver * Class BaseDriver
@ -25,6 +36,8 @@ class AuthorizePaymentMethod
{ {
public $authorize; public $authorize;
public $payment_method;
public function __construct(AuthorizePaymentDriver $authorize) public function __construct(AuthorizePaymentDriver $authorize)
{ {
$this->authorize = $authorize; $this->authorize = $authorize;
@ -32,6 +45,7 @@ class AuthorizePaymentMethod
public function authorizeView($payment_method) public function authorizeView($payment_method)
{ {
$this->payment_method = $payment_method;
switch ($payment_method) { switch ($payment_method) {
case GatewayType::CREDIT_CARD: case GatewayType::CREDIT_CARD:
@ -82,14 +96,17 @@ class AuthorizePaymentMethod
public function authorizeCreditCardResponse($data) public function authorizeCreditCardResponse($data)
{ {
$client_profile_id = null;
if($client_gateway_token_record = $this->authorize->findClientGatewayRecord()) if($client_gateway_token = $this->authorize->findClientGatewayRecord())
$this->addCreditCardToClient($client_gateway_token_record, $data); $payment_profile = $this->addPaymentMethodToClient($client_gateway_token->gateway_customer_reference, $data);
else{ else{
$client_gateway_token_record = (new AuthorizeCreateCustomer($this->authorize))->create($data); $gateway_customer_reference = (new AuthorizeCreateCustomer($this->authorize, $this->client))->create($data);
$this->addCreditCardToClient($client_gateway_token_record, $data); $payment_profile = $this->addPaymentMethodToClient($gateway_customer_reference, $data);
} }
$this->createClientGatewayToken($payment_profile, $gateway_customer_reference);
return redirect()->route('client.payment_methods.index'); return redirect()->route('client.payment_methods.index');
} }
@ -99,11 +116,103 @@ class AuthorizePaymentMethod
} }
private function addCreditCardToClient(ClientGatewayToken $client_gateway_token, $data) private function createClientGatewayToken($payment_profile, $gateway_customer_reference)
{ {
//add a payment profile to the client profile $client_gateway_token = new ClientGatewayToken();
$client_gateway_token->company_id = $this->client->company_id;
$client_gateway_token->client_id = $this->client->id;
$client_gateway_token->token = $payment_profile->getCustomerPaymentProfileId();
$client_gateway_token->company_gateway_id = $this->authorize->company_gateway->id;
$client_gateway_token->gateway_type_id = $this->payment_method;
$client_gateway_token->gateway_customer_reference = $gateway_customer_reference;
$client_gateway_token->meta = $this->buildPaymentMethod($payment_profile);
$client_gateway_token->save();
}
public function buildPaymentMethod($payment_profile)
{
$payment_meta = new \stdClass;
$payment_meta->exp_month = $stripe_payment_method_obj['card']['exp_month'];
$payment_meta->exp_year = $stripe_payment_method_obj['card']['exp_year'];
$payment_meta->brand = $stripe_payment_method_obj['card']['brand'];
$payment_meta->last4 = $stripe_payment_method_obj['card']['last4'];
$payment_meta->type = $this->payment_method;
return $payment_meta;
}
private function addPaymentMethodToClient($gateway_customer_reference, $data)
{
error_reporting (E_ALL & ~E_DEPRECATED);
$merchantAuthentication = $this->authorize->init();
// Set the transaction's refId
$refId = 'ref' . time();
// Set the payment data for the payment profile to a token obtained from Accept.js
$op = new OpaqueDataType();
$op->setDataDescriptor($data['dataDescriptor']);
$op->setDataValue($data['dataValue']);
$paymentOne = new PaymentType();
$paymentOne->setOpaqueData($op);
$contact = $this->client->primary_contact()->first();
if($contact){
// Create the Bill To info for new payment type
$billto = new CustomerAddressType();
$billto->setFirstName($contact->present()->first_name());
$billto->setLastName($contact->present()->last_name());
$billto->setCompany($this->client->present()->name());
$billto->setAddress($this->client->address1);
$billto->setCity($this->client->city);
$billto->setState($this->client->state);
$billto->setZip($this->client->postal_code);
$billto->setCountry("USA");
$billto->setPhoneNumber($this->client->phone);
}
// Create a new Customer Payment Profile object
$paymentprofile = new CustomerPaymentProfileType();
$paymentprofile->setCustomerType('individual');
if($billto)
$paymentprofile->setBillTo($billto);
$paymentprofile->setPayment($paymentOne);
$paymentprofile->setDefaultPaymentProfile(true);
$paymentprofiles[] = $paymentprofile;
// Assemble the complete transaction request
$paymentprofilerequest = new CreateCustomerPaymentProfileRequest();
$paymentprofilerequest->setMerchantAuthentication($merchantAuthentication);
// Add an existing profile id to the request
$paymentprofilerequest->setCustomerProfileId($gateway_customer_references);
$paymentprofilerequest->setPaymentProfile($paymentprofile);
$paymentprofilerequest->setValidationMode("liveMode");
// Create the controller and get the response
$controller = new CreateCustomerPaymentProfileController($paymentprofilerequest);
$response = $controller->executeWithApiResponse($this->authorize->mode());
if (($response != null) && ($response->getMessages()->getResultCode() == "Ok") ) {
return $response;
} else {
$errorMessages = $response->getMessages()->getMessage();
$message = "Unable to add customer to Authorize.net gateway";
if(is_array($errorMessages))
$message = $errorMessages[0]->getCode() . " " .$errorMessages[0]->getText();
throw new GenericPaymentDriverFailure($message);
}
//we only use the $client_gateway_token record as a reference to create a NEW client_gateway_token for this gateway
} }
} }

331
composer.lock generated
View File

@ -107,16 +107,16 @@
}, },
{ {
"name": "aws/aws-sdk-php", "name": "aws/aws-sdk-php",
"version": "3.138.10", "version": "3.140.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/aws/aws-sdk-php.git", "url": "https://github.com/aws/aws-sdk-php.git",
"reference": "cf197a033ad75cd9e3a90a207cf5ec8935aafa48" "reference": "298ec070adad5760c4b90348219bb3e6bd7a9322"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cf197a033ad75cd9e3a90a207cf5ec8935aafa48", "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/298ec070adad5760c4b90348219bb3e6bd7a9322",
"reference": "cf197a033ad75cd9e3a90a207cf5ec8935aafa48", "reference": "298ec070adad5760c4b90348219bb3e6bd7a9322",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -187,7 +187,7 @@
"s3", "s3",
"sdk" "sdk"
], ],
"time": "2020-05-28T18:12:07+00:00" "time": "2020-06-09T18:11:16+00:00"
}, },
{ {
"name": "beganovich/omnipay-checkout", "name": "beganovich/omnipay-checkout",
@ -410,16 +410,16 @@
}, },
{ {
"name": "composer/composer", "name": "composer/composer",
"version": "1.10.6", "version": "1.10.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/composer.git", "url": "https://github.com/composer/composer.git",
"reference": "be81b9c4735362c26876bdbfd3b5bc7e7f711c88" "reference": "956608ea4f7de9e58c53dfb019d85ae62b193c39"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/composer/zipball/be81b9c4735362c26876bdbfd3b5bc7e7f711c88", "url": "https://api.github.com/repos/composer/composer/zipball/956608ea4f7de9e58c53dfb019d85ae62b193c39",
"reference": "be81b9c4735362c26876bdbfd3b5bc7e7f711c88", "reference": "956608ea4f7de9e58c53dfb019d85ae62b193c39",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -427,7 +427,7 @@
"composer/semver": "^1.0", "composer/semver": "^1.0",
"composer/spdx-licenses": "^1.2", "composer/spdx-licenses": "^1.2",
"composer/xdebug-handler": "^1.1", "composer/xdebug-handler": "^1.1",
"justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", "justinrainbow/json-schema": "^5.2.10",
"php": "^5.3.2 || ^7.0", "php": "^5.3.2 || ^7.0",
"psr/log": "^1.0", "psr/log": "^1.0",
"seld/jsonlint": "^1.4", "seld/jsonlint": "^1.4",
@ -492,12 +492,16 @@
"url": "https://packagist.com", "url": "https://packagist.com",
"type": "custom" "type": "custom"
}, },
{
"url": "https://github.com/composer",
"type": "github"
},
{ {
"url": "https://tidelift.com/funding/github/packagist/composer/composer", "url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2020-05-06T08:28:10+00:00" "time": "2020-06-03T08:03:56+00:00"
}, },
{ {
"name": "composer/package-versions-deprecated", "name": "composer/package-versions-deprecated",
@ -687,16 +691,16 @@
}, },
{ {
"name": "composer/xdebug-handler", "name": "composer/xdebug-handler",
"version": "1.4.1", "version": "1.4.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/xdebug-handler.git", "url": "https://github.com/composer/xdebug-handler.git",
"reference": "1ab9842d69e64fb3a01be6b656501032d1b78cb7" "reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/1ab9842d69e64fb3a01be6b656501032d1b78cb7", "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51",
"reference": "1ab9842d69e64fb3a01be6b656501032d1b78cb7", "reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -727,7 +731,21 @@
"Xdebug", "Xdebug",
"performance" "performance"
], ],
"time": "2020-03-01T12:26:26+00:00" "funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2020-06-04T11:16:35+00:00"
}, },
{ {
"name": "czproject/git-php", "name": "czproject/git-php",
@ -1626,22 +1644,22 @@
}, },
{ {
"name": "google/apiclient", "name": "google/apiclient",
"version": "v2.4.1", "version": "v2.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/googleapis/google-api-php-client.git", "url": "https://github.com/googleapis/google-api-php-client.git",
"reference": "1fdfe942f9aaf3064e621834a5e3047fccb3a6da" "reference": "9ab9cc07f66e2c7274ea2753f102ae24d1271410"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/1fdfe942f9aaf3064e621834a5e3047fccb3a6da", "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/9ab9cc07f66e2c7274ea2753f102ae24d1271410",
"reference": "1fdfe942f9aaf3064e621834a5e3047fccb3a6da", "reference": "9ab9cc07f66e2c7274ea2753f102ae24d1271410",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"firebase/php-jwt": "~2.0||~3.0||~4.0||~5.0", "firebase/php-jwt": "~2.0||~3.0||~4.0||~5.0",
"google/apiclient-services": "~0.13", "google/apiclient-services": "~0.13",
"google/auth": "^1.0", "google/auth": "^1.9",
"guzzlehttp/guzzle": "~5.3.1||~6.0", "guzzlehttp/guzzle": "~5.3.1||~6.0",
"guzzlehttp/psr7": "^1.2", "guzzlehttp/psr7": "^1.2",
"monolog/monolog": "^1.17|^2.0", "monolog/monolog": "^1.17|^2.0",
@ -1683,20 +1701,20 @@
"keywords": [ "keywords": [
"google" "google"
], ],
"time": "2020-03-26T15:30:32+00:00" "time": "2020-05-26T22:29:38+00:00"
}, },
{ {
"name": "google/apiclient-services", "name": "google/apiclient-services",
"version": "v0.137", "version": "v0.139",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/googleapis/google-api-php-client-services.git", "url": "https://github.com/googleapis/google-api-php-client-services.git",
"reference": "92ae53e812037230b23d373bac12516f90c330cc" "reference": "84e99f792cae7bd92b8b54c75b0ad3502d628db6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/92ae53e812037230b23d373bac12516f90c330cc", "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/84e99f792cae7bd92b8b54c75b0ad3502d628db6",
"reference": "92ae53e812037230b23d373bac12516f90c330cc", "reference": "84e99f792cae7bd92b8b54c75b0ad3502d628db6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1720,7 +1738,7 @@
"keywords": [ "keywords": [
"google" "google"
], ],
"time": "2020-05-25T00:24:28+00:00" "time": "2020-06-08T00:24:31+00:00"
}, },
{ {
"name": "google/auth", "name": "google/auth",
@ -2404,16 +2422,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v6.18.16", "version": "v6.18.19",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "73f18a6bc58fb91aa83925161db25aa3674b73e9" "reference": "69321afec31f4a908112e5dc8995fc91024fd971"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/73f18a6bc58fb91aa83925161db25aa3674b73e9", "url": "https://api.github.com/repos/laravel/framework/zipball/69321afec31f4a908112e5dc8995fc91024fd971",
"reference": "73f18a6bc58fb91aa83925161db25aa3674b73e9", "reference": "69321afec31f4a908112e5dc8995fc91024fd971",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2424,7 +2442,7 @@
"ext-mbstring": "*", "ext-mbstring": "*",
"ext-openssl": "*", "ext-openssl": "*",
"league/commonmark": "^1.3", "league/commonmark": "^1.3",
"league/flysystem": "^1.0.8", "league/flysystem": "^1.0.34",
"monolog/monolog": "^1.12|^2.0", "monolog/monolog": "^1.12|^2.0",
"nesbot/carbon": "^2.0", "nesbot/carbon": "^2.0",
"opis/closure": "^3.1", "opis/closure": "^3.1",
@ -2547,7 +2565,7 @@
"framework", "framework",
"laravel" "laravel"
], ],
"time": "2020-05-26T14:31:44+00:00" "time": "2020-06-09T13:59:34+00:00"
}, },
{ {
"name": "laravel/slack-notification-channel", "name": "laravel/slack-notification-channel",
@ -2608,29 +2626,30 @@
}, },
{ {
"name": "laravel/socialite", "name": "laravel/socialite",
"version": "v4.3.2", "version": "v4.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/socialite.git", "url": "https://github.com/laravel/socialite.git",
"reference": "4bd66ee416fea04398dee5b8c32d65719a075db4" "reference": "80951df0d93435b773aa00efe1fad6d5015fac75"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/socialite/zipball/4bd66ee416fea04398dee5b8c32d65719a075db4", "url": "https://api.github.com/repos/laravel/socialite/zipball/80951df0d93435b773aa00efe1fad6d5015fac75",
"reference": "4bd66ee416fea04398dee5b8c32d65719a075db4", "reference": "80951df0d93435b773aa00efe1fad6d5015fac75",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-json": "*", "ext-json": "*",
"guzzlehttp/guzzle": "~6.0", "guzzlehttp/guzzle": "^6.0|^7.0",
"illuminate/http": "~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/http": "~5.7.0|~5.8.0|^6.0|^7.0",
"illuminate/support": "~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/support": "~5.7.0|~5.8.0|^6.0|^7.0",
"league/oauth1-client": "~1.0", "league/oauth1-client": "^1.0",
"php": "^7.1.3" "php": "^7.1.3"
}, },
"require-dev": { "require-dev": {
"illuminate/contracts": "~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/contracts": "~5.7.0|~5.8.0|^6.0|^7.0",
"mockery/mockery": "^1.0", "mockery/mockery": "^1.0",
"orchestra/testbench": "^3.7|^3.8|^4.0|^5.0",
"phpunit/phpunit": "^7.0|^8.0" "phpunit/phpunit": "^7.0|^8.0"
}, },
"type": "library", "type": "library",
@ -2668,7 +2687,7 @@
"laravel", "laravel",
"oauth" "oauth"
], ],
"time": "2020-02-04T15:30:01+00:00" "time": "2020-06-03T13:30:03+00:00"
}, },
{ {
"name": "laravel/tinker", "name": "laravel/tinker",
@ -2925,16 +2944,16 @@
}, },
{ {
"name": "league/flysystem-aws-s3-v3", "name": "league/flysystem-aws-s3-v3",
"version": "1.0.24", "version": "1.0.25",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git",
"reference": "4382036bde5dc926f9b8b337e5bdb15e5ec7b570" "reference": "d409b97a50bf85fbde30cbc9fc10237475e696ea"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/4382036bde5dc926f9b8b337e5bdb15e5ec7b570", "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/d409b97a50bf85fbde30cbc9fc10237475e696ea",
"reference": "4382036bde5dc926f9b8b337e5bdb15e5ec7b570", "reference": "d409b97a50bf85fbde30cbc9fc10237475e696ea",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2968,7 +2987,7 @@
} }
], ],
"description": "Flysystem adapter for the AWS S3 SDK v3.x", "description": "Flysystem adapter for the AWS S3 SDK v3.x",
"time": "2020-02-23T13:31:58+00:00" "time": "2020-06-02T18:41:58+00:00"
}, },
{ {
"name": "league/flysystem-cached-adapter", "name": "league/flysystem-cached-adapter",
@ -3259,22 +3278,22 @@
}, },
{ {
"name": "livewire/livewire", "name": "livewire/livewire",
"version": "v1.1.0", "version": "v1.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/livewire/livewire.git", "url": "https://github.com/livewire/livewire.git",
"reference": "ee22192220ca7b4f50dec2b0b6ea4da9e49ccf11" "reference": "874ba1b8d6b12efa472147697942fe2f78a5d371"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/livewire/livewire/zipball/ee22192220ca7b4f50dec2b0b6ea4da9e49ccf11", "url": "https://api.github.com/repos/livewire/livewire/zipball/874ba1b8d6b12efa472147697942fe2f78a5d371",
"reference": "ee22192220ca7b4f50dec2b0b6ea4da9e49ccf11", "reference": "874ba1b8d6b12efa472147697942fe2f78a5d371",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"illuminate/database": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/database": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0",
"illuminate/support": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/support": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0",
"illuminate/validation": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0", "illuminate/validation": "~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0",
"php": "^7.1.3", "php": "^7.1.3",
"symfony/http-kernel": "^4.0|^5.0" "symfony/http-kernel": "^4.0|^5.0"
}, },
@ -3318,7 +3337,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2020-05-13T15:22:11+00:00" "time": "2020-06-08T15:12:38+00:00"
}, },
{ {
"name": "maennchen/zipstream-php", "name": "maennchen/zipstream-php",
@ -3742,16 +3761,16 @@
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
"version": "v4.4.0", "version": "v4.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nikic/PHP-Parser.git", "url": "https://github.com/nikic/PHP-Parser.git",
"reference": "bd43ec7152eaaab3bd8c6d0aa95ceeb1df8ee120" "reference": "53c2753d756f5adb586dca79c2ec0e2654dd9463"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bd43ec7152eaaab3bd8c6d0aa95ceeb1df8ee120", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/53c2753d756f5adb586dca79c2ec0e2654dd9463",
"reference": "bd43ec7152eaaab3bd8c6d0aa95ceeb1df8ee120", "reference": "53c2753d756f5adb586dca79c2ec0e2654dd9463",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3790,7 +3809,7 @@
"parser", "parser",
"php" "php"
], ],
"time": "2020-04-10T16:34:50+00:00" "time": "2020-06-03T07:24:19+00:00"
}, },
{ {
"name": "nwidart/laravel-modules", "name": "nwidart/laravel-modules",
@ -3865,16 +3884,16 @@
}, },
{ {
"name": "omnipay/common", "name": "omnipay/common",
"version": "v3.0.3", "version": "v3.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/omnipay-common.git", "url": "https://github.com/thephpleague/omnipay-common.git",
"reference": "24ea70aa6e0f76d8b85d7a35d8a6560c746f566f" "reference": "d6a1bed63cae270da32b2171fe31f820d334d452"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/24ea70aa6e0f76d8b85d7a35d8a6560c746f566f", "url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/d6a1bed63cae270da32b2171fe31f820d334d452",
"reference": "24ea70aa6e0f76d8b85d7a35d8a6560c746f566f", "reference": "d6a1bed63cae270da32b2171fe31f820d334d452",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3943,7 +3962,7 @@
"payment", "payment",
"purchase" "purchase"
], ],
"time": "2020-02-12T12:28:23+00:00" "time": "2020-06-02T05:57:19+00:00"
}, },
{ {
"name": "omnipay/paypal", "name": "omnipay/paypal",
@ -4066,16 +4085,16 @@
}, },
{ {
"name": "opis/closure", "name": "opis/closure",
"version": "3.5.3", "version": "3.5.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/opis/closure.git", "url": "https://github.com/opis/closure.git",
"reference": "cac47092144043d5d676e2e7cf8d0d2f83fc89ca" "reference": "1d0deef692f66dae5d70663caee2867d0971306b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/opis/closure/zipball/cac47092144043d5d676e2e7cf8d0d2f83fc89ca", "url": "https://api.github.com/repos/opis/closure/zipball/1d0deef692f66dae5d70663caee2867d0971306b",
"reference": "cac47092144043d5d676e2e7cf8d0d2f83fc89ca", "reference": "1d0deef692f66dae5d70663caee2867d0971306b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4123,7 +4142,7 @@
"serialization", "serialization",
"serialize" "serialize"
], ],
"time": "2020-05-25T09:32:45+00:00" "time": "2020-06-07T11:41:29+00:00"
}, },
{ {
"name": "paragonie/random_compat", "name": "paragonie/random_compat",
@ -4595,16 +4614,16 @@
}, },
{ {
"name": "phpoption/phpoption", "name": "phpoption/phpoption",
"version": "1.7.3", "version": "1.7.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/schmittjoh/php-option.git", "url": "https://github.com/schmittjoh/php-option.git",
"reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae" "reference": "b2ada2ad5d8a32b89088b8adc31ecd2e3a13baf3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/4acfd6a4b33a509d8c88f50e5222f734b6aeebae", "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/b2ada2ad5d8a32b89088b8adc31ecd2e3a13baf3",
"reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae", "reference": "b2ada2ad5d8a32b89088b8adc31ecd2e3a13baf3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4646,7 +4665,17 @@
"php", "php",
"type" "type"
], ],
"time": "2020-03-21T18:07:53+00:00" "funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption",
"type": "tidelift"
}
],
"time": "2020-06-07T10:40:07+00:00"
}, },
{ {
"name": "phpseclib/phpseclib", "name": "phpseclib/phpseclib",
@ -5695,16 +5724,16 @@
}, },
{ {
"name": "sentry/sentry-laravel", "name": "sentry/sentry-laravel",
"version": "1.7.1", "version": "1.8.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/getsentry/sentry-laravel.git", "url": "https://github.com/getsentry/sentry-laravel.git",
"reference": "8ec4695c5c6fa28d952c0f361e02997e84920354" "reference": "912731d2b704fb6a97cef89c7a8b5c367cbf6088"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/8ec4695c5c6fa28d952c0f361e02997e84920354", "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/912731d2b704fb6a97cef89c7a8b5c367cbf6088",
"reference": "8ec4695c5c6fa28d952c0f361e02997e84920354", "reference": "912731d2b704fb6a97cef89c7a8b5c367cbf6088",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5770,7 +5799,7 @@
"type": "custom" "type": "custom"
} }
], ],
"time": "2020-04-01T10:30:44+00:00" "time": "2020-06-02T12:39:20+00:00"
}, },
{ {
"name": "spatie/browsershot", "name": "spatie/browsershot",
@ -5934,16 +5963,16 @@
}, },
{ {
"name": "spatie/temporary-directory", "name": "spatie/temporary-directory",
"version": "1.2.2", "version": "1.2.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/spatie/temporary-directory.git", "url": "https://github.com/spatie/temporary-directory.git",
"reference": "fcb127e615700751dac2aefee0ea2808ff3f5bb1" "reference": "eeb84a7a3543e90759cd852ccb468e3d3340d99d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/spatie/temporary-directory/zipball/fcb127e615700751dac2aefee0ea2808ff3f5bb1", "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/eeb84a7a3543e90759cd852ccb468e3d3340d99d",
"reference": "fcb127e615700751dac2aefee0ea2808ff3f5bb1", "reference": "eeb84a7a3543e90759cd852ccb468e3d3340d99d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5976,7 +6005,7 @@
"spatie", "spatie",
"temporary-directory" "temporary-directory"
], ],
"time": "2019-12-15T18:52:09+00:00" "time": "2020-06-08T08:58:45+00:00"
}, },
{ {
"name": "staudenmeir/eloquent-has-many-deep", "name": "staudenmeir/eloquent-has-many-deep",
@ -6023,16 +6052,16 @@
}, },
{ {
"name": "stripe/stripe-php", "name": "stripe/stripe-php",
"version": "v7.36.1", "version": "v7.37.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/stripe/stripe-php.git", "url": "https://github.com/stripe/stripe-php.git",
"reference": "80979c8959dff86bf7b0610e44599a67132ebcd3" "reference": "246871743edb26c7a7657784205218daf7d99a73"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/stripe/stripe-php/zipball/80979c8959dff86bf7b0610e44599a67132ebcd3", "url": "https://api.github.com/repos/stripe/stripe-php/zipball/246871743edb26c7a7657784205218daf7d99a73",
"reference": "80979c8959dff86bf7b0610e44599a67132ebcd3", "reference": "246871743edb26c7a7657784205218daf7d99a73",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6076,7 +6105,7 @@
"payment processing", "payment processing",
"stripe" "stripe"
], ],
"time": "2020-05-28T18:11:30+00:00" "time": "2020-06-09T22:55:43+00:00"
}, },
{ {
"name": "swiftmailer/swiftmailer", "name": "swiftmailer/swiftmailer",
@ -8202,16 +8231,16 @@
}, },
{ {
"name": "turbo124/beacon", "name": "turbo124/beacon",
"version": "0.8.2", "version": "0.83",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/turbo124/beacon.git", "url": "https://github.com/turbo124/beacon.git",
"reference": "2797b47faf30a3595e8ce5f5ad8e79e49989cc9a" "reference": "97157e507fcca352d1cc445b8a3a1970ec448eee"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/turbo124/beacon/zipball/2797b47faf30a3595e8ce5f5ad8e79e49989cc9a", "url": "https://api.github.com/repos/turbo124/beacon/zipball/97157e507fcca352d1cc445b8a3a1970ec448eee",
"reference": "2797b47faf30a3595e8ce5f5ad8e79e49989cc9a", "reference": "97157e507fcca352d1cc445b8a3a1970ec448eee",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8258,31 +8287,31 @@
"lightlogs", "lightlogs",
"turbo124" "turbo124"
], ],
"time": "2020-05-08T00:53:52+00:00" "time": "2020-06-09T07:24:25+00:00"
}, },
{ {
"name": "vlucas/phpdotenv", "name": "vlucas/phpdotenv",
"version": "v3.6.5", "version": "v3.6.6",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/vlucas/phpdotenv.git", "url": "https://github.com/vlucas/phpdotenv.git",
"reference": "8b64814b356b96a90d2bc942b152c80d8888b8d4" "reference": "4669484ccbc38fe7c4e0c50456778f2010566aad"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/8b64814b356b96a90d2bc942b152c80d8888b8d4", "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/4669484ccbc38fe7c4e0c50456778f2010566aad",
"reference": "8b64814b356b96a90d2bc942b152c80d8888b8d4", "reference": "4669484ccbc38fe7c4e0c50456778f2010566aad",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^5.4 || ^7.0 || ^8.0", "php": "^5.4 || ^7.0 || ^8.0",
"phpoption/phpoption": "^1.5", "phpoption/phpoption": "^1.5.2",
"symfony/polyfill-ctype": "^1.9" "symfony/polyfill-ctype": "^1.16"
}, },
"require-dev": { "require-dev": {
"ext-filter": "*", "ext-filter": "*",
"ext-pcre": "*", "ext-pcre": "*",
"phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0"
}, },
"suggest": { "suggest": {
"ext-filter": "Required to use the boolean validator.", "ext-filter": "Required to use the boolean validator.",
@ -8331,7 +8360,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2020-05-23T09:42:03+00:00" "time": "2020-06-02T14:08:54+00:00"
}, },
{ {
"name": "webpatser/laravel-countries", "name": "webpatser/laravel-countries",
@ -8730,16 +8759,16 @@
}, },
{ {
"name": "darkaonline/l5-swagger", "name": "darkaonline/l5-swagger",
"version": "6.0.3", "version": "6.0.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/DarkaOnLine/L5-Swagger.git", "url": "https://github.com/DarkaOnLine/L5-Swagger.git",
"reference": "df9e72d705e7757a700ac58d41c62b10c6ddc48c" "reference": "690a2db0db6091139504f454c42fcdfb7a46f405"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/df9e72d705e7757a700ac58d41c62b10c6ddc48c", "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/690a2db0db6091139504f454c42fcdfb7a46f405",
"reference": "df9e72d705e7757a700ac58d41c62b10c6ddc48c", "reference": "690a2db0db6091139504f454c42fcdfb7a46f405",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -8790,7 +8819,13 @@
"laravel", "laravel",
"swagger" "swagger"
], ],
"time": "2019-11-08T17:08:43+00:00" "funding": [
{
"url": "https://github.com/DarkaOnLine",
"type": "github"
}
],
"time": "2020-06-05T05:07:26+00:00"
}, },
{ {
"name": "doctrine/annotations", "name": "doctrine/annotations",
@ -9414,70 +9449,6 @@
], ],
"time": "2018-11-21T21:40:54+00:00" "time": "2018-11-21T21:40:54+00:00"
}, },
{
"name": "omnipay/authorizenet",
"version": "3.3.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/omnipay-authorizenet.git",
"reference": "8ccce3190c00d0a129c62dc1d1451d0125bab640"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/omnipay-authorizenet/zipball/8ccce3190c00d0a129c62dc1d1451d0125bab640",
"reference": "8ccce3190c00d0a129c62dc1d1451d0125bab640",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-libxml": "*",
"ext-simplexml": "*",
"omnipay/common": "^3"
},
"require-dev": {
"omnipay/tests": "^3",
"phpro/grumphp": "^0.14",
"squizlabs/php_codesniffer": "^3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Omnipay\\AuthorizeNet\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Adrian Macneil",
"email": "adrian@adrianmacneil.com"
},
{
"name": "Omnipay Contributors",
"homepage": "https://github.com/thephpleague/omnipay-authorizenet/contributors"
}
],
"description": "Authorize.Net gateway for the Omnipay payment processing library",
"homepage": "https://github.com/thephpleague/omnipay-authorizenet",
"keywords": [
"authorize",
"authorize net",
"authorize.net",
"gateway",
"merchant",
"omnipay",
"pay",
"payment"
],
"time": "2019-04-27T22:33:23+00:00"
},
{ {
"name": "phar-io/manifest", "name": "phar-io/manifest",
"version": "1.0.3", "version": "1.0.3",
@ -10760,16 +10731,16 @@
}, },
{ {
"name": "swagger-api/swagger-ui", "name": "swagger-api/swagger-ui",
"version": "v3.25.5", "version": "v3.26.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/swagger-api/swagger-ui.git", "url": "https://github.com/swagger-api/swagger-ui.git",
"reference": "28b7d7c54866f3581f0f703f3971422a09ebd649" "reference": "b9064157e710d0c56d4459b5a7c16751ad0ae72c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/28b7d7c54866f3581f0f703f3971422a09ebd649", "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/b9064157e710d0c56d4459b5a7c16751ad0ae72c",
"reference": "28b7d7c54866f3581f0f703f3971422a09ebd649", "reference": "b9064157e710d0c56d4459b5a7c16751ad0ae72c",
"shasum": "" "shasum": ""
}, },
"type": "library", "type": "library",
@ -10813,7 +10784,7 @@
"swagger", "swagger",
"ui" "ui"
], ],
"time": "2020-05-28T17:37:47+00:00" "time": "2020-06-05T00:57:11+00:00"
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
@ -10978,16 +10949,16 @@
}, },
{ {
"name": "wildbit/postmark-php", "name": "wildbit/postmark-php",
"version": "2.10.0", "version": "2.11.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/wildbit/postmark-php.git", "url": "https://github.com/wildbit/postmark-php.git",
"reference": "3e2ed1deaebb5e6284ccfd143d852d7dec3cba0e" "reference": "dd738b4de6d7dc3d296a1a7bad8f0b26f9693410"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/wildbit/postmark-php/zipball/3e2ed1deaebb5e6284ccfd143d852d7dec3cba0e", "url": "https://api.github.com/repos/wildbit/postmark-php/zipball/dd738b4de6d7dc3d296a1a7bad8f0b26f9693410",
"reference": "3e2ed1deaebb5e6284ccfd143d852d7dec3cba0e", "reference": "dd738b4de6d7dc3d296a1a7bad8f0b26f9693410",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -11008,7 +10979,7 @@
"MIT" "MIT"
], ],
"description": "The officially supported client for Postmark (http://postmarkapp.com)", "description": "The officially supported client for Postmark (http://postmarkapp.com)",
"time": "2020-04-09T10:02:15+00:00" "time": "2020-06-08T08:42:08+00:00"
}, },
{ {
"name": "zircote/swagger-php", "name": "zircote/swagger-php",