/** * Build a payment entity based on a json-decoded payment stdClass * * @param stdClass $response The payment data * @return Syspay_Merchant_Entity_Payment The payment object */ public static function buildFromResponse(stdClass $response) { $chargeback = new self(); $chargeback->setId(isset($response->id) ? $response->id : null); $chargeback->setStatus(isset($response->status) ? $response->status : null); $chargeback->setAmount(isset($response->amount) ? $response->amount : null); $chargeback->setCurrency(isset($response->currency) ? $response->currency : null); $chargeback->setReasonCode(isset($response->reason_code) ? $response->reason_code : null); if (isset($response->processing_time) && !is_null($response->processing_time)) { $chargeback->setProcessingTime(Syspay_Merchant_Utils::tsToDateTime($response->processing_time)); } if (isset($response->bank_time) && !is_null($response->bank_time)) { $chargeback->setBankTime(Syspay_Merchant_Utils::tsToDateTime($response->bank_time)); } if (isset($response->payment)) { $chargeback->setPayment(Syspay_Merchant_Entity_Payment::buildFromResponse($response->payment)); } $chargeback->raw = $response; return $chargeback; }