Download the PHP package square/square without Composer
On this page you can find all versions of the php package square/square. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download square/square
More information about square/square
Files in square/square
Package square
Short Description Use Square APIs to manage and run business including payment, customer, product, inventory, and employee management.
License MIT
Homepage https://squareup.com/developers
Informations about the package square
Square PHP SDK
The Square PHP library provides convenient access to the Square API from PHP.
Requirements
Use of the Square PHP SDK requires:
- PHP ^8.1
Installation
Use Composer to configure and install to configure and install the Square PHP SDK:
Usage
Instantiation
To get started with the Square SDK, instantiate the SquareClient
class as follows:
Alternatively, you can omit the token when constructing the client.
In this case, the SDK will automatically read the token from the
SQUARE_TOKEN
environment variable:
Environment and Custom URLs
This SDK allows you to configure different environments or custom URLs for API requests. You can either use the predefined environments or specify your own custom URL.
Environments
Custom URL
Enums
This SDK leverages PHP 8.1’s first-class enums to improve type safety and usability. In order to maintain forward
compatibility with the API —- where new enum values may be introduced in the future -— we define enum properties
as string
and use value-of
annotations to specify the corresponding enum type.
Example Usage
PHPDoc Annotations
Automatic Pagination
List endpoints are paginated. The SDK provides an iterator so that you can simply loop over the items:
You can also iterate page-by-page:
Timeouts
Setting a timeout for each individual request is as simple as using the timeout
request option. Setting a one second
timeout for an individual API call looks like the following:
Exception Handling
When the API returns a non-zero status code, (4xx
or 5xx
response), a SquareApiException
will be thrown:
Webhook Signature Verification
The SDK provides utility methods that allow you to verify webhook signatures and ensure
that all webhook events originate from Square. The WebhooksHelper.verifySignature
method
can be used to verify the signature like so:
Legacy SDK
While the new SDK has a lot of improvements, we at Square understand that it takes time to upgrade when there are breaking changes.
To make the migration easier, the new SDK also exports the legacy SDK as Square\Legacy\...
. Here's an example of how you can use the
legacy SDK alongside the new SDK inside a single file:
We recommend migrating to the new SDK using the following steps:
- Upgrade the package to
^41.0.0
-
Search and replace all requires and imports from
Square\...
toSquare\Legacy\...
- Gradually move over to use the new SDK by importing it from the
Square\...
import.
Advanced
Custom HTTP Client
This SDK is built to work with any HTTP client that implements Guzzle’s ClientInterface
. By default, if no client
is provided, the SDK will use Guzzle’s default HTTP client. However, you can pass your own client that adheres to
ClientInterface
:
Send Additional Properties
All endpoints support sending additional request body properties and query parameters that are not already supported by the SDK. This is useful whenever you need to interact with an unreleased or hidden feature.
For example, suppose that a new feature was rolled out that allowed users to list all deactivated team members. You could set the relevant query parameters like so:
Receive Additional Properties
Every response type includes the getAdditionalProperties
method, which returns an array
that contains any properties in the
JSON response that were not specified in the returned class. Similar to the use case for sending additional parameters, this can
be useful for API features not present in the SDK yet.
You can access the additional properties like so:
Contributing
While we value open-source contributions to this SDK, this library is generated programmatically. Additions made directly to this library would have to be moved over to our generation code, otherwise they would be overwritten upon the next generated release. Feel free to open a PR as a proof of concept, but know that we will not be able to merge it as-is. We suggest opening an issue first to discuss with us!
On the other hand, contributions to the README are always very welcome!
All versions of square with dependencies
ext-json Version *
guzzlehttp/guzzle Version ^7.4
apimatic/unirest-php Version ^4.0.0
apimatic/core-interfaces Version ~0.1.5
apimatic/core Version ~0.3.12