admin-payments

Mark Payment Received

[DEPRECATED] Combined forwarder for the two new lifecycle actions.

Pre-decoupling, this endpoint did both events in one shot: advancing the project past PAYMENT_PENDING and marking the invoice as PAID. That conflation was wrong for PO customers on Net-30/60/90 terms (work was unblocked weeks before the check arrived but the email said "Payment Confirmed").

Modern callers should use:

  • POST /admin/payments/{id}/confirm-po to advance the project.
  • POST /admin/payments/{id}/mark-invoice-paid when the payment actually arrives.

This forwarder calls both in sequence so in-flight automation doesn't break. Logs a deprecation warning on every call; the endpoint will be removed in a follow-up PR once prod log scrape shows no callers remain.

Requires payments:edit permission.

patch/api/v1/admin/payments/{payment_id}/mark-received

Path parameters

payment_idstring uuid required

Response

Successful Response

idstring uuid required
project_idstring uuid required
quote_idstring uuid required
user_idstring uuid required
methodstring required
statusstring required
amountstring required
total_with_taxstring nullable
deposit_amountstring nullable
currencystring required
stripe_payment_intent_idstring nullable
po_numberstring nullable
po_document_r2_keystring nullable
po_document_download_urlstring nullable
shipping_addressstring nullable
notesstring nullable
paid_atstring date-time nullable
created_atstring date-time required
updated_atstring date-time required
project_namestring required
customer_namestring required
customer_emailstring required
customer_billing_addressstring nullable
submitted_by_admin_idstring uuid nullable
submitted_by_labelstring nullable
payment_terms_net_daysinteger nullable
order_placed_at_overridestring date-time nullable
order_placed_atstring date-time nullable

Changes

No recorded changes to this endpoint across all 1 revision of this API.