Интересует обработка транзакций, когда пользователь отменил платеж каким-либо образом. В частности среди прочих состояний, переменная payment_status может быть равна "Cansel_Reversal", "Reversed". Вопрос состоит в следующем: это два соверешенно разных состояния или же одно из них высылается сразу после другого как подтверждение предыдущему ? Все что есть в мане по этим состояниям Canceled_Reversal: A reversal has been canceled. For example, you won a dispute with the customer, and the funds he transaction that was reversed have been returned to you. Reversed: A payment was reversed due to a chargeback or other type of reversal. The funds have been removed from your account balance and returned to the buyer. The reason for the reversal is specified in the ReasonCode element.
Если честно не работал с ПейПалом, но чисто переводом получаем, что Reversed - это когда пользователь отменил платёж и вернул себе деньги. А Canceled_Reversal, это уже после Reversed, пользователь снова вернул деньги Вам (например, если вы ему доказали, что он должен-таки заплатить)
В общем все оказалось проще, просто меня повергла в недоразумение фраза "you won a dispute with the customer". Кому интересно, то работает это так Если покупатель недоволен продуктом - он пишет жалобу и пайпал высылает Reversed. В этот момент деньги блокируются . Далее по прошествии некоторого времени он может либо подтвердить свою жалобу либо отменить. В случае отмены жалобы пайпал высылает Canseled_Reversal. В случае подтверждения жалобы вроде бы придет Refunded