The SDK should help - SmashPig can just feed one of their classes the request body and headers, and read out the payment properties as an associative array.
Documentation here: https://payments.amazon.com/documentation/lpwa/201749840#201750560
says the notifications just tell us that objects (Order Reference, Authorization, Capture, Refund) have changed state. We then have to call GetXXXDetails to retrieve the full details of the object.
We only care about Captures and Refunds now, but we'll need to get donor details from the associated Order Reference.