connect

Java client library for the Square Connect API

License

License

Categories

Categories

Square Business Logic Libraries Financial
GroupId

GroupId

com.squareup
ArtifactId

ArtifactId

connect
Last Version

Last Version

2.20191120.0
Release Date

Release Date

Type

Type

jar
Description

Description

connect
Java client library for the Square Connect API
Project URL

Project URL

https://github.com/square/connect-java-sdk/
Source Code Management

Source Code Management

https://github.com/square/connect-java-sdk/

Download connect

How to add to project

<!-- https://jarcasting.com/artifacts/com.squareup/connect/ -->
<dependency>
    <groupId>com.squareup</groupId>
    <artifactId>connect</artifactId>
    <version>2.20191120.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.squareup/connect/
implementation 'com.squareup:connect:2.20191120.0'
// https://jarcasting.com/artifacts/com.squareup/connect/
implementation ("com.squareup:connect:2.20191120.0")
'com.squareup:connect:jar:2.20191120.0'
<dependency org="com.squareup" name="connect" rev="2.20191120.0">
  <artifact name="connect" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.squareup', module='connect', version='2.20191120.0')
)
libraryDependencies += "com.squareup" % "connect" % "2.20191120.0"
[com.squareup/connect "2.20191120.0"]

Dependencies

compile (9)

Group / Artifact Type Version
io.swagger : swagger-annotations jar 1.5.12
org.glassfish.jersey.core : jersey-client jar 2.22.2
org.glassfish.jersey.media : jersey-media-multipart jar 2.22.2
org.glassfish.jersey.media : jersey-media-json-jackson jar 2.22.2
com.fasterxml.jackson.core : jackson-core jar 2.9.10
com.fasterxml.jackson.core : jackson-annotations jar 2.9.10
com.fasterxml.jackson.core : jackson-databind jar 2.9.10
com.fasterxml.jackson.datatype : jackson-datatype-jsr310 jar 2.9.10
com.brsanthu : migbase64 jar 2.2

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

Square logo

Square Connect Java SDK - RETIRED


Maven Central Apache-2 license

NOTICE: Square Connect Java SDK retired

The Square Connect Java SDK is retired (EOL) as of 2019-12-17 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 Java SDK.

The old Connect SDK documentation is available under the /docs folder.





Migrate to the Square Java SDK

Follow the instructions below to migrate your apps from the deprecated com.squareup.connect library to the new com.squareup.square library.

Update your project

Update the dependency in your Maven or Gradle project.

Update Maven

Update the Square dependency in the POM for your project:

<dependency>
    <groupId>com.squareup</groupId>
    <artifactId>square</artifactId>
    <version>4.0.0.20191217</version>
    <scope>compile</scope>
</dependency>

Update Gradle

Replace the com.squareup.connect dependency in the build file of your project:

implementation "com.squareup:square:4.0.0.20191217"

Update your code

  1. Change all instances of import com.squareup.connect' to import com.squareup.square.
  2. Update client instantiation to follow the method outlined below.
  3. Use thenAccept and exceptionally rather than try and catch for flow control.

To simplify your code, we also recommend that you use method chaining to access APIs instead of explicitly instantiating multiple clients.

Client instantiation

import com.squareup.square.SquareClient;
import com.squareup.square.Environment;

SquareClient square = new SquareClient.Builder()
    .environment(Environment.SANDBOX)
    .accessToken("YOUR_SANDBOX_ACCESS_TOKEN")
    .build();

Accessing response data

Using listLocations as an example

square.getLocationsApi().listLocationsAsync().thenAccept(result -> {
    // Business logic
    }).exceptionally(exception -> {
    // Exception handling
    return null;
});



Example code migration

As a specific example, consider the code used to create a new customer profile with the following CreateCustomerRequest object:

Address bodyAddress = new Address.Builder()
    .addressLine1("500 Electric Ave")
    .addressLine2("Suite 600")
    .locality("New York")
    .administrativeDistrictLevel1("NY")
    .postalCode("10003")
    .country("US")
    .build();

CreateCustomerRequest body = new CreateCustomerRequest.Builder()
    .givenName("Amelia")
    .familyName("Earhart")
    .emailAddress("[email protected]")
    .address(bodyAddress)
    .phoneNumber("1-212-555-4240")
    .referenceId("YOUR_REFERENCE_ID")
    .note("a customer")
    .build();

With the deprecated squareup.connect library, this is how you instantiate a client for the Customers API, format the request, and call the endpoint:

ApiClient defaultClient = Configuration.getDefaultApiClient();
CustomersApi customersApi = new CustomersApi();

try {
    CreateCustomerResponse result = customersApi.createCustomer(body);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling CustomersApi.createCustomer");
    e.printStackTrace();
}

Now consider equivalent code using the new squareup.square library:

// Instantiate the client
SquareClient square = new SquareClient.Builder()
    .environment(Environment.SANDBOX)
    .accessToken("YOUR_SANDBOX_ACCESS_TOKEN")
    .build();

// Call the endpoint
square.getCustomersApi().createCustomerAsync(body).thenAccept(result -> {
    System.out.println("Successfully created customer with id:"+ result.getCustomer().getId());
}).exceptionally(e -> {
    System.err.println("Exception when calling CustomersApi.createCustomer");
    e.printStackTrace();
    return null;
});

That's it!

What was once a multi-object process can be handled asynchronously with a single client. Migrating to the com.squareup.square library reduces boilerplate and lets you focus on the parts of your code that really matter.




Ask the community

Please join us in our Square developer community if you have any questions!

com.squareup

Square

Versions

Version
2.20191120.0
2.20191023.0
2.20190925.0
2.20190814.2
2.20190814.1
2.20190710.0
2.20190612.1
2.20190612.0
2.20190508.1
2.20190508.0
2.20190410.1
2.20190410.0
2.20190327.1
2.20190327.0
2.20190313.1
2.20190313.0
2.20190213.0
2.20181212.0
2.20181205.0
2.20180918.1
2.20180918.0
2.20180712.2
2.20180712.1
2.20180712.0
2.9.0
2.8.0
2.7.0
2.6.1
2.5.3
2.5.2
2.5.1
2.5.0
2.4.0
2.3.1
2.3.0
2.2.1
2.2.0
2.1.0
2.0.2