Skip to content

Latest commit

 

History

History
915 lines (628 loc) · 92.2 KB

CHANGELOG.md

File metadata and controls

915 lines (628 loc) · 92.2 KB

Change Log

For general API and SDK changelogs, see Square APIs and SDKs Release Notes.

Version 18.0.0.20211215 (2021-12-15)

API updates

  • Invoices API:

    • The Invoices API now supports seller accounts in France. For more information, see International availability and considerations.

    • France only: Invoice object. Added a new payment_conditions field, which contains payment terms and conditions that are displayed on the invoice. This field is available only for sellers in France. For more information, see Payment conditions.

      Square version 2021-12-15 or higher is required to set this field, but it is returned in ListInvoices and RetrieveInvoice requests for all Square versions.

  • Cards API

    • Added the CARD_DECLINED_VERIFICATION_REQUIRED error code to the list of error codes returned by CreateCard.
  • Catalog API:

Documentation updates

  • Added a new top-level node for Developer Tools. This node includes such features as Sandbox, API Logs, and Webhooks.
  • Added Webhook Event Logs (beta) documentation to the Developer Tools node.

Version 17.0.0.20211117 (2021-11-17)

API updates

  • Cards API. The Card object and webhook response body for all webhooks are updated updated with fields.

    • Added the Card.merchant_id field to identify the Square seller that stored the payment card on file.
    • Added a Card object to the response bodies of all Cards API webhooks. The Card is added as a child of the data.object field in all webhook responses.
  • Bookings API. The new ListBookings endpoint supports browsing a collection of bookings of a seller. For more information, see Use the Bookings API: list bookings.

  • Subscriptions API. Introduced the new actions framework representing scheduled, future changes to subscriptions.

    • The new PauseSubscription endpoint supports temporarily pausing a subscription. Calling this endpoint schedules a new PAUSE action.
    • The new SwapPlan endpoint supports changing the subscription plan associated with a single customer. Calling this endpoint schedules a new SWAP_PLAN action.
    • The new DeleteSubscriptionAction endpoint supports deleting a scheduled action.
    • The ResumeSubscription endpoint has been updated to support resuming a paused subscription. Calling this endpoint schedules a new RESUME action.
    • The CancelSubscription endpoint now schedules a new CANCEL action.
    • Added an optional include body parameter to the SearchSubscriptions endpoint. Include actions in the request to return all actions associated with the subscriptions.

Documentation Update

  • Migration Guides.

    Code that relies on these V1 API endpoints must be updated to avoid breaking when these APIs reach retirement.

Version 16.0.0.20211020 (2021-10-20)

