Skip to content

Releases: square/square-java-sdk

Version 15.1.0.20210915

16 Sep 18:58
b7839af
Compare
Choose a tag to compare

Version 15.1.0.20210915 (2021-09-15)

API updates

  • Invoices API:

    • Invoice object. Added a new, optional sale_or_service_date field used to specify the date of the sale or the date that the service is rendered. If specified, this date is displayed on the invoice.
  • Orders API:

  • Team API:

    • SearchTeamMembersFilter object now has an is_owner field that when set, causes a team member search to return only the seller who owns a Square account.
  • Terminal API:

Documentation updates

  • OAuth API:
    • Revised API descriptions for the ObtainToken and Authorize endpoints. Clarified that the Authorize endpoint is not a callable API but is used to direct the seller to the Square authorization page. For more information about the Authorize endpoint, see [Create the Redirect URL and Square Authorization Page URL.](https://developer.squareup.com/docs/oauth-api/create-urls-for-square-au

Version 15.0.0.20210915

16 Sep 01:07
8cf32bf
Compare
Choose a tag to compare

Version 15.0.0.20210915 (2021-09-15)

This version was released with stale data from v 14.0.0.20210818 and is an invalid release.
We advise you to upgrade to v15.1.0.20210915 to get all the API updates.

Version 14.0.0.20210818

18 Aug 17:17
1a4b7f6
Compare
Choose a tag to compare

Version 14.0.0.20210818 (2021-08-18)

API updates

  • Customers API:

  • Customer Groups API:

    • ListCustomerGroups endpoint. The new, optional limit query parameter can be used to specify the maximum number of results in a paginated response.
  • Customer Segments API:

    • ListCustomerSegments endpoint. The new, optional limit query parameter can be used to specify the maximum number of results in a paginated response.
  • Invoices API:

    • Square Invoices Plus is a monthly subscription plan that allows access to premium invoice features. After Invoices Plus is launched in September 2021, a subscription will be required to create invoices with custom fields and installment payments. For more information, including how to handle new errors, see Premium features available with Invoices Plus.
  • Loyalty API:

Documentation updates

Version 13.0.0.20210721

21 Jul 17:21
0059002
Compare
Choose a tag to compare

Version 13.0.0.20210721 (2021-07-21)

SDK updates

  • The Square Java SDK now lets you customize HttpClient by creating an okhttpclient instance and setting it in HttpClientConfiguration to override the default behavior.

API updates

Documentation updates

Version 12.0.0.20210616

16 Jun 17:34
6a3f161
Compare
Choose a tag to compare

Version 12.0.0.20210616 (2021-06-16)

New API releases

API updates

  • Catalog API:

  • Customers API:

  • Disputes API:

    • The Disputes API is now GA.
    • RemoveDisputeEvidence. Renamed to DeleteDisputeEvidence.
    • CreateDisputeEvidenceFile. The URL is changed from /v2/disputes/{dispute_id}/evidence_file to /v2/disputes/{dispute_id}/evidence-files.
    • CreateDisputeEvidenceText. The URL is changed from /v2/disputes/{dispute_id}/evidence_text to /v2/disputes/{dispute_id}/evidence-text.
    • ListDisputeEvidence. The endpoint now returns a pagination cursor and accepts a pagination cursor in requests.
    • DISPUTES_READ and DISPUTES_WRITE permissions are required for all Disputes API endpoints instead of PAYMENTS_READ and PAYMENTS_WRITE.
    • DisputeEvidence. The evidence_id field is deprecated and replaced by the id field.
    • The dispute.state.changed webhook is renamed to dispute.state.updated.
    • Dispute object. The following breaking changes are made:
      • The dispute_id field is deprecated and replaced by the id field.
      • The reported_date field is deprecated and replaced by the reported_at field.
      • The evidence_ids field is deprecated with no replacement.

    For more information about the GA release of the Disputes API, see Disputes Overview.

  • Inventory API:

    • CatalogStockConversion (Beta). Enables selling a product in multiple measurement units and lets Square sellers manage inventory counts of the product's stockable and a non-stockable variations in a self-consistent manner. For more information, see Enable Stock Conversion.
  • Invoices API:

    • CreateInvoice. The location_id field is now optional and defaults to the location ID of the associated order. If specified in the request, the value must match the location ID of the associated order. This is a service-level change that applies to all Square API versions.
  • Loyalty API:

    • LoyaltyProgramAccrualRule object. New excluded_category_ids and excluded_item_variation_ids fields that represent any categories and items that are excluded from accruing points in spend-based loyalty programs.
  • Subscriptions API:

    • Subscription. The paid_until_date field is renamed to charge_through_date.

    • UpdateSubscription. The version field is now optional because it can update only the latest version of a subscription.

    • CreateSubscription. The idempotency_key field is now optional in the request. If you do not provide it, each CreateSubscription assumes a unique (never used before) value and creates a subscription for each call.

Documentation updates

  • Order fee structure. Documented the transaction fee related to using the Orders API with a non-Square paymen

Version 11.0.0.20210513

13 May 15:53
fef7374
Compare
Choose a tag to compare

Version 11.0.0.20210513 (2021-05-13)

New API releases

  • Sites API. The Sites API lets you retrieve basic details about the Square Online sites that belong to a Square seller. For more information, see Sites API Overview.

  • Snippets API. The Snippets API lets you manage snippets that provide custom functionality on Square Online sites. A snippet is a script that is injected into all pages on a site, except for checkout pages. For more information, see Snippets API Overview.

The Sites API and Snippets API are publicly available to all developers as part of an early access program (EAP). For more information, see Early access program for Square Online APIs.

API updates

  • Payments API.

  • Loyalty API:

    • The Loyalty API has moved to the general availability (GA) state.

    • The ListLoyaltyPrograms endpoint is deprecated and replaced by the RetrieveLoyaltyProgram endpoint when used with the main keyword.

    • LoyaltyAccount  object. The mappings field is retired and replaced by mapping.

    • LoyaltyAccountMapping object. The type and value fields are retired and replaced by phone_number.

      Starting in Square version 2021-05-13:

      • mappings is not accepted in CreateLoyaltyAccount requests or returned in responses.
      • type and value are not accepted in CreateLoyaltyAccount or SearchLoyaltyAccounts requests or returned in responses.

      For more information, see Migration notes.

Documentation updates

  • Getting Started Added step that shows how to use the API Logs to examine a t

Version 10.0.0.20210421

21 Apr 21:43
376208d
Compare
Choose a tag to compare

Version 10.0.0.20210421 (2021-04-21)

New API releases

Existing API updates

  • Subscriptions API:

    • ResumeSubscription. This new endpoint enables applications to resume deactivated subscriptions. After a subscription is created, there are events that can make a subscription non-billable, causing Square to deactivate the subscription. A seller can also resume deactivated subscriptions in the Seller Dashboard. Applications can call ListSubscriptionEvents to determine why Square deactivated a subscription.
  • Customers API:

  • Invoices API:

    • The Invoices API has moved to the GA state.

    • Invoice object:

      • A new required accepted_payment_methods field that defines the methods of payment that customers can use to pay an invoice on the Square-hosted invoice page. Valid values are defined in the new InvoiceAcceptedPaymentMethods enum. For more information, see the migration notes.
      • A new subscription_id field, which is included in invoices created for subscription billing.
  • Loyalty API: (beta)

    • RetrieveLoyaltyProgram endpoint. This new endpoint accepts a program ID or the main keyword and returns the loyalty program in a seller's account. For more information, see Retrieve a loyalty program. This endpoint is preferred over the ListLoyaltyPrograms endpoint.

    • Introduced a new mapping implementation for loyalty accounts:

      • LoyaltyAccount object. Added the mapping field (of type LoyaltyAccountMapping), which is used to associate the loyalty account with a buyer. This field is recommended over the mappings field.
      • LoyaltyAccountMapping object. Added the phone_number field to represent a phone number mapping. This field is recommended over the type and value fields.
    • A new loyalty.program.created webhook. Square now publishes an event notification when a loyalty program is created in the Square Seller Dashboard.

  • Inventory API:

  • Catalog API:

    • CatalogItem introduces the sort_name attribute that can take Japanese writing scripts to sort items by. When it is unspecified, the regular name attribute is used for sorting.
    • CatalogPricingRule has the new customer_group_ids_any attribute included to support automatic application of discounts to specified product set purchased by members of any of the customer groups identified by the customer_group_ids_any attribute values.
  • Team API

    • New Team webhooks: team_member.created, team_member.updated, team_member.wage_setting.updated to notify on created and updated team members and wage

Version 9.1.0.20210317

17 Mar 21:59
376208d
Compare
Choose a tag to compare

Version 9.1.0.20210317 (2021-03-17)

Existing API updates

  • Payments API:

    • CreatePayment. Until now, the CreatePayment endpoint supported only taking card payments. In this release, the API now supports cash and external payments. For more information, see Take Payments.
    • UpdatePayment. This new endpoint enables developers to change the payment amount and tip amount after a payment is created. For more information, see Update Payments.
  • Invoices API:

    • InvoiceDeliveryMethod enum. Added the read-only SMS value.
    • InvoiceRequestMethod enum (deprecated). Added the read-only SMS, SMS_CHARGE_CARD_ON_FILE, and SMS_CHARGE_BANK_ON_FILE values for backward compatibility.

    These values direct Square to send invoices and receipts to customers using SMS (text message). SMS settings can be configured from first-party Square applications only; they cannot be configured from the Invoices API. Square does not send invoice reminders when using SMS to communicate with customers.

  • Terminal API:

    • TerminalCheckout. Previously, TerminalCheckout only supported tapped, dipped, or swiped credit cards. It now supports manual card entry and e-money. Added the payment_type field to denote a request for a manually entered payment card or an e-money payment.
    • TerminalCheckoutPaymentType. A new enum for the Terminal checkout payment types that can be requested.
    • E-money support is now available for Terminal checkout requests in Japan.

SDKs

  • Square Java SDK:
    • Updated the OkHttp dependency to version 4.9.0.
    • Fixed a NullPointerException when passing an empty order ID to the UpdateOrder method.

Documentation updates

  • Multi-language code examples. Previously, various topics showed only cURL examples for the REST API operations. These topics now show examples in multiple languages. You can use the language drop-down list to choose a language.

  • When to Use Connect V1. Content is revised to reflect the most current information about when to use the Con

Version 9.0.0.20210226

26 Feb 18:50
6e02e77
Compare
Choose a tag to compare

Version 9.0.0.20210226 (2021-02-26)

Existing API updates

  • Customers API:

  • Orders API:

    • CreateOrder. Removed the location_id field from the request. It was an unused field.
  • Payments API:

  • v1 Items API:

  • v1 Employees.Timecards:

    • The following endpoints are retired:
      • CreateTimecard: Use the Square Labor API CreateShift endpoint.
      • DeleteTimecard: Use the Square Labor API DeleteShift endpoint.
      • ListTimecards: Use the Square Labor API SearchShift endpoint.
      • RetrieveTimecards: Use the Square Labor API GetShift endpoint.
      • UpdateTimecard: Use the Square Labor API UpdateShift endpoint.
      • ListTimecardEvents: No direct replacement. To learn about replacing the v1 functionality, see the migration guide.
  • v1 Employees.CashDrawers:

    • The following endpoints are retired:
  • v1 Transactions.BankAccounts:

    • The following endpoints are retired:
      • ListBankAccounts: Use the Square Bank Accounts API ListBankAccounts endpoint.
      • RetrieveBankAccount: Use the Square Bank Accounts API GetBankAccount endpoint.

SDKs

  • All Square SDKs:

    By default, all SDKs send requests to Square's production (https://connect.squareup.com) or sandbox (https://connect.squareupsandbox.com) hosts based on the client's environment parameter.

    You now have the option to use a custom URL instead. To use a custom URL, follow the example for your language to set the environment parameter to custom and the customUrl parameter to your URL:

    • Java

      new SquareClient.Builder()
        .environment(Environment.CUSTOM)
        .customUrl("https://example.com")
    • .NET

      new Square.SquareClient.Builder()
        .Environment(Environment.Custom)
        .CustomUrl("https://example.com")
    • Node.js

      new Client({
        environment: Environment.Custom,
        customUrl: 'https://example.com'
      });
    • PHP

      new Square\SquareClient([
        'environment' => Environment::CUSTOM,
        'customUrl' => 'https://example.com',
      ]);
    • Python

      Client(
        environment = 'custom',
        custom_url = 'https://example.com',)
    • Ruby

      Square::Client.new(
        environment: 'custom',
        custom_url: 'https://example.com'
      });
  • Square .NET SDK:

    Square has overridden the Equals and GetHashCode methods for models:

    • In the Equals override, Square has implemented a field-level comparison.
    • The Square GetHashCode override now ensures that hashes are deterministic and unique for each object.
  • Square Node.js SDK:

    Endpoints that return 64-bit integers now return a BigInt object instead of a Number object.

  • Connect Node.js SDK: (deprecated)

    The deprecated Connect Node.js SDK is in the security maintenance state. It does not receive any bug fixes or API updates from the Square version 2021-02-26 release. However, the SDK will receive support and security patches until it is retired (end of life) in the second quarter of 2021. For more information, including steps for migrating to the Square Node.js SDK, see the Connect SDK README.

