PaymentPlanSession
Mutations
createPaymentPlanSessionAuthenticatedCreates a payment plan session used by the checkout process to create and authorize a payment plan.updatePaymentPlanSessionAuthenticatedUpdates a payment plan session used by the checkout process to create and authorize a payment plan.sendPaymentPlanSessionLinkAuthenticatedSends the payment plan session's link to the customer via the requested channel. The session must be Active. Fails when no recipient is available — either the contact lacks an email/phone for the chosen channel and no `to` override was provided.
Types
AmountA monetary amount with up to two decimal places. Ex. 111.11ContactContactIdvDocumentA captured identity document from a contact's Plaid documentary verification.ContactIdvDocumentImageA single captured image belonging to a ContactIdvDocument. Plaid-hosted and expiring.ContactIdvSessionDetailDetails of a contact's Plaid identity-verification session, fetched on demand from Plaid. The public graph exposes the timestamps, the captured selfie video, the captured identity documents, and the individual check outcomes; the remaining fields — including the raw Plaid pass-throughs they are derived from — are private-graph only.ContactIdvSessionStatusWhere a contact's verification stands. Mirrors the shared IdvSessionStatus but is declared separately so the contact graph's public surface does not depend on a type owned by the application module.CreatePaymentPlanSessionInputCurrencyThree letter ISO 4217 currency code. Ex. USDDateISO 8601 formatted date in the format YYYY-MM-DDDateTimeISO 8601 formatted date time. Ex. 2023-11-23T14:30:00ZEmailAn email addressGlobalAddressAddress of a physical locationIdvFacialComparisonStatusHow the captured selfie compared against the face on the captured identity document. NoInput means one of the two was never captured.IdvLivenessStatusWhether the captured selfie passed liveness detection — that a live person was present rather than a photograph or a screen.IdvMatchSummaryHow one value that the contact supplied compared against the data sources that Plaid checked it against. NoData means Plaid held nothing to compare with; NoInput means the contact supplied nothing to compare.OperationSuccessOperational return type representing success or failure with a message.PageInfoPageInfo type for cursor-based pagination following the Relay specification for cursor based pagination.PaymentMethodA payment instrument stored against a contact so it can be charged again without the customer re-entering it. A payment method is created by completing a payment session whose `storePaymentMethod` was not `Disabled`, and charged afterwards with `chargePaymentMethod`. Payment options that are unsuitable for storing are not offered during such a session — consumer financing such as FlexPay, for example, applies to a single purchase and cannot act as a method on file.PaymentMethodBankAccountBank account detail for a stored payment method whose type is BankAccount.PaymentMethodBankAccountTypeThe kind of bank account a stored payment method debits.PaymentMethodCardCard detail for a stored payment method whose type is Card.PaymentMethodCardFundingHow a stored card funds a payment, when the provider reports it.PaymentMethodConnectionA page of payment methods following the [Relay Connection spec](https://relay.dev/graphql/connections.htm). edges holds the payment methods in this page (each with its cursor) and pageInfo describes whether more pages exist in each direction plus the cursors that bound this page.PaymentMethodEdgeA single element of a PaymentMethodConnection page: the payment method itself (node) plus the opaque cursor that points at it. Pass a cursor back as `after` (forward) or `before` (backward) to page relative to this row.PaymentMethodsInputFilter and pagination for a payment methods connection. Pagination is Relay cursor-based, not page/offset based — see the [Relay Connections spec](https://relay.dev/graphql/connections.htm). Page forward with first + after, or backward with last + before; never mix the two directions in a single call. Cursors are opaque strings taken from a previous response's pageInfo (or edges[].cursor) — treat them as black boxes, don't build or parse them yourself.PaymentMethodStatusWhether a stored payment method can still be charged.PaymentMethodTypeThe kind of instrument a stored payment method holds.PaymentPlanFrequencyPaymentPlanSessionPaymentPlanSessionStatusPaymentProviderPaymentSessionLinkChannelChannel used to deliver a session link to the merchant's customer.PhoneE.164 formatted phone number. Ex. +14155554345RecurringProcessingModelHow a stored payment method may be used for a later payment, following the card networks' stored-credential framework. The model is declared when a method is stored and again on every payment made from it, and it decides how that later payment is treated for Strong Customer Authentication: a Subscription or UnscheduledCardOnFile charge is one you initiate and falls outside SCA, while a CardOnFile charge does not. What separates the two models you initiate is the schedule, not the amount. A run of payments on a fixed interval is a Subscription even when the amount differs every time.SendPaymentPlanSessionLinkInputUpdatePaymentPlanSessionInputURLA URL with protocol and port. ex. https://example.com