Skip to main content

Payment lifecycle

Generated from COPE public event contracts. Do not edit this page by hand.
Payment events describe money-state transitions. COPE does not emit a separate public payment.pending event; pending is an inferred transitional state after checkout creation and before a terminal payment event.

Payment States

StateMeaningEventSchema-backed page
pendingPayment processing has started but no terminal outcome is available yet.No separate eventImplied by checkout/order flow
succeededThe sale payment succeeded.payment.sale.succeededSchema
failedThe payment attempt failed before a completed order could be fulfilled.Contact COPE support for current integration guidance.Not published
refundedA full or partial refund was created.payment.refund.createdSchema
refund_reversedA prior refund was reversed.payment.refund.reversedSchema
dispute_openedA dispute was opened for the payment.payment.dispute.openedSchema
dispute_wonThe dispute resolved in the vendor platform side favor.payment.dispute.wonSchema
dispute_lostThe dispute resolved against the vendor platform side.payment.dispute.lostSchema
dispute_counter_fee_createdA dispute counter fee was created.payment.dispute.counter_fee.createdSchema
chargebackedA chargeback was created for the payment.payment.chargeback.createdSchema
chargeback_reversedA prior chargeback was reversed.payment.chargeback.reversedSchema

Relationship To Orders

NeedPreferWhy
Fulfillment, access grants, or buyer-facing order handlingcart.order.completedIt is the order-level business fact.
Payment reconciliation, attribution, or money-state workflowspayment.sale.succeededIt is the payment-centric success fact.
Refund or chargeback reconciliationpayment.refund.* and payment.chargeback.*These events announce post-sale money-state changes.

Consumption Notes

  • Do not wait for payment.pending; no such public event is emitted.
  • Process terminal events idempotently because webhook delivery is at least once.
  • A partial refund uses payment.refund.created; inspect the amount fields in the payload rather than expecting a separate event type.