Releases: square/square-java-sdk
Version 6.4.0.20200923 (2020-09-23)
Existing API updates
- Invoices API (beta)
- InvoiceStatus enum. Added the
PAYMENT_PENDINGvalue. Previously, the Invoices API returned aPAIDorPARTIALLY_PAIDstatus for invoices in a payment pending state. Now, the Invoices API returns aPAYMENT_PENDINGstatus for all invoices in a payment pending state, including those previously returned asPAIDorPARTIALLY_PAID.
- InvoiceStatus enum. Added the
- Payments API
- ListPayment. The endpoint now supports the
limitparameter.
- ListPayment. The endpoint now supports the
- Refunds API
- ListPaymentRefunds. The endpoint now supports the
limitparameter.
- ListPaymentRefunds. The endpoint now supports the
- DeviceDetails. The object now includes the
device_installation_idfield.
Documentation updates
- Payment status. Added details about the
Payment.statuschanges and how the status relates to the seller receiving the funds. - Refund status. Added details about the
PaymentRefund.statuschanges and how the status relates to the cardholder receiving the funds. - CreateRefund errors. Added documentation for the
REFUND_DECLINEDerror code.
Version 6.3.0.20200826 (2020-08-26)
Existing API updates
- Orders API
- Order object. The
total_tip_moneyfield is now GA. - CreateOrder, UpdateOrder, and BatchRetrieveOrders. These APIs now support merchant-scoped endpoints (for example, the
CreateOrderendpointPOST /v2/orders). The location-scoped variants of these endpoints (for example, theCreateOrderendpointPOST /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).
- Order object. The
- Labor API
- Migrate from Employees to Team Members. The Employees API is now deprecated in this release. Accordingly, update references to the
Shift.employee_idfield to theShift.team_member_idfield of the Labor API.
- Migrate from Employees to Team Members. The Employees API is now deprecated in this release. Accordingly, update references to the
- v2 Employees API (deprecated)
- Migrate from the Square Employees API. The v2 Employees API is now deprecated. This topic provides information to migrate to the Team API.
- v1 Employees API (deprecated)
- Migrate from the v1 Employees API. The v1 Employees API is now deprecated. This topic provides information to migrate to the Team API.
Documentation updates
- Point of Sale API
- Build on iOS. Corrected the Swift example code in step 7.
- 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.Errorsproperty was not set on instantiation. Behavior is now corrected to instantiate the class with an emptyErrorslist.
Version 6.2.0.20200812 (2020-08-12)
API releases
- Subscriptions API (beta):
- For an overview, see Square Subscriptions.
- For technical reference, see Subscriptions API.
Existing API updates
- Catalog API
- CatalogSubscriptionPlan (beta). This catalog type is added in support of the Subscriptions API. Subscription plans are stored as catalog object of the
SUBSCRIPTION_PLANtype. For more information, see Set Up and Manage a Subscription Plan.
- CatalogSubscriptionPlan (beta). This catalog type is added in support of the Subscriptions API. Subscription plans are stored as catalog object of the
SqPaymentForm SDK updates
- SqPaymentForm.masterpassImageURL. This function is updated to return a Secure Remote Commerce background image URL.
Documentation updates
- Locations API
- About the main location. Added clarifying information about the main location concept.
- OAuth API
- Migrate to the Square API OAuth Flow. Added a new topic to document migration from a v1 location-scoped OAuth access token to the Square seller-scoped OAuth access token.
- Payment Form SDK
- Renamed the Add a Masterpass Button topic to Add a Secure Remote Commerce Button. Updated the instructions to add a Secure Remote Commerce button to replace a legacy Masterpass button.
- Payment form technical reference. Updated the reference to show code examples for adding a Secure Remote Commerce button.
Version 6.1.0.20200722 (2020-07-22)
API releases
- Invoices API (beta):
- For an overview, see Manage Invoices Using the Invoices API.
- For technical reference, see Invoices API.
Existing API updates
-
Catalog API
- SearchCatalogItems. You can now call the new search endpoint to search for catalog items or item variations, with simplified programming experiences, using one or more of the supported query filters, including the custom attribute value filter.
-
Locations API
- Locations API Overview. Introduced the "main" location concept.
- RetrieveLocation. You can now specify "main" as the location ID to retrieve the main location information.
-
Merchants API
- RetrieveMerchant and ListMerchants. These endpoints now return a new field,
main_location_id.
- RetrieveMerchant and ListMerchants. These endpoints now return a new field,
-
Orders API
- PricingOptions. You can now enable the
auto_apply_discountsof the options to have rule-based discounts automatically applied to an Order that is pre-configured with a pricing rule.
- PricingOptions. You can now enable the
-
- 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
TerminalCheckoutCancelReasonfield is renamed toActionCancelReason.
- TerminalCheckout object. The
Documentation updates
-
Catalog API
- Search a catalog. New topics added to provide actionable guides to using the existing SearchCatalogObjects endpoint, in addition to the SearchCatalogItems endpoints.
-
Orders API
- Create Orders. Updated existing content with the new pricing option for the automatic application of rule-based discounts.
Version 6.0.0.20200625 (2020-06-25)
New API release
- Team API generally available (GA)
- For an overview, see Team API Overview.
- For technical reference, see Team API.
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
- The CardPaymentDetails type now supports a new field, refund_requires_card_presence. When set to true, the payment card must be physically present to refund a payment.
Version 5.3.0.20200528 (2020-05-28)
API releases
- Loyalty API (beta):
- For an overview, see Loyalty Program Overview.
- For technical reference, see Loyalty API.
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.rewardsrepresents rewards added to an order by calling the CreateLoyaltyReward endpoint.Order.discount.reward_idsindicates that a discount is the result of the specified rewards that were added to an order using theCreateLoyaltyRewardendpoint.
-
Customers API
-
The Search Customers endpoint supports search by email address, phone number, and reference ID with the following additional query filters:
-
The
email_addressquery filter (beta) supports an exact or fuzzy search for customer profiles by their email addresses. -
The
phone_numberquery filter (beta) supports an exact or fuzzy search for customer profiles by their phone numbers. -
The
reference_idquery filter (beta) supports an exact or fuzzy search for customer profiles by their reference IDs.
-
-
The
created_at,updated_at, andidattributes 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 aCustomerobject. You might need to update the dependent SDKs to the latest version to mediate breaking your existing code.
-
Square Webhooks
-
Square Webhooks (formerly v2 Webhooks). The status is changed from beta to general availability (GA).
-
v1 Webhooks. The v1 Inventory and Timecards webooks are now deprecated and replaced by inventory.count.updated and labor.shift.updated.
Version 5.2.2.20200422 (2020-04-25)
Existing API updates
- OAuth API
- Obtain Token endpoint: Removed the
scopesproperty from the request body.
- Obtain Token endpoint: Removed the
Version 5.2.1.20200422 (2020-04-22)
API releases
- Customer Segments API (beta).
limitfield 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.
- For an overview, see Overview.
- For technical reference, see Terminal API.
-
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.
- For an overview, see Overview
- For technical reference, see Customer Groups.
-
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_idsfield on the customer resource, this API lets you better understand and track the customer segments to which a customer belongs.- For an overview, see Overview
- For technical reference, see Customer Segments.
-
New webhooks. v2 Webhooks (beta) now supports webhooks for the following APIs:
- Orders API.
order.created,order.updated, andorder.fulfillment.updated - Terminal API.
terminal.checkout.createdandterminal.checkout.updated - Devices API.
device.code.paired
For more information, see Subscribe to Events.
- Orders API.
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_idsfield. Added to designate groups the customer is in.segment_idsfield. Added to designate segments the customer is in.groupsfield. Deprecated to be replaced bygroup_idsandsegment_ids. It remains supported for one year from this release.
- CustomerQuery object's
filterparameter. Updated as follows:group_idsfilter. 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.
- OrderFulfillmentPickupDetails type updated to support curbside 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.
- ENUM
CatalogItemProductType. The ENUM valueGIFT_CARDis 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 for payments, the following fields are added to the Payment type:
delay_duration. In a CreatePayment request, you can setautocompleteto 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.delay_action. Defines the action that Square takes on the payment when thedelay_durationelapses. In this release, the API supports only the cancel payment action.delayed_until. Provides the date and time on Square servers when Square appliesdelay_actionon the payment.