Square Python SDK

44.0.1.20260122 · active · verified Wed Mar 25

Official Square payments Python SDK. Current version: 44.0.1 (Mar 2026). VERSIONING QUIRK: squareup uses date-based versions (44.0.1.20260122) — major version tracks Square API version. Releases every ~4-6 weeks. Install is 'squareup', import is 'square'. Square uses idempotency_key for all payment creation — required, not optional. Amount in smallest currency unit (cents for USD). Test environment uses sandbox credentials with 'sandbox-' prefix.

Warnings

Install

Imports

Quickstart

Square Python SDK — create payment with test nonce.

# pip install squareup
import square
import uuid

client = square.Client(
    access_token='EAAAl...',  # sandbox token from developer.squareup.com
    environment='sandbox'
)

# Create payment
result = client.payments.create_payment({
    'source_id': 'cnon:card-nonce-ok',  # test nonce
    'idempotency_key': str(uuid.uuid4()),
    'amount_money': {
        'amount': 100,   # cents
        'currency': 'USD'
    },
    'note': 'Test payment'
})

if result.is_success():
    payment = result.body['payment']
    print(f'Payment {payment["id"]}: {payment["status"]}')
elif result.is_error():
    for error in result.errors:
        print(f'Error {error["code"]}: {error["detail"]}')

view raw JSON →