Documentation updates

  • Catalog API:

  • Inventory API:

  • Get Started topic. Revised the Get Started experience. In addition to clarifications, it now includes the use of the Square Sandbox and API Explorer. These are the tools and environments developers use to explore

Version 8.1.0.20210121

21 Jan 19:13
be8c615
Compare
Choose a tag to compare

Version 8.1.0.20210121 (2021-01-21T00:00)

Existing API updates

  • Invoices API: (beta)

    The InvoicePaymentRequest.request_method field is deprecated, and its current options are separated into two new fields that better represent their scope:

    • Invoice.delivery_method specifies how Square should send invoices, reminders, and receipts to the customer.
    • InvoicePaymentRequest.automatic_payment_source specifies the payment method for an automatic payment.

    As part of this change, the InvoiceDeliveryMethod and InvoiceAutomaticPaymentSource enums are added and the InvoiceRequestMethod enum is deprecated.

    The Invoices API will continue to accept request_method in create and update requests until the field is retired, but starting in this version, request_method is not included in returned Invoice objects. For more information, see the migration notes.

  • Locations API:

SDKs

  • Connect Node.js SDK: (deprecated)

    The deprecated Connect Node.js SDK is in the security maintenance state. It will not receive any bug fixes or API updates from the Square version 2021-01-21 release. However, the SDK will receive support and security patches until it is retired (EOL) in Q2, 2021. For more information, including steps for migrating to the Square Node.js SDK, see the Connect SDK README.

Documentation updates

  • Catalog API:

  • Inventory API:

    • The Inventory API content is updated. It provides clearer guidance about how to use the API, with a task-oriented TOC and improved cod