I found an earlier Square staff response from January 30, 2023, stating that deleting a payment link while a customer has the checkout page open cancels the order and prevents payment:
I also reviewed the current Checkout API guidance distinguishing deletion before and after payment.
Could Square confirm whether this behavior is still guaranteed for API version 2024-12-18, specifically when the customer submits payment at nearly the same moment as DeletePaymentLink?
Is there any supported way to prevent or detect that race before releasing reserved inventory? If deletion succeeds but its acknowledgment is lost, what reconciliation procedure does Square recommend?
We’re particularly interested in whether a successful payment can coexist with a deletion request and how our integration should handle that outcome safely.
Hi, thanks for the question.
When an HTTP 200deletion response and a COMPLETED payment coexist, that deletion response contained the payment-link id but no cancelled_order_id
We also confirmed the delete-before-payment behavior: deletion returns a matching cancelled_order_id, and the subsequent RetrieveOrder response in Square’s API logs showed the order and its fulfillment as CANCELED. The buyer’s subsequent payment attempt was blocked.
If the deletion acknowledgment is lost, retain the original payment-link and order IDs and reconcile the order with its associated payment records and payment webhook events. Base inventory handling on the reconciled outcome rather than the deletion status alone. If a payment completed, deleting the link does not refund it; fulfill the purchase or refund the payment if fulfillment is no longer possible