amount_factory = $amount_factory; } /** * Returns the capture object based off the PayPal response. * * @param \stdClass $data The PayPal response. * * @return Capture */ public function from_paypal_response( \stdClass $data ) : Capture { $reason = $data->status_details->reason ?? null; return new Capture( (string) $data->id, new CaptureStatus( (string) $data->status, $reason ? new CaptureStatusDetails( $reason ) : null ), $this->amount_factory->from_paypal_response( $data->amount ), (bool) $data->final_capture, (string) $data->seller_protection->status, (string) $data->invoice_id, (string) $data->custom_id ); } }