API updates

  • Transactions API. Three previously deprecated endpoints (ListRefunds, Charge, and CreateRefund) in the Transactions API are removed from Square API version 2021-10-20 and later. These endpoints will work if you are using Square API versions prior to 2021-10-20. However, these endpoints will eventually be retired from all Square versions.

    • Instead of the Transactions API Charge endpoint, use the Payments API CreatePayment endpoint.
    • Instead of the Transactions API CreateRefund endpoint, use the Refunds API RefundPayment endpoint.
    • Instead of the Transactions API ListRefunds endpoint, use the Refunds API ListPaymentRefund endpoint.
  • Payments API:

  • Refunds API:

    • RefundPayment endpoint.
      • Added the team_member_id request field to record the ID of the team member associated with the refund.
      • Added the payment_version_token request field to support optimistic concurrency. For more information, see Refund Payment.
  • Customers API:

    • Customer object. Added a new tax_ids field of the CustomerTaxIds type, which can contain the EU VAT ID of the customer. This field is available only for customers of sellers in France, Ireland, or the United Kingdom. For more information, see Customer tax IDs.

    • UpdateCustomer endpoint. The Customers API now returns a 400 BAD_REQUEST error if the request body does not contain any fields. For earlier Square versions, the Customers API will continue to return a 200 OK response along with the customer profile. For more information, see Migration notes.

  • Invoices API:

    • InvoiceRecipient object. Added a new, read-only tax_ids field of the InvoiceRecipientTaxIds type, which can contain the EU VAT ID of the invoice recipient. This field is available only for customers of sellers in Ireland or the United Kingdom. If defined, tax_ids is returned for all Square API versions. For more information, see Invoice recipient tax IDs.
    • Square now sends emails for test invoices that are published in the Sandbox environment.
  • Catalog API:

    • CatalogSubscriptionPlan.name can be updated after the subscription plan is created. The change is retroactively applicable to prior versions of the Square API.
  • Subscriptions API:

    • The new SubscriptionSource data type is introduced to encapsulate the source where a subscription is created. The new SubscriptionSource.name value is propagated to the Order.source attribute when an order is made on the subscription. The new feature is retroactively applicable to prior versions of the Square API.
    • The new Subscription.source attribute is introduced to indicate the source where the subscription was created. This new feature is retroactively applicable to prior versions of the Square API.
    • The new SearchSubscriptionsFilter.source_names query expression is introduced to enable search for subscriptions by the subscription source name. This new feature is retroactively applicable to prior versions of the Square API.

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.

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 (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

  • Webhooks. Revised the steps and descriptions for creating and using webhooks. For more information, see Webhooks Overview.

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 payments provider.

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 transaction.

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 settings.

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 Connect V1 API.

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 Square APIs.

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 code examples.

Version 8.0.0.20201216 (2020-12-16T00:00)

Existing API updates

New SDK release

Documentation updates

Version 7.0.0.20201118 (2020-11-18T00:00)

New API releases

  • Bookings API (beta). This API enables you, as an application developer, to create applications to set up and manage bookings for appointments of fixed duration in which selected staff members of a Square seller provide specified services in supported locations for particular customers.

Existing API updates

  • Payments API:
    • Payment. The object now includes the risk_evaluation field to identify the Square-assigned risk level associated with the payment. Sellers can use this information to provide the goods and services or refund the payment.

New SDK release

Documentation Updates

Version 6.5.0.20201028 (2020-10-28T00:00)

Existing API updates

  • Terminal API. New endpoints to enable sellers in Canada refund Interac payments.

  • Loyalty API (beta):

  • Locations API:

    • Location object. Has a new read-only field,full_format_logo_url, which provides URL of a full-format logo image for the location.
    • Webhooks The Locations API now supports notifications for when a location is created and when a location is updated.
  • Orders API:

  • Invoices API (beta):

    • Invoice object. The payment_requests field can now contain up to 13 payment requests, with a maximum of 12 INSTALLMENT request types. This is a service-level change that applies to all Square API versions. For more information, see Payment requests.

Version 6.4.0.20200923 (2020-09-23)

Existing API updates

  • Invoices API (beta)
    • InvoiceStatus enum. Added the PAYMENT_PENDING value. Previously, the Invoices API returned a PAID or PARTIALLY_PAID status for invoices in a payment pending state. Now, the Invoices API returns a PAYMENT_PENDING status for all invoices in a payment pending state, including those previously returned as PAID or PARTIALLY_PAID.
  • Payments API
    • ListPayment. The endpoint now supports the limit parameter.
  • Refunds API
  • DeviceDetails. The object now includes the device_installation_id field.

Documentation updates

  • Payment status. Added details about the Payment.status changes and how the status relates to the seller receiving the funds.
  • Refund status. Added details about the PaymentRefund.status changes and how the status relates to the cardholder receiving the funds.
  • CreateRefund errors. Added documentation for the REFUND_DECLINED error code.

Version 6.3.0.20200826 (2020-08-26)

Existing API updates

  • Orders API
    • Order object. The total_tip_money field is now GA.
    • CreateOrder, UpdateOrder, and BatchRetrieveOrders. These APIs now support merchant-scoped endpoints (for example, the CreateOrder endpoint POST /v2/orders). The location-scoped variants of these endpoints (for example, the CreateOrder endpoint POST /v2/locations/{location_id}/orders) continue to work, but these endpoints are now deprecated. You should use the merchant-scoped endpoints (you provide the location information in the request body).
  • Labor API
    • Migrate from Employees to Team Members. The Employees API is now deprecated in this release. Accordingly, update references to the Shift.employee_id field to the Shift.team_member_id field of the Labor API.
  • v2 Employees API (deprecated)
  • v1 Employees API (deprecated)

Documentation updates

  • Point of Sale API
  • Team API
    • Team API Overview. Documented the limitation related to creating a team member in the Square Sandbox.

All SDKs

SDK technical reference documentation:

  • Nulls in SDK documentation example code are replaced with example values.

.NET SDK

Bug fixes:

  • The APIException.Errors property was not set on instantiation. Behavior is now corrected to instantiate the class with an empty Errors list.

Version 6.2.0.20200812 (2020-08-12)

API releases

Existing API updates

SqPaymentForm SDK updates

Documentation updates

Version 6.1.0.20200722 (2020-07-22)

API releases

Existing API updates

  • Catalog API

  • Locations API

  • Merchants API

  • Orders API

    • PricingOptions. You can now enable the auto_apply_discounts of the options to have rule-based discounts automatically applied to an Order that is pre-configured with a pricing rule.
  • Inventory API

    • Replaced 500 error on max string length exceeded with a max length error message. Max length attribute added to string type fields.
  • Terminal API (beta)

    • TerminalCheckout object. The TerminalCheckoutCancelReason field is renamed to ActionCancelReason.

Documentation updates

Version 6.0.0.20200625 (2020-06-25)

New API release

Existing API updates

  • Catalog API
    • Pricing is now GA. It allows an application to configure catalog item pricing rules for the specified discounts to apply automatically.
  • Payments API

Version 5.3.0.20200528 (2020-05-28)

API releases

Existing API updates

  • Orders API

    • CalculateOrder (beta) endpoint. Use the endpoint to calculate adjustments (for example, taxes and discounts) to an order for preview purposes. In response, the endpoint returns the order showing the calculated totals. You can use this endpoint with an existing order or an order that has not been created.

    The endpoint does not update an existing order. It only returns a calculated view of the order that you provided in the request. To create or update an order, use the CreateOrder and UpdateOrder endpoints, respectively.

    • Order type. Two fields are added in support of the Loyalty API integration. For more information, see Deferred reward creation. For an example, see Redeem Points.
      • Order.rewards represents rewards added to an order by calling the CreateLoyaltyReward endpoint.
      • Order.discount.reward_ids indicates that a discount is the result of the specified rewards that were added to an order using the CreateLoyaltyReward endpoint.
  • Customers API

    • The Search Customers endpoint supports search by email address, phone number, and reference ID with the following additional query filters:

    • The created_at, updated_at, and id attributes on the Customer resource are updated to be optional. As a result, they no longer are required input parameters when you call the Square SDKs to create a Customer object. You might need to update the dependent SDKs to the latest version to mediate breaking your existing code.

Square Webhooks

Version 5.2.2.20200422 (2020-04-25)

Existing API updates

  • OAuth API
    • Obtain Token endpoint: Removed the scopes property from the request body.

Version 5.2.1.20200422 (2020-04-22)

API releases

  • Customer Segments API (beta). limit field removed from ListCustomerSegments endpoint.

Note: This release fixes a bug introduced on the April 22, 2020 release of the Square API.

Version 5.2.0.20200422 (2020-04-22)

API releases

  • Terminal API. The new Terminal API lets a custom third-party POS app integrate with the Square Terminal to send terminal checkout requests to collect payments.

  • Devices API. The new Devices API lets a custom third-party POS app generate a code used to sign in to a Square Terminal to create a pairing that lets the POS app send terminal checkout requests. For technical reference, see Devices API.

  • Customer Groups API (beta). The new Customer Groups API (Beta) enables full CRUD management of customer groups, including the ability to list, retrieve, create, update, and delete customer groups. Previously, this functionality was only available through the Square dashboard and point-of-sale product interfaces.

  • Customer Segments API (beta). The new Customer Segments API (Beta) lets you list and retrieve customer segment (also called smart groups) information. Coupled with the new segment_ids field on the customer resource, this API lets you better understand and track the customer segments to which a customer belongs.

  • New webhooks v2 Webhooks (beta) now supports webhooks for the following APIs:

    • Orders API. order.created, order.updated, and order.fulfillment.updated
    • Terminal API. terminal.checkout.created and terminal.checkout.updated
    • Devices API. device.code.paired

    For more information, see Subscribe to Events.

Existing API updates

  • Customers API

    • AddGroupToCustomer endpoint. Added to add customer memberships to a customer group.
    • RemoveGroupFromCustomer endpoint. Added to remove customer memberships from a customer group.
    • Customer object. Updated as follows:
      • group_ids field. Added to designate groups the customer is in.
      • segment_ids field. Added to designate segments the customer is in.
      • groups field. Deprecated to be replaced by group_ids and segment_ids. It remains supported for one year from this release.
    • CustomerQuery object's filter parameter. Updated as follows:
      • group_ids filter. Added to search for customers based on whether they belong to any, all, or none of the specified groups.
  • Orders API

    • OrderFulfillmentPickupDetails type updated to support curbside pickup:
      • is_curbside_pickup. This Boolean field indicates curbside pickup.
      • CurbsidePickupDetails. This type provides supporting information for curbside pickup, including a buyer description (for example, "buyer is in a red car") and a timestamp when the buyer arrived for the pickup.
  • OAuth API

    • RevokeToken endpoint. Added a new field called revoke_only_access_token. This field allows a client to revoke an access token but leave the parent authorization active.
    • ObtainToken endpoint. Added a new field called scopes. This field lets a client change the set of permissions for an access token when making a request to refresh the token.
  • Catalog API

    • CatalogQuickAmountsSettings type. Added to support predefined custom payment amounts in the Square Register checkout dialog box.
    • ENUMCatalogItemProductType. The ENUM value GIFT_CARD is now deprecated.
  • Payments API. See Take Payments and Collect Fees for updated information about permission requirements, Square reporting of the application fee collected by an app, and how to collect fees internationally.

Version 5.1.0.20200325 (2020-03-25)

Existing API updates

  • Payments API. In support of the existing [Delayed capture]](https://developer.squareup.com/docs/payments-api/take-payments) for payments, the following fields are added to the Payment type:
    • delay_duration. In a CreatePayment request, you can set autocomplete to false to get payment approval but not charge the payment source. You can now add this field to specify a time period to complete (or cancel) the payment. For more information, see [Delay capture]](https://developer.squareup.com/docs/payments-api/take-payments).
    • delay_action. Defines the action that Square takes on the payment when the delay_duration elapses. In this release, the API supports only the cancel payment action.
    • delayed_until. Provides the date and time on Square servers when Square applies delay_action on the payment.

Version 5.0.0.20200226 (2020-02-26)

API releases

  • GA release: All SDKs have been updated to support the new Bank Accounts and CashDrawerShifts APIs.

  • Beta release: All SDKs have been updated to support the new Disputes API.

Existing API updates

All SDKs have been updated to support the following changes:

  • Catalog API

    • Batch upsert catalog objects endpoint — The batches field is now required and the array must have at least one element.
    • CatalogModifier — Two fields added:
      • ordinal to support custom ordering in a modifier list
      • modifier_list_id to reference the parent modifier list
    • CatalogModifierList — New field added: ordinal to support custom ordering in a list of CatalogModifierList objects.
  • Customers API changes

    • SearchCustomers endpoint — limit size reduced from 1000 to 100 to improve the endpoint performance.
  • Orders API changes

    • CreateOrderRequest — Previously these request fields were deprecated: line_items, taxes, discounts. These fields are no longer available. Instead you now use the Order object in the request. For example, Order.line_items, Order.taxes, and Order.discounts.
    • OrderLineItem type — There are two changes:
      • The taxes field that was previously deprecated is no longer available. Instead, you now use the OrderLineItem.applied_taxes field. This also now requires that you set the OrderLineItemTax.scope field.
      • The discounts field that was previously deprecated is no longer available. Instead, you now use the OrderLineItem.applied_discounts field. This also now requires that you set the OrderLineItemDiscount.scope field.
  • Shared object updates

    • Card object — New fields added: card_type, prepaid_type. Currently, only the Payments API responses populate these fields.

Version 4.1.0.20200122 (2020-01-22)

  • New field: The Employee object now has an is_owner field.

  • New enumeration: The CardBrand enumeration has a new SQUARE_CAPITAL_CARD enum value to support a Square one-time Installments payment.

  • New request body field constraint: The Refund Payment request now requires a payment_id.

Version 4.0.0.20191217 (2019-12-17)

  • Square is excited to announce the public release of customized SDK for Java

  • GA release: SDKs updated to support new receipt_url and receipt_number fields added to the Payment type.

  • Beta release: SDKs updated to support the new CashDrawerShifts API.

  • Square now follows the semantic versioning scheme for all SDKs except PHP and Node.js. This versioning scheme uses three numbers to delineate MAJOR, MINOR, and PATCH versions of our SDK. In addition, the SDK version also includes the API version so you know what Square API version the SDK is related to. For more information, see Versioning and SDKs.

  • Java, .Net, Python, and Ruby SDKs are now version 4.0.0. Java and .Net SDKs have breaking changes in version 4.0.0. Ruby and Python do not have breaking changes.