Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/square/connect-php-sdk
PHP client library for the Square Connect APIs
https://github.com/square/connect-php-sdk
sdk
Last synced: about 1 month ago
JSON representation
PHP client library for the Square Connect APIs
- Host: GitHub
- URL: https://github.com/square/connect-php-sdk
- Owner: square
- License: apache-2.0
- Archived: true
- Created: 2016-03-29T17:58:12.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-06-29T20:54:08.000Z (over 4 years ago)
- Last Synced: 2024-04-29T22:20:32.919Z (8 months ago)
- Topics: sdk
- Language: PHP
- Homepage: https://developer.squareup.com/docs
- Size: 2.04 MB
- Stars: 114
- Watchers: 41
- Forks: 55
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-php - Square - The official Square PHP SDK for payments and other Square APIs. (Configuration / Third Party APIs)
- awesome-sdks - Square - PHP client library for the [Square Connect](https://docs.connect.squareup.com/) APIs. (PHP)
- awesome-php-cn - Square - 官方的方形PHP SDK的支付和其他api. (配置 Configuration / 第三方api Third Party APIs)
- awesome-projects - Square - The official Square PHP SDK for payments and other Square APIs. (Configuration / Third Party APIs)
- awesome-php - Square - The official Square PHP SDK for payments and other Square APIs. (Configuration / Third Party APIs)
README
# Square Connect PHP SDK - RETIRED replaced by [square/square-php-sdk](https://github.com/square/square-php-sdk)
---
[![Build Status](https://travis-ci.org/square/connect-php-sdk.svg?branch=master)](https://travis-ci.org/square/connect-php-sdk)
[![PHP version](https://badge.fury.io/ph/square%2Fconnect.svg)](https://badge.fury.io/ph/square%2Fconnect)
[![Apache-2 license](https://img.shields.io/badge/license-Apache2-brightgreen.svg)](https://www.apache.org/licenses/LICENSE-2.0)
==================## NOTICE: Square Connect PHP SDK retired
The Square Connect PHP SDK is retired (EOL) as of 2020-06-10 and will no longer
receive bug fixes or product updates. To continue receiving API and SDK
improvements, please follow the instructions below to migrate to the new
[Square PHP SDK].The old Connect SDK documentation is available under the
[`/docs` folder](./docs/README.md).
---
* [Migrate to the Square PHP SDK](#migrate-to-the-square-php-sdk)
* [Update your code](#update-your-code)
* [Example code migration](#example-code-migration)
* [Ask the Community](#ask-the-community)---
## Migrate to the Square PHP SDK
Follow the instructions below to migrate your apps from the deprecated
`square/connect` sdk to the new library.You need to update your app to use the Square PHP SDK instead of the Connect PHP SDK
The Square PHP SDK uses the `square/square` identifier.1. On the command line, run:
```
$ php composer.phar require square/square
```
*-or-*2. Update your composer.json:
```
"require": {
...
"square/square": "^5.0.0",
...
}
```
### Update your code1. Change all instances of `use SquareConnect\...` to `use Square\...`.
1. Replace `SquareConnect` models with the new `Square` equivalents
1. Update client instantiation to follow the method outlined below.
1. Update code for accessing response data to follow the method outlined below.
1. Check `$apiResponse->isSuccess()` or `$apiResponse->isError()` to determine if the call was a success.To simplify your code, we also recommend that you use method chaining to access
APIs instead of explicitly instantiating multiple clients.#### Client instantiation
Connect SDK
```php
require 'vendor/autoload.php';use SquareConnect\Configuration;
use SquareConnect\ApiClient;$access_token = 'YOUR_ACCESS_TOKEN';
# setup authorization
$api_config = new Configuration();
$api_config->setHost("https://connect.squareup.com");
$api_config->setAccessToken($access_token);
$api_client = new ApiClient($api_config);```
Square SDK```php
require 'vendor/autoload.php';use Square\SquareClient;
use Square\Environment;// Initialize the Square client.
$api_client = new SquareClient([
'accessToken' => "YOUR_ACCESS_TOKEN",
'environment' => Environment::SANDBOX
]); // In production, the environment arg is 'production'
```## Example code migration
As a specific example, consider the following code for creating a new payment
from the following nonce:```php
# Fail if the card form didn't send a value for `nonce` to the server
$nonce = $_POST['nonce'];
if (is_null($nonce)) {
echo "Invalid card data";
http_response_code(422);
return;
}
```With the deprecated `square/connect` library, this is how you instantiate a client
for the Payments API, format the request, and call the endpoint:```php
use SquareConnect\Api\PaymentsApi;
use SquareConnect\ApiException;$payments_api = new PaymentsApi($api_client);
$request_body = array (
"source_id" => $nonce,
"amount_money" => array (
"amount" => 100,
"currency" => "USD"
),
"idempotency_key" => uniqid()
);
try {
$result = $payments_api->createPayment($request_body);
echo "";";
print_r($result);
echo "
} catch (ApiException $e) {
echo "Caught exception!
";
print_r("Response body:
");
echo ""; var_dump($e->getResponseBody()); echo "";
echo "
Response headers:
";
echo ""; var_dump($e->getResponseHeaders()); echo "";
}
```Now consider equivalent code using the new `square/square` library:
```php
require 'vendor/autoload.php';use Square\Environment;
use Square\Exceptions\ApiException;
use Square\SquareClient;
use Square\Models\CreatePaymentRequest;
use Square\Models\Money;$payments_api = $api_client->getPaymentsApi();
$money = new Money();
$money->setAmount(100);
$money->setCurrency('USD');
$create_payment_request = new CreatePaymentRequest($nonce, uniqid(), $money);
try {
$response = $payments_api->createPayment($create_payment_request);
if ($response->isError()) {
echo 'Api response has Errors';
$errors = $response->getErrors();
exit();
}
echo '';';
print_r($response);
echo '
} catch (ApiException $e) {
echo 'Caught exception!
';
exit();
}
```That's it!
---
## Ask the community
Please join us in our [Square developer community] if you have any questions!
[//]: # "Link anchor definitions"
[Square PHP SDK]: https://github.com/square/square-php-sdk
[Square developer community]: https://squ.re/slack