Skip to main content
mutation

Requires write_orders access scope. Also: The user must have mark_orders_as_paid permission.

Marks an order as paid by recording a payment transaction for the outstanding amount.

Use the orderMarkAsPaid mutation to record payments received outside the standard checkout process. The orderMarkAsPaid mutation is particularly useful in scenarios where:

  • Orders were created with manual payment methods (cash on delivery, bank deposit, money order)
  • Payments were received offline and need to be recorded in the system
  • Previously authorized payments need to be captured manually
  • Orders require manual payment reconciliation due to external payment processing

The mutation validates that the order can be marked as paid before processing. An order can be marked as paid only if it has a positive outstanding balance and its financial status isn't already PAID. The mutation will either create a new sale transaction for the full outstanding amount or capture an existing authorized transaction, depending on the order's current payment state.

After successfully marking an order as paid, the order's financial status is updated to reflect the payment, and payment events are logged for tracking and analytics purposes.

Learn more about managing orders in apps.

•OrderMarkAsPaidInput!
required

The input for the mutation.


Was this section helpful?

Anchor to OrderMarkAsPaidPayload returnsOrderMarkAsPaidPayload returns

•Order

The order marked as paid.

•[UserError!]!
non-null

The list of errors that occurred from executing the mutation.


Was this section helpful?