Skip to main content

Square

Square for fancy-flow — as four imported, versioned packages, one per runtime. Not vendored source: a copy cannot be upgraded, and third-party APIs change.

Runtime Package Install
Authoring surface (every host) @particle-academy/square-ui npm install @particle-academy/square-ui
Node @particle-academy/square-js npm install @particle-academy/square-js
PHP 8.4+ particle-academy/square-php composer require particle-academy/square-php
Python 3.11+ fancy-square pip install fancy-square

The ui package is the editor surface and is React on every host — a PHP or Python project installs it and its own runtime package, and never the js one.

What it costs you

One dependency: @particle-academy/fancy-connector-core (or particle-academy/fancy-connector-core on Composer), which the js and php packages pull in themselves. The Python package has zero runtime dependencies.

No Square SDK. Plain HTTP, deliberately: a vendor SDK is third-party code subject to the kit's full approval bar, and one per provider is hundreds of dependencies nobody is tracking.

Setting it up

Everything below is generated from provider/manifest.json, so it cannot disagree with what the packages do.

Credentials

A Square connection holds 1 value.

Every value here is account scope: one per connected account, not one per installation.

Field Scope Secret Where it comes from
Access token per connected account secret From the Square developer dashboard. SANDBOX and PRODUCTION tokens are different values for different hosts -- a sandbox token is refused by the production host rather than accepted, which is the whole reason this provider's estates cannot be confused.

The estate

Square has a separate test host. Selecting sandbox mode changes the base URL.

The one sandbox kind that is genuinely a DIFFERENT PLACE. Stripe's estate is chosen by the key, Telegram's and HubSpot's by the account, SES's not at all -- Square's is another host, with its own data and its own credentials. A sandbox access token sent to the production host is refused rather than silently reaching the real ledger, which makes this the SAFEST of the four kinds and worth saying so: the failure mode is a 401, not a charge.

What it can do

Actions

payment_create — Take payment

Take a payment through Square.

POST /v2/payments · unsafe to replay — a retried durable run does it TWICE

Input Required What it is
sourceId yes A payment token from the Web Payments SDK, a saved card id, or CASH / EXTERNAL. Square calls it source_id.
amount yes In the currency's smallest unit — 1000 is $10.00. Square has no decimal amounts, exactly like Stripe.
currency no Three-letter ISO code. Square wants it UPPERCASE, where Stripe wants it lowercase — the same field, opposite conventions.
locationId no Which of the seller's locations the payment belongs to. Square scopes almost everything by location.
customerId no Customer
referenceId no Your own id for this payment. The usual way to find it again later.
note no Note

Run it before you have credentials

Every operation ships a faker, whether or not Square has a sandbox. Set a node's mode to fake and it returns the shape Square actually publishes — the same field names, deterministically — so you can wire the downstream nodes before touching an account, a key, or a network.

This repository is generated

provider/ is the source. Everything under packages/ is emitted from it and must not be hand-edited — CI regenerates and diffs on every push, and the next protocol sync destroys anything it finds. See AGENTS.md.

Two namespaces, which do not match on purpose

The repo is github.com/Fancy-Friends/square; the packages publish under particle-academy. Nothing derives one from the other — the names come from weaver's friends.json and nowhere else.

Licence

MIT.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fancy_square-0.3.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fancy_square-0.3.0-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file fancy_square-0.3.0.tar.gz.

File metadata

  • Download URL: fancy_square-0.3.0.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for fancy_square-0.3.0.tar.gz
Algorithm Hash digest
SHA256 cf8bb8e58352b8b972ca5fc039844f3dbf6069ff59c7012ba4d834c8e0cc629f
MD5 1ff077c5eb6cd4be7f1db60e6a368e5e
BLAKE2b-256 151f37d9bb5ef1f5bfd19dad327ca73300e6e63ca865c7521a137cb3dacdb73c

See more details on using hashes here.

File details

Details for the file fancy_square-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: fancy_square-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.15

File hashes

Hashes for fancy_square-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 366bd27b1ec0257c84c58b61e4ecb9f172c1f96ce8bb6b00ca0da66e14641268
MD5 74fc9cebec615716cb989ce8bb4c90f7
BLAKE2b-256 524eb48abd81fccbea7d6f850560f8862b13bdd18d89fd3cb3269fdf4045f33e

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.1

2 files

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page