@vtex/faststore 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/dist/actions.json +181 -0
- package/dist/catalog.json +1543 -495
- package/dist/client.d.ts +2 -1
- package/dist/client.js +2 -1
- package/dist/components.d.ts +28 -7
- package/dist/components.js +31 -12
- package/dist/docs/access-code-sign-in.md +1 -1
- package/dist/docs/address-summary.md +24 -3
- package/dist/docs/alert-dialog.md +204 -0
- package/dist/docs/billing-address.md +284 -0
- package/dist/docs/card-entry.md +250 -0
- package/dist/docs/cardholder-document.md +142 -0
- package/dist/docs/client-preferences-fieldset.md +148 -0
- package/dist/docs/client-preferences.md +2 -1
- package/dist/docs/client-profile-fieldset.md +184 -0
- package/dist/docs/client-profile.md +1 -1
- package/dist/docs/document-field.md +58 -4
- package/dist/docs/field.md +317 -0
- package/dist/docs/form.md +307 -0
- package/dist/docs/identity-edit.md +6 -6
- package/dist/docs/identity-summary.md +5 -5
- package/dist/docs/installments.md +248 -0
- package/dist/docs/my-account-profile.md +1 -0
- package/dist/docs/order-placed-payment-summary.md +138 -0
- package/dist/docs/payment-method-badges.md +232 -0
- package/dist/docs/payment-methods.md +1 -0
- package/dist/docs/payment.md +218 -0
- package/dist/docs/phone-field.md +58 -4
- package/dist/docs/place-order.md +157 -0
- package/dist/docs/save-card.md +186 -0
- package/dist/docs/saved-cards.md +218 -0
- package/dist/docs/select.md +465 -0
- package/dist/docs/shipping-address.md +110 -258
- package/dist/index.d.ts +4 -1
- package/dist/internal/client.d.ts +3 -1
- package/dist/internal/client.js +3 -1
- package/dist/matter/access-code-sign-in/access-code-sign-in.js +9 -8
- package/dist/matter/access-code-sign-in/access-code-sign-in.js.map +1 -1
- package/dist/matter/billing-address/billing-address.d.ts +165 -0
- package/dist/matter/billing-address/billing-address.js +408 -0
- package/dist/matter/billing-address/billing-address.js.map +1 -0
- package/dist/matter/card-entry/card-capture.d.ts +25 -0
- package/dist/matter/card-entry/card-capture.js +25 -0
- package/dist/matter/card-entry/card-capture.js.map +1 -0
- package/dist/matter/card-entry/card-entry.d.ts +120 -0
- package/dist/matter/card-entry/card-entry.js +832 -0
- package/dist/matter/card-entry/card-entry.js.map +1 -0
- package/dist/matter/cardholder-document/cardholder-document.d.ts +45 -0
- package/dist/matter/cardholder-document/cardholder-document.js +70 -0
- package/dist/matter/cardholder-document/cardholder-document.js.map +1 -0
- package/dist/matter/client-preferences/client-preferences-fieldset.d.ts +77 -0
- package/dist/matter/client-preferences/client-preferences-fieldset.js +299 -0
- package/dist/matter/client-preferences/client-preferences-fieldset.js.map +1 -0
- package/dist/matter/client-preferences/client-preferences.d.ts +3 -5
- package/dist/matter/client-preferences/client-preferences.js +6 -6
- package/dist/matter/client-preferences/client-preferences.js.map +1 -1
- package/dist/matter/client-profile/client-profile.d.ts +4 -6
- package/dist/matter/client-profile/client-profile.js +9 -6
- package/dist/matter/client-profile/client-profile.js.map +1 -1
- package/dist/matter/client-profile-form/client-profile-fieldset.d.ts +119 -0
- package/dist/matter/client-profile-form/client-profile-fieldset.js +488 -0
- package/dist/matter/client-profile-form/client-profile-fieldset.js.map +1 -0
- package/dist/matter/identity-edit/identity-edit.js +2 -2
- package/dist/matter/identity-edit/identity-edit.js.map +1 -1
- package/dist/matter/identity-summary/identity-summary.js +2 -2
- package/dist/matter/identity-summary/identity-summary.js.map +1 -1
- package/dist/matter/installments/installments-select.d.ts +42 -0
- package/dist/matter/installments/installments-select.js +167 -0
- package/dist/matter/installments/installments-select.js.map +1 -0
- package/dist/matter/installments/installments.d.ts +58 -0
- package/dist/matter/installments/installments.js +176 -0
- package/dist/matter/installments/installments.js.map +1 -0
- package/dist/matter/installments/use-installments-selection.d.ts +29 -0
- package/dist/matter/installments/use-installments-selection.js +95 -0
- package/dist/matter/installments/use-installments-selection.js.map +1 -0
- package/dist/matter/my-account-profile/my-account-profile.js +4 -4
- package/dist/matter/my-account-profile/my-account-profile.js.map +1 -1
- package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.d.ts +63 -0
- package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js +305 -0
- package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js.map +1 -0
- package/dist/matter/payment/payment-card-capture.d.ts +19 -0
- package/dist/matter/payment/payment-card-capture.js +129 -0
- package/dist/matter/payment/payment-card-capture.js.map +1 -0
- package/dist/matter/payment/payment-controller.d.ts +24 -0
- package/dist/matter/payment/payment-controller.js +107 -0
- package/dist/matter/payment/payment-controller.js.map +1 -0
- package/dist/matter/payment/payment-method-badges.d.ts +57 -0
- package/dist/matter/payment/payment-method-badges.js +192 -0
- package/dist/matter/payment/payment-method-badges.js.map +1 -0
- package/dist/matter/payment/payment.d.ts +89 -0
- package/dist/matter/payment/payment.js +263 -0
- package/dist/matter/payment/payment.js.map +1 -0
- package/dist/matter/payment/use-payment-method-selection.d.ts +302 -0
- package/dist/matter/payment/use-payment-method-selection.js +458 -0
- package/dist/matter/payment/use-payment-method-selection.js.map +1 -0
- package/dist/matter/payment/use-payment-submit-gate.d.ts +111 -0
- package/dist/matter/payment/use-payment-submit-gate.js +144 -0
- package/dist/matter/payment/use-payment-submit-gate.js.map +1 -0
- package/dist/matter/place-order/place-order.d.ts +74 -0
- package/dist/matter/place-order/place-order.js +379 -0
- package/dist/matter/place-order/place-order.js.map +1 -0
- package/dist/matter/product-list/product-list.d.ts +1 -0
- package/dist/matter/product-list/product-list.js.map +1 -1
- package/dist/matter/product-shelf/product-shelf.d.ts +1 -0
- package/dist/matter/product-shelf/product-shelf.js +2 -0
- package/dist/matter/product-shelf/product-shelf.js.map +1 -1
- package/dist/matter/region/region.js +1 -1
- package/dist/matter/region/region.js.map +1 -1
- package/dist/matter/save-card/save-card.d.ts +49 -0
- package/dist/matter/save-card/save-card.js +188 -0
- package/dist/matter/save-card/save-card.js.map +1 -0
- package/dist/matter/saved-cards/saved-cards.d.ts +79 -0
- package/dist/matter/saved-cards/saved-cards.js +387 -0
- package/dist/matter/saved-cards/saved-cards.js.map +1 -0
- package/dist/matter/shipping-address/country-descriptors.js +20 -10
- package/dist/matter/shipping-address/country-descriptors.js.map +1 -1
- package/dist/matter/shipping-address/shipping-address.d.ts +113 -174
- package/dist/matter/shipping-address/shipping-address.js +480 -791
- package/dist/matter/shipping-address/shipping-address.js.map +1 -1
- package/dist/matter/variant-selector/variant-selector.js +1 -1
- package/dist/particles/address-summary/address-summary.d.ts +24 -0
- package/dist/particles/address-summary/address-summary.js +83 -2
- package/dist/particles/address-summary/address-summary.js.map +1 -1
- package/dist/particles/alert-dialog/alert-dialog.d.ts +68 -0
- package/dist/particles/alert-dialog/alert-dialog.js +187 -0
- package/dist/particles/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/particles/checkbox/checkbox.d.ts +7 -3
- package/dist/particles/checkbox/checkbox.js +4 -1
- package/dist/particles/checkbox/checkbox.js.map +1 -1
- package/dist/particles/document-field/document-field.d.ts +48 -5
- package/dist/particles/document-field/document-field.js +189 -32
- package/dist/particles/document-field/document-field.js.map +1 -1
- package/dist/particles/field/bound-field-registry.js +52 -0
- package/dist/particles/field/bound-field-registry.js.map +1 -0
- package/dist/particles/field/field.d.ts +116 -0
- package/dist/particles/field/field.js +497 -6
- package/dist/particles/field/field.js.map +1 -1
- package/dist/particles/fieldset/fieldset.js +2 -2
- package/dist/particles/fieldset/fieldset.js.map +1 -1
- package/dist/particles/form/form.d.ts +104 -0
- package/dist/particles/form/form.js +485 -0
- package/dist/particles/form/form.js.map +1 -0
- package/dist/particles/phone-field/phone-field.d.ts +38 -10
- package/dist/particles/phone-field/phone-field.js +183 -39
- package/dist/particles/phone-field/phone-field.js.map +1 -1
- package/dist/particles/postal-code-field/postal-code-field.js +2 -2
- package/dist/particles/postal-code-field/postal-code-field.js.map +1 -1
- package/dist/particles/select/field-select.d.ts +43 -0
- package/dist/particles/select/field-select.js +150 -0
- package/dist/particles/select/field-select.js.map +1 -0
- package/dist/particles/select/select.d.ts +2 -0
- package/dist/particles/select/select.js.map +1 -1
- package/dist/particles/shared/compose-refs.js +21 -0
- package/dist/particles/shared/compose-refs.js.map +1 -0
- package/dist/schema.graphql +701 -2
- package/dist/sdk/actions/analytics-action-provider.d.ts +15 -0
- package/dist/sdk/actions/analytics-action-provider.js +19 -0
- package/dist/sdk/actions/analytics-action-provider.js.map +1 -0
- package/dist/sdk/actions/index.d.ts +3 -1
- package/dist/sdk/actions/index.js +3 -1
- package/dist/sdk/actions/payment-action-provider.d.ts +22 -0
- package/dist/sdk/actions/payment-action-provider.js +26 -0
- package/dist/sdk/actions/payment-action-provider.js.map +1 -0
- package/dist/sdk/actions/types.d.ts +6 -2
- package/dist/sdk/analytics/analytics-destination.d.ts +43 -0
- package/dist/sdk/analytics/analytics-destination.js +90 -0
- package/dist/sdk/analytics/analytics-destination.js.map +1 -0
- package/dist/sdk/analytics/use-analytics-actions.d.ts +57 -0
- package/dist/sdk/analytics/use-analytics-actions.js +108 -0
- package/dist/sdk/analytics/use-analytics-actions.js.map +1 -0
- package/dist/sdk/cart/use-cart-actions.js +1 -1
- package/dist/sdk/data/entity-resolution-context.js +31 -0
- package/dist/sdk/data/entity-resolution-context.js.map +1 -0
- package/dist/sdk/data/entity-subscriber.js +18 -8
- package/dist/sdk/data/entity-subscriber.js.map +1 -1
- package/dist/sdk/data/index.js +1 -0
- package/dist/sdk/data/page-reactive-data-root.d.ts +36 -0
- package/dist/sdk/data/page-reactive-data-root.js +4 -2
- package/dist/sdk/data/page-reactive-data-root.js.map +1 -1
- package/dist/sdk/data/reactive-data-provider.js +7 -3
- package/dist/sdk/data/reactive-data-provider.js.map +1 -1
- package/dist/sdk/data/reactive-list-item-data-provider.js +12 -4
- package/dist/sdk/data/reactive-list-item-data-provider.js.map +1 -1
- package/dist/sdk/data/use-reactive-data-settled.js +39 -0
- package/dist/sdk/data/use-reactive-data-settled.js.map +1 -0
- package/dist/sdk/data/use-reactive-entity.js +5 -1
- package/dist/sdk/data/use-reactive-entity.js.map +1 -1
- package/dist/sdk/generated/fragment-types.js +2 -0
- package/dist/sdk/generated/fragment-types.js.map +1 -1
- package/dist/sdk/generated/graphql.js.map +1 -1
- package/dist/sdk/i18n/messages/en-US.js +3 -0
- package/dist/sdk/i18n/messages/en-US.json +3 -0
- package/dist/sdk/i18n/messages/en-US.json.d.ts +3 -0
- package/dist/sdk/i18n/messages/es-ES.js +3 -0
- package/dist/sdk/i18n/messages/es-ES.json +3 -0
- package/dist/sdk/i18n/messages/pt-BR.js +3 -0
- package/dist/sdk/i18n/messages/pt-BR.json +3 -0
- package/dist/sdk/identity/use-identity-actions.js +3 -2
- package/dist/sdk/identity/use-identity-actions.js.map +1 -1
- package/dist/sdk/payment/gateway-origin.js +35 -0
- package/dist/sdk/payment/gateway-origin.js.map +1 -0
- package/dist/sdk/payment/gateway.d.ts +85 -0
- package/dist/sdk/payment/gateway.js +183 -0
- package/dist/sdk/payment/gateway.js.map +1 -0
- package/dist/sdk/payment/operations.d.ts +52 -0
- package/dist/sdk/payment/operations.js +223 -0
- package/dist/sdk/payment/operations.js.map +1 -0
- package/dist/sdk/payment/security-code-mask.js +71 -0
- package/dist/sdk/payment/security-code-mask.js.map +1 -0
- package/dist/sdk/payment/submission-registry.d.ts +33 -0
- package/dist/sdk/payment/submission-registry.js +58 -0
- package/dist/sdk/payment/submission-registry.js.map +1 -0
- package/dist/sdk/payment/use-payment-actions.d.ts +78 -0
- package/dist/sdk/payment/use-payment-actions.js +276 -0
- package/dist/sdk/payment/use-payment-actions.js.map +1 -0
- package/dist/sdk/payment/use-place-order.d.ts +65 -0
- package/dist/sdk/payment/use-place-order.js +640 -0
- package/dist/sdk/payment/use-place-order.js.map +1 -0
- package/dist/sdk/shipping/use-shipping-actions.js +1 -1
- package/dist/utils/loggable-error-name.js +49 -0
- package/dist/utils/loggable-error-name.js.map +1 -0
- package/dist/utils/resolve-authored-copy.js +18 -0
- package/dist/utils/resolve-authored-copy.js.map +1 -0
- package/dist/utils/substitute-template.js +33 -0
- package/dist/utils/substitute-template.js.map +1 -0
- package/package.json +2 -1
- package/src/styles/tailwind.css +34 -0
- package/dist/docs/client-profile-form.md +0 -192
- package/dist/matter/client-profile-form/client-profile-form.d.ts +0 -126
- package/dist/matter/client-profile-form/client-profile-form.js +0 -662
- package/dist/matter/client-profile-form/client-profile-form.js.map +0 -1
package/dist/schema.graphql
CHANGED
|
@@ -241,6 +241,14 @@ extend type Query {
|
|
|
241
241
|
"""Maximum number of recommendations."""
|
|
242
242
|
first: Int = 10
|
|
243
243
|
): [Product!]!
|
|
244
|
+
"""
|
|
245
|
+
Resolves a catalog route by ID or by path and returns its confirmed localized equivalents.
|
|
246
|
+
Null when the route does not exist or the catalog could not be reached.
|
|
247
|
+
"""
|
|
248
|
+
catalogRoute(
|
|
249
|
+
"""The route to resolve, by ID or by path."""
|
|
250
|
+
input: CatalogRouteInput!
|
|
251
|
+
): CatalogRoute
|
|
244
252
|
"""Look up a single category by global ID."""
|
|
245
253
|
category(
|
|
246
254
|
"""Global category ID."""
|
|
@@ -373,6 +381,28 @@ extend type Query {
|
|
|
373
381
|
session: Session!
|
|
374
382
|
}
|
|
375
383
|
|
|
384
|
+
extend type Query {
|
|
385
|
+
"""
|
|
386
|
+
The cart's payment state: methods, selection, installment options, and saved cards. Projected from the same order form as Query.cart. Always resolves; lists are empty and selection fields are null when payment is unset.
|
|
387
|
+
"""
|
|
388
|
+
payment: Payment!
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
extend type Query {
|
|
392
|
+
"""
|
|
393
|
+
A settled order's payment recap, keyed on the order group
|
|
394
|
+
paymentStartTransaction / paymentGatewayCallback return. Null when the
|
|
395
|
+
order group does not resolve to a settled order — never a fabricated empty
|
|
396
|
+
projection (contrast Query.payment, which always resolves).
|
|
397
|
+
"""
|
|
398
|
+
order(
|
|
399
|
+
"""
|
|
400
|
+
The order group returned by paymentStartTransaction / paymentGatewayCallback.
|
|
401
|
+
"""
|
|
402
|
+
orderGroup: String!
|
|
403
|
+
): Order
|
|
404
|
+
}
|
|
405
|
+
|
|
376
406
|
extend type Query {
|
|
377
407
|
"""Which authentication methods this account enables."""
|
|
378
408
|
sessionAuthProviders: SessionAuthProviders!
|
|
@@ -507,6 +537,41 @@ extend type Mutation {
|
|
|
507
537
|
): ShippingOptionSelectPayload!
|
|
508
538
|
}
|
|
509
539
|
|
|
540
|
+
extend type Mutation {
|
|
541
|
+
"""
|
|
542
|
+
Select a payment method, optionally identifying a new card's BIN or a saved card's account.
|
|
543
|
+
"""
|
|
544
|
+
paymentMethodSelect(
|
|
545
|
+
"""Method (and optional BIN/saved-card) to select."""
|
|
546
|
+
input: PaymentMethodSelectInput!
|
|
547
|
+
): PaymentMethodSelectPayload!
|
|
548
|
+
"""
|
|
549
|
+
Select an installment count for the currently-selected method. Recomputes the cart total.
|
|
550
|
+
"""
|
|
551
|
+
paymentInstallmentSelect(
|
|
552
|
+
"""Installment count to select."""
|
|
553
|
+
input: PaymentInstallmentSelectInput!
|
|
554
|
+
): PaymentInstallmentSelectPayload!
|
|
555
|
+
"""Set the billing address, or fall back to the delivery address."""
|
|
556
|
+
paymentBillingAddressUpdate(
|
|
557
|
+
"""
|
|
558
|
+
Billing address details, or sameAsDelivery: true to use the delivery address.
|
|
559
|
+
"""
|
|
560
|
+
input: PaymentBillingAddressUpdateInput!
|
|
561
|
+
): PaymentBillingAddressUpdatePayload!
|
|
562
|
+
"""
|
|
563
|
+
Open a VTEX transaction from the currently-selected payment. No input: every field is server-derived.
|
|
564
|
+
"""
|
|
565
|
+
paymentStartTransaction: PaymentStartTransactionPayload!
|
|
566
|
+
"""
|
|
567
|
+
Finalize a transaction after the direct-to-gateway payment call succeeded.
|
|
568
|
+
"""
|
|
569
|
+
paymentGatewayCallback(
|
|
570
|
+
"""The order group to finalize."""
|
|
571
|
+
input: PaymentGatewayCallbackInput!
|
|
572
|
+
): PaymentGatewayCallbackPayload!
|
|
573
|
+
}
|
|
574
|
+
|
|
510
575
|
extend type Mutation {
|
|
511
576
|
"""
|
|
512
577
|
Sign in with email and password. Returns the refreshed session, or typed
|
|
@@ -766,6 +831,10 @@ type Variant implements Node {
|
|
|
766
831
|
name: String!
|
|
767
832
|
"""Stock Keeping Unit code. Unique merchant-side identifier."""
|
|
768
833
|
sku: String!
|
|
834
|
+
"""
|
|
835
|
+
PDP path segment in the active locale for this SKU, "{linkId}-{skuId}".
|
|
836
|
+
"""
|
|
837
|
+
routeSlug: String!
|
|
769
838
|
"""International Article Number (barcode). Maps to VTEX SKU EAN."""
|
|
770
839
|
ean: String
|
|
771
840
|
"""Merchant reference code."""
|
|
@@ -839,6 +908,11 @@ type Product implements Node @cacheControl(maxAge: 60, scope: PUBLIC) {
|
|
|
839
908
|
title: String!
|
|
840
909
|
"""URL-friendly handle / slug. Maps to VTEX `LinkId`."""
|
|
841
910
|
slug: String!
|
|
911
|
+
"""
|
|
912
|
+
PDP path segment in the active locale, "{linkId}-{skuId}" with the representative SKU (in stock first, then lowest
|
|
913
|
+
spot price, then the first SKU). Build product URLs from this, not from `slug`.
|
|
914
|
+
"""
|
|
915
|
+
routeSlug: String!
|
|
842
916
|
"""Full marketing description."""
|
|
843
917
|
description: String
|
|
844
918
|
"""Description rendered as HTML."""
|
|
@@ -1503,6 +1577,62 @@ type TrendingSearch {
|
|
|
1503
1577
|
count: Int!
|
|
1504
1578
|
}
|
|
1505
1579
|
|
|
1580
|
+
"""Identifies a catalog route. Set exactly one member."""
|
|
1581
|
+
input CatalogRouteInput {
|
|
1582
|
+
"""
|
|
1583
|
+
Relay node ID of the entity behind the route. Only Product IDs are accepted.
|
|
1584
|
+
"""
|
|
1585
|
+
id: ID
|
|
1586
|
+
"""
|
|
1587
|
+
Logical store route, without the binding's origin or base path
|
|
1588
|
+
(e.g. "/apparel/t-shirts", "/shirt-51/p").
|
|
1589
|
+
"""
|
|
1590
|
+
path: String
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1593
|
+
"""Kind of entity a catalog route resolves to."""
|
|
1594
|
+
enum CatalogRouteKind {
|
|
1595
|
+
"""A product detail page."""
|
|
1596
|
+
PRODUCT
|
|
1597
|
+
"""A category or subcategory page."""
|
|
1598
|
+
CATEGORY
|
|
1599
|
+
"""A brand page."""
|
|
1600
|
+
BRAND
|
|
1601
|
+
"""A collection page."""
|
|
1602
|
+
COLLECTION
|
|
1603
|
+
}
|
|
1604
|
+
|
|
1605
|
+
"""
|
|
1606
|
+
A catalog route and its confirmed equivalents in every locale the catalog registers.
|
|
1607
|
+
"""
|
|
1608
|
+
type CatalogRoute @cacheControl(maxAge: 300, scope: PUBLIC) {
|
|
1609
|
+
"""
|
|
1610
|
+
Relay node ID of the entity. Stable across locales; the route's identity.
|
|
1611
|
+
"""
|
|
1612
|
+
id: ID!
|
|
1613
|
+
"""Kind of entity behind the route."""
|
|
1614
|
+
kind: CatalogRouteKind!
|
|
1615
|
+
"""
|
|
1616
|
+
One entry per locale the catalog confirms for every segment of the route. Editorial fallback never adds an
|
|
1617
|
+
entry. May include locales the store does not publish; intersect with the store's bindings.
|
|
1618
|
+
"""
|
|
1619
|
+
variants: [CatalogRouteVariant!]!
|
|
1620
|
+
}
|
|
1621
|
+
|
|
1622
|
+
"""A route's equivalent in one locale."""
|
|
1623
|
+
type CatalogRouteVariant {
|
|
1624
|
+
"""BCP 47 tag, canonicalized."""
|
|
1625
|
+
locale: String!
|
|
1626
|
+
"""
|
|
1627
|
+
Route segment(s) in that locale, lowercased, accents kept. Not percent-encoded.
|
|
1628
|
+
"""
|
|
1629
|
+
slug: String!
|
|
1630
|
+
"""
|
|
1631
|
+
Relative logical path ("/{slug}" or "/{slug}/p"). No origin, no base path, not percent-encoded.
|
|
1632
|
+
"""
|
|
1633
|
+
path: String!
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1506
1636
|
"""
|
|
1507
1637
|
A shopping cart representing items a customer intends to purchase.
|
|
1508
1638
|
Maps to the VTEX orderForm entity.
|
|
@@ -1745,7 +1875,7 @@ type CartItemCustomization {
|
|
|
1745
1875
|
}
|
|
1746
1876
|
|
|
1747
1877
|
"""A single submitted customization field."""
|
|
1748
|
-
type CartItemCustomizationEntry {
|
|
1878
|
+
type CartItemCustomizationEntry @cacheControl(maxAge: 0, scope: PRIVATE) {
|
|
1749
1879
|
"""Field name as defined by the assembly (e.g. "Text")."""
|
|
1750
1880
|
name: String!
|
|
1751
1881
|
"""Submitted value, stringified. File uploads carry the file URL."""
|
|
@@ -2540,7 +2670,7 @@ type Shipping implements Node @cacheControl(maxAge: 0, scope: PRIVATE) {
|
|
|
2540
2670
|
}
|
|
2541
2671
|
|
|
2542
2672
|
"""A delivery address or saved-address reference."""
|
|
2543
|
-
type Address {
|
|
2673
|
+
type Address @cacheControl(maxAge: 0, scope: PRIVATE) {
|
|
2544
2674
|
"""Saved-address reference. Null for addresses entered in this session."""
|
|
2545
2675
|
id: ID
|
|
2546
2676
|
"""Recipient name for this address."""
|
|
@@ -2691,6 +2821,575 @@ type ShippingOptionSelectPayload {
|
|
|
2691
2821
|
userErrors: [ShippingOptionSelectError!]!
|
|
2692
2822
|
}
|
|
2693
2823
|
|
|
2824
|
+
"""
|
|
2825
|
+
The cart's payment state: available methods with server-driven validator config,
|
|
2826
|
+
the current selection, installment options, and the shopper's saved cards. A
|
|
2827
|
+
read-only sibling of Cart, Shipping, and Session, projected from the same order
|
|
2828
|
+
form fetch. Method-agnostic: projects whatever payment systems VTEX returns, not
|
|
2829
|
+
only credit card. Never carries a full card number or CVV.
|
|
2830
|
+
"""
|
|
2831
|
+
type Payment implements Node @cacheControl(maxAge: 0, scope: PRIVATE) {
|
|
2832
|
+
"""
|
|
2833
|
+
Globally unique identifier (Relay Node ID), encoded from the order form ID.
|
|
2834
|
+
"""
|
|
2835
|
+
id: ID!
|
|
2836
|
+
"""
|
|
2837
|
+
Payment methods available on this cart. Empty when none are configured.
|
|
2838
|
+
"""
|
|
2839
|
+
methods: [PaymentMethod!]!
|
|
2840
|
+
"""
|
|
2841
|
+
The currently selected method's id (PaymentMethod.id), or null when unselected.
|
|
2842
|
+
"""
|
|
2843
|
+
selectedMethodId: String
|
|
2844
|
+
"""
|
|
2845
|
+
Saved-card account reference for the current selection, when a saved card is selected. Null otherwise.
|
|
2846
|
+
"""
|
|
2847
|
+
selectedAccountId: String
|
|
2848
|
+
"""
|
|
2849
|
+
The currently selected installment tier, resolved from the selection against installmentOptions. Null when unselected or unresolved.
|
|
2850
|
+
"""
|
|
2851
|
+
selectedInstallment: PaymentInstallment
|
|
2852
|
+
"""
|
|
2853
|
+
Installment plans available, grouped by method (and BIN, for card methods). Serves both a new card (matched by BIN) and a saved card (matched by its stored method).
|
|
2854
|
+
"""
|
|
2855
|
+
installmentOptions: [PaymentInstallmentOption!]!
|
|
2856
|
+
"""
|
|
2857
|
+
The shopper's saved cards. Empty for anonymous shoppers or when none are saved.
|
|
2858
|
+
"""
|
|
2859
|
+
savedCards: [SavedCard!]!
|
|
2860
|
+
"""
|
|
2861
|
+
The BIN persisted on the current selection, or null when the selection carries
|
|
2862
|
+
none (a non-card method, or a saved card selected without one). Echoes back what
|
|
2863
|
+
paymentMethodSelect wrote, which is what a client needs in order to know whether
|
|
2864
|
+
its own locally-detected BIN has actually reached the order form: installment
|
|
2865
|
+
options are matched against THIS value server-side, never against a client draft.
|
|
2866
|
+
Not sensitive — a BIN identifies an issuer range, never a card.
|
|
2867
|
+
"""
|
|
2868
|
+
selectedBin: String
|
|
2869
|
+
}
|
|
2870
|
+
|
|
2871
|
+
"""
|
|
2872
|
+
A payment method available on the cart, with the server-driven validator config
|
|
2873
|
+
that determines which card-form fields render, their masks, and whether they
|
|
2874
|
+
are required. A non-normalized value object (ADR-0012); read directly off
|
|
2875
|
+
Payment.methods.
|
|
2876
|
+
"""
|
|
2877
|
+
type PaymentMethod {
|
|
2878
|
+
"""Payment-system identifier (VTEX paymentSystem stringId)."""
|
|
2879
|
+
id: String!
|
|
2880
|
+
"""
|
|
2881
|
+
Display name (e.g. "Visa", "Mastercard", "Cash"). Doubles as the network name for card methods.
|
|
2882
|
+
"""
|
|
2883
|
+
name: String!
|
|
2884
|
+
"""
|
|
2885
|
+
Payment-system group (e.g. "creditCardPaymentGroup", "debitCardPaymentGroup"). Store-configured; kept as a string, not an enum.
|
|
2886
|
+
"""
|
|
2887
|
+
groupName: String!
|
|
2888
|
+
"""
|
|
2889
|
+
Whether VTEX flags this payment system as requiring cardholder authentication
|
|
2890
|
+
(for example 3-D Secure). Projected verbatim from the order form's payment-system
|
|
2891
|
+
configuration: it describes how the store configured the system, not a guarantee
|
|
2892
|
+
about any particular transaction. Null when the order form carries no value for
|
|
2893
|
+
this system — which is not the same as false. Detection only: this API implements
|
|
2894
|
+
no authentication challenge.
|
|
2895
|
+
"""
|
|
2896
|
+
requiresAuthentication: Boolean
|
|
2897
|
+
"""
|
|
2898
|
+
Validator configuration driving field presence, masks, and requiredness.
|
|
2899
|
+
"""
|
|
2900
|
+
validator: PaymentMethodValidator!
|
|
2901
|
+
}
|
|
2902
|
+
|
|
2903
|
+
"""
|
|
2904
|
+
Per-method validator configuration. Server-driven so no component hardcodes
|
|
2905
|
+
field presence, masks, or requiredness.
|
|
2906
|
+
"""
|
|
2907
|
+
type PaymentMethodValidator {
|
|
2908
|
+
"""
|
|
2909
|
+
Mask pattern for the card number input. Null when the method carries no mask.
|
|
2910
|
+
"""
|
|
2911
|
+
numberMask: String
|
|
2912
|
+
"""
|
|
2913
|
+
Regex for real-time network detection against the typed BIN. Null when unset.
|
|
2914
|
+
"""
|
|
2915
|
+
numberRegex: String
|
|
2916
|
+
"""
|
|
2917
|
+
Mask pattern for the security-code (CVV) input. Null when unused or unmasked.
|
|
2918
|
+
"""
|
|
2919
|
+
cvvMask: String
|
|
2920
|
+
"""Regex validating the security-code (CVV) input. Null when unused."""
|
|
2921
|
+
cvvRegex: String
|
|
2922
|
+
"""Whether this method requires the security code (CVV)."""
|
|
2923
|
+
cvvRequired: Boolean!
|
|
2924
|
+
"""Whether this method requires an expiration date."""
|
|
2925
|
+
expirationRequired: Boolean!
|
|
2926
|
+
"""Whether this method requires the cardholder name."""
|
|
2927
|
+
holderNameRequired: Boolean!
|
|
2928
|
+
"""Whether this method requires a billing address."""
|
|
2929
|
+
billingAddressRequired: Boolean!
|
|
2930
|
+
"""
|
|
2931
|
+
Whether a cardholder document field is displayable for this method. Distinct from documentRequired.
|
|
2932
|
+
"""
|
|
2933
|
+
documentDisplayable: Boolean!
|
|
2934
|
+
"""
|
|
2935
|
+
Whether the displayed cardholder document is required. Distinct from documentDisplayable — a document can be shown without being mandatory.
|
|
2936
|
+
"""
|
|
2937
|
+
documentRequired: Boolean!
|
|
2938
|
+
}
|
|
2939
|
+
|
|
2940
|
+
"""
|
|
2941
|
+
One installment tier: a specific installment count at a given per-installment
|
|
2942
|
+
value and total. Keyed by count within its parent PaymentInstallmentOption — a
|
|
2943
|
+
non-normalized value object (ADR-0012).
|
|
2944
|
+
"""
|
|
2945
|
+
type PaymentInstallment {
|
|
2946
|
+
"""Number of installments (1 = single payment, no interest)."""
|
|
2947
|
+
count: Int!
|
|
2948
|
+
"""Amount per installment."""
|
|
2949
|
+
value: Money!
|
|
2950
|
+
"""Total amount across all installments, including any interest."""
|
|
2951
|
+
total: Money!
|
|
2952
|
+
"""
|
|
2953
|
+
Interest rate in hundredths of a percent, exactly as the VTEX order form carries it (100 = 1%; 0 = interest-free).
|
|
2954
|
+
"""
|
|
2955
|
+
interestRate: Float!
|
|
2956
|
+
}
|
|
2957
|
+
|
|
2958
|
+
"""
|
|
2959
|
+
Installment tiers available for one payment method (and, for card methods, one
|
|
2960
|
+
BIN range). A non-normalized value object (ADR-0012): read straight off
|
|
2961
|
+
Payment.installmentOptions.
|
|
2962
|
+
"""
|
|
2963
|
+
type PaymentInstallmentOption @cacheControl(maxAge: 0, scope: PRIVATE) {
|
|
2964
|
+
"""The payment method this option applies to (PaymentMethod.id)."""
|
|
2965
|
+
methodId: String!
|
|
2966
|
+
"""
|
|
2967
|
+
The BIN range this option applies to, when method-and-BIN-specific. Null when the option applies by method alone.
|
|
2968
|
+
"""
|
|
2969
|
+
bin: String
|
|
2970
|
+
"""Base order value this option was quoted against."""
|
|
2971
|
+
baseValue: Money!
|
|
2972
|
+
"""
|
|
2973
|
+
Installment tiers, with a guaranteed `count: 1` entry prepended when VTEX
|
|
2974
|
+
omits one. A tier that upstream already supplies is passed through untouched
|
|
2975
|
+
(including its position and interest rate).
|
|
2976
|
+
"""
|
|
2977
|
+
installments: [PaymentInstallment!]!
|
|
2978
|
+
}
|
|
2979
|
+
|
|
2980
|
+
"""
|
|
2981
|
+
One of the shopper's saved cards. Never carries a full card number or CVV. A
|
|
2982
|
+
normalized, id-bearing value object (ADR-0012): id is a stable opaque cache
|
|
2983
|
+
key, not a Relay Node.
|
|
2984
|
+
"""
|
|
2985
|
+
type SavedCard @cacheControl(maxAge: 0, scope: PRIVATE) {
|
|
2986
|
+
"""
|
|
2987
|
+
Opaque, stable cache key. Not a Relay Node ID; SavedCard is not registered in the cross-module Node registry.
|
|
2988
|
+
"""
|
|
2989
|
+
id: ID!
|
|
2990
|
+
"""
|
|
2991
|
+
The saved-card account reference. Pass this back on selection; never a full card number.
|
|
2992
|
+
"""
|
|
2993
|
+
accountId: String!
|
|
2994
|
+
"""
|
|
2995
|
+
The saved card's payment-system id (PaymentMethod.id), for cross-referencing validator config and installment options.
|
|
2996
|
+
"""
|
|
2997
|
+
methodId: String!
|
|
2998
|
+
"""Card network / issuer display name (e.g. "Visa")."""
|
|
2999
|
+
network: String!
|
|
3000
|
+
"""Last four digits of the card number."""
|
|
3001
|
+
lastFourDigits: String!
|
|
3002
|
+
"""BIN of the saved card, for installment-option lookup by network."""
|
|
3003
|
+
bin: String!
|
|
3004
|
+
"""Shopper-assigned custom label, when set."""
|
|
3005
|
+
label: String
|
|
3006
|
+
"""
|
|
3007
|
+
Whether the card is expired. Expired cards are still returned; non-selectable is a UI concern downstream.
|
|
3008
|
+
"""
|
|
3009
|
+
expired: Boolean!
|
|
3010
|
+
"""
|
|
3011
|
+
Whether completing payment with this card requires the shopper to enter the CVV.
|
|
3012
|
+
"""
|
|
3013
|
+
cvvRequired: Boolean!
|
|
3014
|
+
}
|
|
3015
|
+
|
|
3016
|
+
"""
|
|
3017
|
+
Input for selecting a payment method, optionally identifying a new card (by
|
|
3018
|
+
BIN) or a saved card (by account reference). A non-card method (e.g. Cash)
|
|
3019
|
+
omits both `bin` and `accountId`. When `accountId` is given, `bin` may also
|
|
3020
|
+
be given to match the saved card against a BIN-specific installment option;
|
|
3021
|
+
a `bin` that does not match the saved card's own BIN is rejected with
|
|
3022
|
+
MISMATCHED_BIN_FOR_SAVED_CARD.
|
|
3023
|
+
"""
|
|
3024
|
+
input PaymentMethodSelectInput {
|
|
3025
|
+
"""The method to select (PaymentMethod.id)."""
|
|
3026
|
+
methodId: String!
|
|
3027
|
+
"""
|
|
3028
|
+
A newly-entered card's BIN, once detected. Omit for a saved card or a non-card method.
|
|
3029
|
+
"""
|
|
3030
|
+
bin: String
|
|
3031
|
+
"""
|
|
3032
|
+
A saved card's account reference (SavedCard.accountId). Omit for a new card or a non-card method.
|
|
3033
|
+
"""
|
|
3034
|
+
accountId: String
|
|
3035
|
+
}
|
|
3036
|
+
|
|
3037
|
+
"""Error codes for the paymentMethodSelect mutation."""
|
|
3038
|
+
enum PaymentMethodSelectErrorCode {
|
|
3039
|
+
"""No cart context was provided (x-order-form-id header/cookie)."""
|
|
3040
|
+
MISSING_CART_CONTEXT
|
|
3041
|
+
"""The cart was not found."""
|
|
3042
|
+
CART_NOT_FOUND
|
|
3043
|
+
"""The provided methodId does not match any entry in Payment.methods."""
|
|
3044
|
+
INVALID_METHOD_ID
|
|
3045
|
+
"""The provided accountId does not match any entry in Payment.savedCards."""
|
|
3046
|
+
INVALID_SAVED_CARD_ACCOUNT_ID
|
|
3047
|
+
"""The bin does not match the BIN of the saved card named by accountId."""
|
|
3048
|
+
MISMATCHED_BIN_FOR_SAVED_CARD
|
|
3049
|
+
"""
|
|
3050
|
+
The bin is not 1 to 8 numeric digits — a BIN identifies an issuer range, never a card number.
|
|
3051
|
+
"""
|
|
3052
|
+
INVALID_BIN_FORMAT
|
|
3053
|
+
"""
|
|
3054
|
+
Never returned. The input once allowed at most one of bin / accountId; both are
|
|
3055
|
+
now accepted so a saved card can be matched to an installment option by its own
|
|
3056
|
+
BIN. Retained per ADR-00010 (additive-only with a deprecation window).
|
|
3057
|
+
"""
|
|
3058
|
+
CONFLICTING_BIN_AND_ACCOUNT_ID @deprecated(reason: "Never returned; bin and accountId may now be sent together.")
|
|
3059
|
+
}
|
|
3060
|
+
|
|
3061
|
+
"""A domain error returned from the paymentMethodSelect mutation."""
|
|
3062
|
+
type PaymentMethodSelectError {
|
|
3063
|
+
"""Machine-readable error code."""
|
|
3064
|
+
code: PaymentMethodSelectErrorCode!
|
|
3065
|
+
"""Human-readable error message."""
|
|
3066
|
+
message: String!
|
|
3067
|
+
}
|
|
3068
|
+
|
|
3069
|
+
"""Payload returned by the paymentMethodSelect mutation."""
|
|
3070
|
+
type PaymentMethodSelectPayload {
|
|
3071
|
+
"""The updated payment state, or null if errors occurred."""
|
|
3072
|
+
payment: Payment
|
|
3073
|
+
"""
|
|
3074
|
+
The current billing address, echoed for convenience. Null when same-as-delivery is in effect.
|
|
3075
|
+
"""
|
|
3076
|
+
billingAddress: Address
|
|
3077
|
+
"""Domain errors that occurred during the operation."""
|
|
3078
|
+
userErrors: [PaymentMethodSelectError!]!
|
|
3079
|
+
}
|
|
3080
|
+
|
|
3081
|
+
"""
|
|
3082
|
+
Input for selecting an installment count for the currently-selected method.
|
|
3083
|
+
"""
|
|
3084
|
+
input PaymentInstallmentSelectInput {
|
|
3085
|
+
"""Number of installments to select (1 = single payment, no interest)."""
|
|
3086
|
+
count: Int!
|
|
3087
|
+
}
|
|
3088
|
+
|
|
3089
|
+
"""Error codes for the paymentInstallmentSelect mutation."""
|
|
3090
|
+
enum PaymentInstallmentSelectErrorCode {
|
|
3091
|
+
"""No cart context was provided (x-order-form-id header/cookie)."""
|
|
3092
|
+
MISSING_CART_CONTEXT
|
|
3093
|
+
"""The cart was not found."""
|
|
3094
|
+
CART_NOT_FOUND
|
|
3095
|
+
"""
|
|
3096
|
+
No payment method has been selected yet (paymentMethodSelect was never called).
|
|
3097
|
+
"""
|
|
3098
|
+
MISSING_PAYMENT_METHOD_SELECTION
|
|
3099
|
+
"""
|
|
3100
|
+
The count does not match any tier in the resolvable installment option.
|
|
3101
|
+
"""
|
|
3102
|
+
INVALID_INSTALLMENT_COUNT
|
|
3103
|
+
}
|
|
3104
|
+
|
|
3105
|
+
"""A domain error returned from the paymentInstallmentSelect mutation."""
|
|
3106
|
+
type PaymentInstallmentSelectError {
|
|
3107
|
+
"""Machine-readable error code."""
|
|
3108
|
+
code: PaymentInstallmentSelectErrorCode!
|
|
3109
|
+
"""Human-readable error message."""
|
|
3110
|
+
message: String!
|
|
3111
|
+
}
|
|
3112
|
+
|
|
3113
|
+
"""
|
|
3114
|
+
Payload returned by the paymentInstallmentSelect mutation. Includes the
|
|
3115
|
+
recomputed cart so the order total (with any interest) updates in the same
|
|
3116
|
+
round trip.
|
|
3117
|
+
"""
|
|
3118
|
+
type PaymentInstallmentSelectPayload {
|
|
3119
|
+
"""The updated payment state, or null if errors occurred."""
|
|
3120
|
+
payment: Payment
|
|
3121
|
+
"""
|
|
3122
|
+
The recomputed cart, or null if errors occurred. Carries the order total with any installment interest applied.
|
|
3123
|
+
"""
|
|
3124
|
+
cart: Cart
|
|
3125
|
+
"""
|
|
3126
|
+
The current billing address, echoed for convenience. Null when same-as-delivery is in effect.
|
|
3127
|
+
"""
|
|
3128
|
+
billingAddress: Address
|
|
3129
|
+
"""Domain errors that occurred during the operation."""
|
|
3130
|
+
userErrors: [PaymentInstallmentSelectError!]!
|
|
3131
|
+
}
|
|
3132
|
+
|
|
3133
|
+
"""
|
|
3134
|
+
Input for setting the billing address. When sameAsDelivery is true, every
|
|
3135
|
+
other field is ignored and no upstream write happens (VTEX's own default:
|
|
3136
|
+
an absent invoiceData falls back to the delivery address).
|
|
3137
|
+
"""
|
|
3138
|
+
input PaymentBillingAddressUpdateInput {
|
|
3139
|
+
"""
|
|
3140
|
+
When true, billing uses the delivery address; every field below is ignored.
|
|
3141
|
+
"""
|
|
3142
|
+
sameAsDelivery: Boolean!
|
|
3143
|
+
"""Address classification for the billing address."""
|
|
3144
|
+
addressType: String
|
|
3145
|
+
"""
|
|
3146
|
+
Postal code for the billing address. Required when sameAsDelivery is false.
|
|
3147
|
+
"""
|
|
3148
|
+
postalCode: String
|
|
3149
|
+
"""
|
|
3150
|
+
ISO 3166-1 alpha-3 country code (e.g. "BRA"). Required when sameAsDelivery is false.
|
|
3151
|
+
"""
|
|
3152
|
+
country: String
|
|
3153
|
+
"""Street name."""
|
|
3154
|
+
street: String
|
|
3155
|
+
"""Street number."""
|
|
3156
|
+
number: String
|
|
3157
|
+
"""Additional address detail (apartment, suite, etc.)."""
|
|
3158
|
+
complement: String
|
|
3159
|
+
"""Neighborhood / district."""
|
|
3160
|
+
neighborhood: String
|
|
3161
|
+
"""City name."""
|
|
3162
|
+
city: String
|
|
3163
|
+
"""State / province code."""
|
|
3164
|
+
state: String
|
|
3165
|
+
"""
|
|
3166
|
+
A landmark reference. Sent upstream but not echoed back on billingAddress (Decision 11).
|
|
3167
|
+
"""
|
|
3168
|
+
reference: String
|
|
3169
|
+
}
|
|
3170
|
+
|
|
3171
|
+
"""Error codes for the paymentBillingAddressUpdate mutation."""
|
|
3172
|
+
enum PaymentBillingAddressUpdateErrorCode {
|
|
3173
|
+
"""No cart context was provided (x-order-form-id header/cookie)."""
|
|
3174
|
+
MISSING_CART_CONTEXT
|
|
3175
|
+
"""The cart was not found."""
|
|
3176
|
+
CART_NOT_FOUND
|
|
3177
|
+
"""sameAsDelivery is false but postalCode or country was omitted."""
|
|
3178
|
+
MISSING_BILLING_ADDRESS_FIELDS
|
|
3179
|
+
}
|
|
3180
|
+
|
|
3181
|
+
"""A domain error returned from the paymentBillingAddressUpdate mutation."""
|
|
3182
|
+
type PaymentBillingAddressUpdateError {
|
|
3183
|
+
"""Machine-readable error code."""
|
|
3184
|
+
code: PaymentBillingAddressUpdateErrorCode!
|
|
3185
|
+
"""Human-readable error message."""
|
|
3186
|
+
message: String!
|
|
3187
|
+
}
|
|
3188
|
+
|
|
3189
|
+
"""Payload returned by the paymentBillingAddressUpdate mutation."""
|
|
3190
|
+
type PaymentBillingAddressUpdatePayload {
|
|
3191
|
+
"""
|
|
3192
|
+
The billing address just written, or null when same-as-delivery is in effect.
|
|
3193
|
+
"""
|
|
3194
|
+
billingAddress: Address
|
|
3195
|
+
"""
|
|
3196
|
+
The updated payment state, or null if errors occurred, or when same-as-delivery is in effect, where no upstream write happens.
|
|
3197
|
+
"""
|
|
3198
|
+
payment: Payment
|
|
3199
|
+
"""Domain errors that occurred during the operation."""
|
|
3200
|
+
userErrors: [PaymentBillingAddressUpdateError!]!
|
|
3201
|
+
}
|
|
3202
|
+
|
|
3203
|
+
"""
|
|
3204
|
+
Error codes for the paymentStartTransaction mutation. Login-required VTEX
|
|
3205
|
+
business codes (CHK0087, CHK003, ORD062) and generic infrastructure failures
|
|
3206
|
+
are never in this enum — per ADR-00007 they surface as top-level GraphQL
|
|
3207
|
+
errors (UNAUTHORIZED / UPSTREAM_ERROR), not userErrors.
|
|
3208
|
+
"""
|
|
3209
|
+
enum PaymentStartTransactionErrorCode {
|
|
3210
|
+
"""No cart context was provided (x-order-form-id header/cookie)."""
|
|
3211
|
+
MISSING_CART_CONTEXT
|
|
3212
|
+
"""The cart was not found."""
|
|
3213
|
+
CART_NOT_FOUND
|
|
3214
|
+
"""
|
|
3215
|
+
No payment method has been selected yet (paymentMethodSelect was never called).
|
|
3216
|
+
"""
|
|
3217
|
+
MISSING_PAYMENT_METHOD_SELECTION
|
|
3218
|
+
"""
|
|
3219
|
+
VTEX opened the transaction but named no merchant transaction on it, so
|
|
3220
|
+
neither the transaction id the send-payments POST addresses nor the merchant
|
|
3221
|
+
name its body carries exists. The transaction is open upstream but cannot be
|
|
3222
|
+
paid; the legacy checkout refuses the same state.
|
|
3223
|
+
"""
|
|
3224
|
+
INVALID_TRANSACTION_DATA
|
|
3225
|
+
}
|
|
3226
|
+
|
|
3227
|
+
"""A domain error returned from the paymentStartTransaction mutation."""
|
|
3228
|
+
type PaymentStartTransactionError {
|
|
3229
|
+
"""Machine-readable error code."""
|
|
3230
|
+
code: PaymentStartTransactionErrorCode!
|
|
3231
|
+
"""Human-readable error message."""
|
|
3232
|
+
message: String!
|
|
3233
|
+
}
|
|
3234
|
+
|
|
3235
|
+
"""
|
|
3236
|
+
Payload returned by paymentStartTransaction: everything the browser needs to
|
|
3237
|
+
run the direct-to-gateway send-payments call (out of scope here) and the
|
|
3238
|
+
later gatewayCallback. The transaction cookies VTEX issues are set on the
|
|
3239
|
+
HTTP response (Set-Cookie), not exposed as a field.
|
|
3240
|
+
"""
|
|
3241
|
+
type PaymentStartTransactionPayload {
|
|
3242
|
+
"""The opened transaction's id. Null if errors occurred."""
|
|
3243
|
+
transactionId: String
|
|
3244
|
+
"""
|
|
3245
|
+
Name of the merchant responsible for the sale, as the gateway call's payment
|
|
3246
|
+
`id` and `transaction.merchantName`. Projected from the same
|
|
3247
|
+
merchantTransactions entry transactionId comes from — VTEX returns one entry
|
|
3248
|
+
per seller, so a multi-seller order carries more than one and only the first
|
|
3249
|
+
is exposed here (see specs/payment-transaction-payload-gaps.md, Decision 1).
|
|
3250
|
+
Null if errors occurred.
|
|
3251
|
+
"""
|
|
3252
|
+
merchantName: String
|
|
3253
|
+
"""
|
|
3254
|
+
Origin of the payment gateway this transaction must be paid at, e.g.
|
|
3255
|
+
"https://mystore.vtexpayments.com.br" — the base the browser's
|
|
3256
|
+
direct-to-gateway send-payments POST appends its own path to. Origin only:
|
|
3257
|
+
VTEX's own receiver path is the split-payment endpoint, not the
|
|
3258
|
+
per-transaction one. Always an https origin inside vtexpayments.com.br: an
|
|
3259
|
+
upstream receiver URI that is neither is rejected in favour of the
|
|
3260
|
+
account-derived origin, since this field decides where card data is sent.
|
|
3261
|
+
Null if errors occurred.
|
|
3262
|
+
"""
|
|
3263
|
+
gatewayUrl: String
|
|
3264
|
+
"""
|
|
3265
|
+
The order group, needed for the gateway call's orderId parameter and for gatewayCallback's input.
|
|
3266
|
+
"""
|
|
3267
|
+
orderGroup: String
|
|
3268
|
+
"""The shopper's user profile id, needed for the gateway call."""
|
|
3269
|
+
userProfileId: String
|
|
3270
|
+
"""
|
|
3271
|
+
The payment amount for this transaction, as a decimal (e.g. "100.00") for
|
|
3272
|
+
display. The gateway body wants minor units — read valueInCents for that,
|
|
3273
|
+
never a client-side multiplication of this amount.
|
|
3274
|
+
"""
|
|
3275
|
+
value: Money
|
|
3276
|
+
"""
|
|
3277
|
+
The same payment amount in the currency's minor units (e.g. 10000 for
|
|
3278
|
+
"100.00"), exactly as VTEX returned it and as this mutation sent it upstream.
|
|
3279
|
+
The unit the gateway body's `value`/`installmentValue` fields expect. Null if
|
|
3280
|
+
errors occurred.
|
|
3281
|
+
"""
|
|
3282
|
+
valueInCents: Int
|
|
3283
|
+
"""
|
|
3284
|
+
Pre-interest base amount this transaction was opened against, in the
|
|
3285
|
+
currency's minor units — the gateway body's `referenceValue`. Equals
|
|
3286
|
+
valueInCents when no interest applies. Null if errors occurred.
|
|
3287
|
+
"""
|
|
3288
|
+
referenceValueInCents: Int
|
|
3289
|
+
"""Domain errors that occurred during the operation."""
|
|
3290
|
+
userErrors: [PaymentStartTransactionError!]!
|
|
3291
|
+
}
|
|
3292
|
+
|
|
3293
|
+
"""
|
|
3294
|
+
Input for finalizing a transaction after the direct-to-gateway call
|
|
3295
|
+
succeeded.
|
|
3296
|
+
"""
|
|
3297
|
+
input PaymentGatewayCallbackInput {
|
|
3298
|
+
"""The order group returned by paymentStartTransaction."""
|
|
3299
|
+
orderGroup: String!
|
|
3300
|
+
}
|
|
3301
|
+
|
|
3302
|
+
"""
|
|
3303
|
+
Error codes for the paymentGatewayCallback mutation. Login-required VTEX
|
|
3304
|
+
business codes (CHK0087, CHK003, ORD062) and generic infrastructure failures
|
|
3305
|
+
are never in this enum — per ADR-00007 they surface as top-level GraphQL
|
|
3306
|
+
errors (UNAUTHORIZED / UPSTREAM_ERROR), not userErrors.
|
|
3307
|
+
"""
|
|
3308
|
+
enum PaymentGatewayCallbackErrorCode {
|
|
3309
|
+
"""
|
|
3310
|
+
The transaction cookies (Vtex_CHKO_Auth, CheckoutDataAccess) were not present on this request — paymentStartTransaction was not called first, or the five-minute window lapsed.
|
|
3311
|
+
"""
|
|
3312
|
+
MISSING_TRANSACTION_COOKIES
|
|
3313
|
+
"""
|
|
3314
|
+
VTEX requires a redirect or out-of-band flow to complete this payment. Phase 2; not supported in v1.
|
|
3315
|
+
"""
|
|
3316
|
+
REDIRECT_REQUIRED
|
|
3317
|
+
}
|
|
3318
|
+
|
|
3319
|
+
"""A domain error returned from the paymentGatewayCallback mutation."""
|
|
3320
|
+
type PaymentGatewayCallbackError {
|
|
3321
|
+
"""Machine-readable error code."""
|
|
3322
|
+
code: PaymentGatewayCallbackErrorCode!
|
|
3323
|
+
"""Human-readable error message."""
|
|
3324
|
+
message: String!
|
|
3325
|
+
}
|
|
3326
|
+
|
|
3327
|
+
"""Payload returned by the paymentGatewayCallback mutation."""
|
|
3328
|
+
type PaymentGatewayCallbackPayload {
|
|
3329
|
+
"""
|
|
3330
|
+
The finalized order group, echoed back on success. Null if errors occurred.
|
|
3331
|
+
"""
|
|
3332
|
+
orderId: String
|
|
3333
|
+
"""Domain errors that occurred during the operation."""
|
|
3334
|
+
userErrors: [PaymentGatewayCallbackError!]!
|
|
3335
|
+
}
|
|
3336
|
+
|
|
3337
|
+
"""
|
|
3338
|
+
The installment plan a settled order was charged in. Projected from the
|
|
3339
|
+
placed-order payment record, which carries the count and the settled total
|
|
3340
|
+
only — never a per-installment amount and never an interest rate, unlike the
|
|
3341
|
+
live order form behind `Payment.selectedInstallment`. That asymmetry is
|
|
3342
|
+
upstream and permanent (see specs/settle-and-project-the-placed-order.md,
|
|
3343
|
+
Decision 2).
|
|
3344
|
+
"""
|
|
3345
|
+
type OrderInstallment @cacheControl(maxAge: 0, scope: PRIVATE) {
|
|
3346
|
+
"""Number of installments the order was charged in. 1 = single payment."""
|
|
3347
|
+
count: Int!
|
|
3348
|
+
"""
|
|
3349
|
+
Total charged across all installments, including any interest. Null when the
|
|
3350
|
+
settled record carries no amount, or no currency to denominate it in.
|
|
3351
|
+
"""
|
|
3352
|
+
total: Money
|
|
3353
|
+
}
|
|
3354
|
+
|
|
3355
|
+
"""
|
|
3356
|
+
A settled order's payment recap. Read-only; projected from VTEX's
|
|
3357
|
+
settled-order source rather than the live order form, so it keeps resolving
|
|
3358
|
+
after the order form itself stops existing. Carries no sensitive field: no
|
|
3359
|
+
full card number or CVV is ever read for this projection (RFC D13).
|
|
3360
|
+
"""
|
|
3361
|
+
type Order implements Node @cacheControl(maxAge: 0, scope: PRIVATE) {
|
|
3362
|
+
"""
|
|
3363
|
+
Globally unique identifier (Relay Node ID), encoded from the order group.
|
|
3364
|
+
"""
|
|
3365
|
+
id: ID!
|
|
3366
|
+
"""
|
|
3367
|
+
Card network / payment-system display name (e.g. "Visa", or a non-card
|
|
3368
|
+
method's own name such as "Boleto Bancário"). Null when the settled order
|
|
3369
|
+
carries no payment record to project one from.
|
|
3370
|
+
"""
|
|
3371
|
+
network: String
|
|
3372
|
+
"""
|
|
3373
|
+
Last four digits of the card used, when the payment method was a card.
|
|
3374
|
+
Present for both a saved and a freshly-entered card — unlike Payment (T1),
|
|
3375
|
+
where last four is a saved-card-only field. Null for a non-card method or
|
|
3376
|
+
when no payment record exists to project one from.
|
|
3377
|
+
"""
|
|
3378
|
+
lastFourDigits: String
|
|
3379
|
+
"""
|
|
3380
|
+
Shopper-assigned custom label for the saved card used, when one was set.
|
|
3381
|
+
Null for a freshly-entered (unsaved) card, a non-card method, or when no
|
|
3382
|
+
payment record exists to project one from (see specs/order-read-model.md,
|
|
3383
|
+
Decision 5).
|
|
3384
|
+
"""
|
|
3385
|
+
label: String
|
|
3386
|
+
"""
|
|
3387
|
+
The installment plan this order was charged in. Null when the settled record
|
|
3388
|
+
reports none.
|
|
3389
|
+
"""
|
|
3390
|
+
installment: OrderInstallment
|
|
3391
|
+
}
|
|
3392
|
+
|
|
2694
3393
|
"""
|
|
2695
3394
|
The authentication methods an account enables, read before rendering a sign-in form.
|
|
2696
3395
|
"""
|