Reporting Progress on Fulfillment Orders & Payment Processing Policies

1/27/2026, 12:00:57 AM

The schema now exposes the fulfillmentOrderReportProgress mutation, allowing fulfillment services to mark an order as in‑progress or report progress, along with optional notes via the new FulfillmentOrderReportProgressInput. The mutation returns the updated FulfillmentOrder and a list of FulfillmentOrderReportProgressUserError objects, covering status and ownership validation errors. Two new FulfillmentOrderAction enum values—REPORT_PROGRESS and MARK_AS_IN_PROGRESS—enable finer‑grained action control. Webhook topics FULFILLMENT_ORDERS_PROGRESS_REPORTED and FULFILLMENT_ORDERS_MANUALLY_REPORTED_PROGRESS_STOPPED are added for real‑time progress notifications. A new enum SubscriptionBillingAttemptPaymentProcessingPolicy introduces two payment options, and the arguments paymentProcessingPolicy are added to both subscriptionBillingCycleBulkCharge and subscriptionBillingCycleCharge mutations for explicit payment‑handling behavior. Developers should update request payloads to include the new args where needed and handle the expanded error codes in their fulfillment logic.

Mutation Changes

➕ Added Mutations (1)

fulfillmentOrderReportProgress

Reports the progress of an open or in-progress fulfillment order.

🔄 Modified Mutations (2)

subscriptionBillingCycleBulkCharge

Asynchronously queries and charges all subscription billing cycles whose billingAttemptExpectedDate values fall within a specified date range and meet additional filtering criteria. The results of this action can be retrieved using the subscriptionBillingCycleBulkResults query.

+ New argument: paymentProcessingPolicy
subscriptionBillingCycleCharge

Creates a new subscription billing attempt for a specified billing cycle. This is the alternative mutation for subscriptionBillingAttemptCreate. For more information, refer to Create a subscription contract.

+ New argument: paymentProcessingPolicy

Type Changes

➕ Added Types (5)

📥FulfillmentOrderReportProgressInput➕ AddedINPUT_OBJECT

The input fields for the progress report for the fulfillment order.

🏗️FulfillmentOrderReportProgressPayload➕ AddedOBJECT

Return type for fulfillmentOrderReportProgress mutation.

Fields: fulfillmentOrder, userErrors
🏗️FulfillmentOrderReportProgressUserError➕ AddedOBJECT

An error that occurs during the execution of FulfillmentOrderReportProgress.

Fields: code, field, message
📋FulfillmentOrderReportProgressUserErrorCode➕ AddedENUM

Possible error codes that can be returned by FulfillmentOrderReportProgressUserError.

Values: FULFILLMENT_ORDER_NOT_FOUND, FULFILLMENT_ORDER_STATUS_INVALID, FULFILLMENT_ORDER_CONTAINS_PICKED_ITEMS, FULFILLMENT_ORDER_INVALID_DELIVERY_METHOD, FULFILLMENT_ORDER_INVALID_FULFILLMENT_SERVICE_OWNERSHIP, FULFILLMENT_ORDER_UNSUPPORTED_ACTION, MARKETPLACE_APP_NOT_ELIGIBLE
📋SubscriptionBillingAttemptPaymentProcessingPolicy➕ AddedENUM

The payment processing policy for a billing attempt.

Values: FAIL_UNLESS_VALID_PAYMENT_METHOD, SKIP_PAYMENT_AND_CREATE_UNPAID_ORDER

🔄 Modified Types (2)

🏗️FulfillmentOrderAction🔄 Modified
Enum value added: REPORT_PROGRESS
Enum value added: MARK_AS_IN_PROGRESS
🏗️WebhookSubscriptionTopic🔄 Modified
Enum value added: FULFILLMENT_ORDERS_PROGRESS_REPORTED
Enum value added: FULFILLMENT_ORDERS_MANUALLY_REPORTED_PROGRESS_STOPPED