Handling checklist

  1. Verify the signature. Reject anything that fails, before reading the body.
  2. Read data.requiredActions. Treat a missing key as empty.
  3. For each entry, switch on type and read the matching details object.
  4. Match entries to your own records using transactionUuid, which is the transaction identifier you supplied when the dispute was created.
  5. Do not act on data.dispute.actions or the per transaction requiredActions.
  6. Record notifyCustomer entries when they arrive. They are not repeated.
  7. Expect repeat messages. Make your handling idempotent.