Skip to content

Move all of an order's payments to customer credit

Open .md

PATCH/v2/api/store/{team_slug}/v2/sales_order/{hash_id}/credit/refund_all_to_customer_credit

v2Operation ID v2_public_sales_order_credit_refund_all_to_customer_credit

Moves everything paid on the order to the customer's credit. Deleting a published order does the same. The answer has no data. {hash_id} is the order's id (for example V4keXwwxMQyXw7); the ord_ unique key is not accepted here.

Permission

Needs permission to see this order's finances and to change it: the team owner; or a role with view_order_finance (View Sales Order Pricing) and view_all_order (or view_self_order, for orders the user created or is assigned to), and update_all_order (or update_self_order, for orders the user created or is assigned to). Otherwise 403 with a short body, {"message": "No permission to change this order payment."}. The order must be published.

Business rules

  • The order must have money paid on it: otherwise 422 "Insufficient Order Balance".
  • Nothing moves while any payment holding money on the order is frozen by an open dispute or review: the freeze 422 (customer_payment_disputed_funds_unavailable or invoice_payment_funding_withheld, with error.reason).

Side effects

  • Money from a Customer Portal payment goes back to that payment's credit. Deletes all the order's payment links (allocations), then raises the customer's credit by what the payments still hold (after refunds and earlier moves) and sets the order's paid amount to 0; updates invoices and customer totals.

Path parameters

  • team_slugstringrequired

    Your team slug, shown as Team ID next to your API key in Profile.

    • Example your-team
  • hash_idstringrequired

    The sales order's or quote's id (a hash id). The ord_ unique key and the order number do not work here.

    • Example V4keXwwxMQyXw7

Request body

This operation takes no request body.

Response

200Successful response.

Errors

  • 401The API key is missing or wrong (unauthenticated).

  • 403You are not allowed to do this. api_access_not_in_plan: your team's plan doesn't include API access (Pro and above, with an active subscription or trial), so every request answers this until the team upgrades. When your role lacks the permission the operation needs, the body is only {"message": "Insufficient Permission"}. Other refusals use the error envelope, with unauthorized or user_is_not_authorized.

    When
    Your role can't see this order's finances or change it. This 403 has a short body, {"message": "No permission to change this order payment."}, with no success or error.
    Fix
    Ask the team owner for View Sales Order Pricing and permission to edit this order, or to be assigned to it.
  • 404Not found. page_not_found: the team slug is unknown, you are not a member of the team, or an id in the path is not one of this team's. code: null, with a message that starts "No query results for": there is no record with that id.

  • 422Validation failed or the payment mutation was rejected by business rules.

    When
    Nothing paid, or a draft order ("Action Not Allow").
    Fix
    Check the order's payments first.
    When
    A payment is frozen by an open dispute or review (customer_payment_disputed_funds_unavailable or invoice_payment_funding_withheld, with error.reason).
    Fix
    Wait for the provider's decision, then try again.