Skip to main content

Who started a refund

payment.refund.created and payment.refund.reversed carry initiated_via: how the refund was started. On payment.refund.reversed it describes the refund being reversed, not the reversal. The field is a string, not a closed list. Treat a value you do not recognise as unknown and keep processing the event: more values may be added.

When it is absent

COPE fills initiated_via only when it is certain how the refund was started. It is absent:
  • on refunds made before the field existed;
  • on refunds of PayPal payments started through COPE;
  • when COPE could not attribute the refund with certainty, for example when COPE retried a request after a timeout and the processor answered with the refund from the earlier request;
  • on a reversal PayPal starts itself, which arrives as payment.refund.created.
Chargebacks and disputes carry no initiator: the buyer’s card issuer always starts them.