AlmondTill/G3N API

Payment

object type

A Payment — a PROCESSOR-backed payment (the integrated processing mode), spawned by a card Tender. Aligned to the deposit→recognition model: authorize = the hold = DEPOSIT at tender; capture = RECOGNIZED at delivery — POS carry-out collapses authorize+capture by ARRIVING at delivery in the same request (the settle instant delivers), never by skipping states. Record-first/processor-after: minted created BEFORE any processor call; the StripePort attempt fires post-commit; state flips ride the ACK/webhook path; 32 attempts bound each order (the Order.paymentIds cap). PCI-min: the PAN never touches AT/stack — the record holds the opaque tokenized methodRef + processor refs + at most brand/last4. The StripePort is FAKED at 7.7a (deterministic, keyless); the live adapter + webhook ingress are 7.7b.

Fields

FieldTypeNotes
idID ID!The record’s id — a UUID the platform assigned when the record was created; every reference to this record uses it.
sysIdString String!The group-scoped human-facing system id (PY-…).
typeString String!The kind of record — always Payment here.
captionString String!The record’s display name — what people see it called.
statusString String!The FSM state: created | authorized | captured | succeeded | failed | cancelled | voided.
parentIdID ID!The Order this payment settles; rootId = the org group; parentId!== rootId always.
rootIdID ID!The org-group family root.
createdAtString String!When the record was created, as a UTC timestamp.
updatedAtString String!When the record last changed, as a UTC timestamp.
revisionNumInt Int!How many times this record has been edited; the first save is 0.
revisionID ID!The OCC revision token — supply it on every mutation of this record; rotates on every write.
refCaptionsRefCaption [RefCaption!]!The server-composed captions of this record's declared references (the referenced-caption rule) — one row per referenced id; see RefCaption.
organizationIdID ID!The selling Organization (copied from the Order at mint — attribution).
amountMinorInt Int!The amount APPLIED toward the order balance in minor units (positive — the spawning tender appliedMinor twin).
tipMinorIntThe tip portion charged ON TOP of amountMinor.
currencyString String!The settlement currency — the order currency snapshot.
methodRefString String!The opaque tokenized payment method presented (Stripe pm_… class — NEVER a PAN; the raw-card shape refuses at the boundary).
tenderIdIDThe spawned Tender row — stamped WITH the authorize flip (present from authorized onward).
stripeAccountRefStringThe Connect account this payment routes DIRECT on (acct_…; stamped at MINT from the selling org when chargeable). Null = the platform account. Capture/cancel/refund thread THIS stamp — immutable payment history.
sagaIdIDThe orchestrating checkout Saga: its WaitForTaskToken owns the capture instant. Null = the inline capture lanes own this payment (the bulkhead).
intentRefIDThe processor PaymentIntent ref — stamped from the authorize ACK (present from authorized onward).
chargeRefIDThe processor charge ref — stamped from the capture ACK (present from captured onward).
brandStringThe card brand as the PROCESSOR reported it (PCI-min — never caller-typed).
last4StringThe last four digits as the PROCESSOR reported them.
declineReasonStringThe processor decline/failure reason (failed payments only).

Used by