Releases: square/square-python-sdk
Version 17.0.0.20211215
Version 17.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 newpayment_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
andRetrieveInvoice
requests for all Square versions.
-
-
Cards API
- Added the
CARD_DECLINED_VERIFICATION_REQUIRED
error code to the list of error codes returned by CreateCard.
- Added the
-
Catalog API:
-
CreateCatalogImage endpoint
- Updated to support attaching multiple images to a Catalogbject instance.
- Added
is_primary
option to let the caller choose to attach an image as the primary image on the object for display with the Square Point of Sale and other first-party Square applications. For more information, see Upload and Attach Images.
-
CatalogObject object
- Retired the
image_id
field, used to hold a single image object attached to an image-supporting object of theITEM
,ITEM_VARIATION
,CATEGORY
, orMODIFIER_LIST
type, in Square API version 2021-12-15 and later, which supports attachment of multiple images. Theimage_id
field is still supported in Square API version prior to 2021-12-15. For more information, see Work with Images: Overview.
- Retired the
-
CatalogItem, CatalogItemVariation, CatalogCategory or CatalogModifierList object
- Added
image_ids
list to hold attached image objects. The first element ofimage_ids
list refers to the primary image attached to the catalog object. For more information, see Work with Images: Overview.
- Added
-
UpdateCatalogImage endpoint
- Added to support replacing the image file encapsulated by an existing CatalogImage object. For more information, see Replace image file on a CatalogImage object.
-
CatalogPricingRule object
- Added minimum_order_subtotal_money field to require that the minimum order subtotal be reached before the pricing rule may be applied.
-
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
Version 16.0.0.20211117
Version 16.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 thedata.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. Includeactions
in the request to return all actions associated with the subscriptions.
- The new PauseSubscription endpoint supports temporarily pausing a subscription. Calling this endpoint schedules a new
Documentation Update
-
Migration Guides.
- Migrate from the Connect V1 Refunds API. The topic is updated to include information to migrate from the v1 ListRefunds endpoint to the appropriate Square API counterparts.
- Migrate from the Connect V1 Payments API. The topic provides developers information to migrate from the Connect V1 Payments API to the appropriate Square API counterparts.
Code that relies on these V1 API endpoints must be updated to avoid breaking when these APIs reach
Version 15.0.0.20211020
Version 15.0.0.20211020 (2021-10-20)
API updates
-
Transactions API. Three previously deprecated endpoints (
ListRefunds
,Charge
, andCreateRefund
) 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.
- Instead of the Transactions API
-
Payments API:
- Payment object.
-
Added the device_details read-only field to view details of the device used to take a payment. This
Payment
-level field provides device information for all types of payments. Previously, device details were only available for card payments (Payment.card_details.device_details
), which is now deprecated. -
Added the team_member_id that applications can use to view the ID of the TeamMember associated with the payment. Use this field instead of the
Payment.employee_id
field, which is now deprecated. -
Added the application_details read-only field to view details of the application that took the payment.
-
These
Payment
fields have moved to the general availability (GA) state:tip_money, delay_duration, statement_description_identifier, delay_duration, delay_action, delayed_until, and statement_description_identifier. -
The ACH Bank Transfer Payments feature has moved to the GA state. Accordingly, the bank_account_details field (and its BankAccountPaymentDetails type) are moved to the GA state.
-
- CreatePayment endpoint.
- Added the team_member_id request field to record the ID of the team member associated with the payment.
- The accept_partial_authorization request field has moved to the GA state.
- CompletePayment endpoint. Added the
version_token
request field to support optimistic concurrency. For more information, see Delayed capture of a card payment.
- Payment object.
-
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.
- Added the
- RefundPayment endpoint.
-
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 a200 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.
- InvoiceRecipient object. Added a new, read-only
-
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 theOrder.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
- The new SubscriptionSource data type is introduced to encapsulate the source where a subscription is created. The new
Version 14.1.1.20210915
Version 14.1.1.20210915 (2021-09-15)
SDK updates
- Upgraded josnpick
Version 14.1.0.20210915
Version 14.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.
- Invoice object. Added a new, optional
-
Orders API:
- CreateOrder. The endpoint now supports creating temporary, draft orders. For more information, see Create a draft order.
- CloneOrder. The Orders API supports this new endpoint to clone an existing order. For more information, see Clone an order.
- These fields have moved to the general availability (GA) state: OrderLineItem.item_type, OrderServiceCharge.type, and
catalog_version
field on every order type that contains this field.
-
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.
- SearchTeamMembersFilter object now has an
-
Terminal API:
- TerminalCheckout object. The
customer_id
field is now GA.
- TerminalCheckout object. The
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 14.0.0.20210915
Version 14.0.0.20210915 (2021-09-15)
This version was released with stale data from v13.1.0.20210818 and is an invalid release.
We advise you to upgrade to v14.1.0.20210915 to get all the API updates.
Version 13.1.0.20210818
Version 13.1.0.20210818 (2021-08-18)
API updates
-
Customers API:
- Customer object. The
version
field has moved to the general availability (GA) state. This field represents the current version of the customer profile and enables optimistic concurrency control. For more information, see Customer profile versions and optimistic concurrency support. - ListCustomers endpoint. The new, optional
limit
query parameter can be used to specify the maximum number of results in a paginated response.
- Customer object. The
-
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.
- ListCustomerGroups endpoint. The new, optional
-
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.
- ListCustomerSegments endpoint. The new, optional
-
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:
- LoyaltyAccount object. Added a new
expiring_point_deadlines
field that specifies when points in the account balance are scheduled to expire. This field contains a list of LoyaltyAccountExpiringPointDeadline objects. For more information, see Expiring points.
- LoyaltyAccount object. Added a new
Documentation updates
-
App Marketplace. Added the following topics:
- How to apply. Documented the process to list an application on the Square App Marketplace.
- App Marketplace API Usage Requirements. Added a topic that describes a set of API usage requirements and recommendations for partner applications.
-
Automatic communications from Square about invoices. Documented the invoice-related communications sent from Square to customers and sellers.
-
Snippets best practices. Documented best practices and additional requirements for snippets and applications that integrate with the S
Version 13.0.0.20210721
Version 13.0.0.20210721 (2021-07-21)
SDK updates
- The Square Python SDK now requires Python 3.7 or later, if Python 3 is used. With Python 2, the minimum version remains at 2.7.
API updates
-
Orders API:
-
OrderServiceCharge object. Added a new field,
type
. It identifies the service charge type. -
OrderQuantityUnit,
OrderLineItem,
OrderLineItemDiscount,
OrderLineItemModifier,
OrderLineItemTax,
OrderServiceCharge,
OrderReturnLineItem,
OrderReturnLineItemModifier,
OrderReturnServiceCharge,
OrderReturnTax, and
OrderReturnDiscount objects. Added a new field,catalog_version
.
-
-
Locations API:
- Location object. Added a new field
tax_ids
of typeTaxIds
. In the current implementation, sellers in Ireland and France can configure tax IDs during the onboarding process. They can also provide the information later by updating the location information in the Seller Dashboard. These tax IDs appear in this field.
- Location object. Added a new field
-
Loyalty API:
- As of July 15, 2021, the country in which the seller’s Square account is activated determines whether Square uses pretax or post-tax purchase amounts to calculate accrued points. This change supports consumption tax models, such as value-added tax (VAT). Previously, point accrual was based on pretax purchase amounts only. This change does not affect the existing point balance of loyalty accounts. For more information, see Availability of Square Loyalty.
-
Payments API:
- UpdatePayment. The endpoint has moved to the general availability (GA) state. Also, you can now update gift card payments (similar to card, cash, and external payments).
-
Subscriptions API:
- The Subscriptions API has moved to the general availability (GA) state.
- CatalogSubscriptionPlan object. The
name
andprice
are now write-once fields. You specify these values at the time of creating a plan. After the plan is created, these fields cannot be updated. This makes a subscription plan immutable.
-
Inventory API:
- RetrieveInventoryTransfer. This new endpoint is introduced to support the retrieval of inventory transfer.
- RetrieveInventoryChanges. This endpoint is deprecated. Its support ends when it is retired in about 12 months.
- The following endpoints have updated URLs to conform to the standard REST API convention. For more information about migrating deprecated URLs to updated URLs in your application, see Inventory API: Migrate to Updated API Entities.
Documentation updates
- Webhooks. Revised the steps and descriptions for creating and using webhooks. For more information, see [Webhooks Overview.](https://developer.squareup.com/docs/webhook
Version 12.0.0.20210616
Version 12.0.0.20210616 (2021-06-16)
New API releases
-
Gift Cards API and Gift Card Activities API. Gift card support is integrated in the Square Seller Dashboard and the Square Point of Sale application. Sellers can sell, redeem, track, and reload Square gift cards. Now developers can use the Gift Cards API and the Gift Card Activities API to integrate Square gift cards into third-party applications. For more information, see Gift Cards API Overview.
-
Cards API. The Cards API replaces the deprecated
CreateCustomerCard
andDeleteCustomerCard
endpoints and lets an application save a customer payment card on file along with other card management operations. For more information, see Cards API Overview.
API updates
-
Catalog API:
- CatalogPricingRule. Support of the customer group discount becomes GA. For more information, see CreateCustomerGroupDiscounts.
- CatalogItemVariation. Offers Beta support of the stockable and stockable_conversion attributes to enable sales of a product in multiple measurement units.
- UpsertCatalogObject and BatchUpsertCatalogObjects. Support creating an item with stockable and non-stockable variations with a specified stock conversion between the two. For more information, see Enable Stock Conversion.
- UpsertCatalogObject and BatchUpsertCatalogObjects. Require that an item be created with at least one variation. Otherwise, an
INVALID_REQUEST
error is returned.
-
Customers API:
- Using the Customers API to manage cards on file is deprecated:
-
The CreateCustomerCard endpoint is deprecated and replaced by the CreateCard and LinkCustomerToGiftCard endpoints.
-
The DeleteCustomerCard endpoint is deprecated and replaced by the DisableCard and UnlinkCustomerFromGiftCard endpoints.
-
The
cards
field in the Customer object is deprecated and replaced by the following endpoints:- ListCards to retrieve credit and debit cards on file.
- ListGiftCards to retrieve gift cards on file.
For more information, see Migrate to the Cards API and Gift Cards API.
-
Customer object. In the
cards
field, the IDs for gift cards now have agftc:
prefix followed by the card number. This is a service-level change that applies to all Square API versions.
-
- Using the Customers API to manage cards on file is deprecated:
-
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
andDISPUTES_WRITE
permissions are required for all Disputes API endpoints instead ofPAYMENTS_READ
andPAYMENTS_WRITE
.- DisputeEvidence. The
evidence_id
field is deprecated and replaced by theid
field. - The
dispute.state.changed
webhook is renamed todispute.state.updated
. - Dispute object. The following breaking changes are made:
- The
dispute_id
field is deprecated and replaced by theid
field. - The
reported_date
field is deprecated and replaced by thereported_at
field. - The
evidence_ids
field is deprecated with no replacement.
- The
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.
- CreateInvoice. The
-
Loyalty API:
- LoyaltyProgramAccrualRule object. New
excluded_category_ids
andexcluded_item_variation_ids
fields that represent any categories and items that are excluded from accruing points in spend-based loyalty programs.
- LoyaltyProgramAccrualRule object. New
-
Subscriptions API:
-
Subscription. The
paid_until_date
field is renamed tocharge_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, eachCreateSubscription
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
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.
- CreatePayment. The endpoint now supports ACH bank transfer payments. For more information, see ACH Payment.
-
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 bymapping
. -
LoyaltyAccountMapping object. The
type
andvalue
fields are retired and replaced byphone_number
.Starting in Square version 2021-05-13:
mappings
is not accepted inCreateLoyaltyAccount
requests or returned in responses.type
andvalue
are not accepted inCreateLoyaltyAccount
orSearchLoyaltyAccounts
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