public function init($map = null, $prefix = '') { if ($map != null) { if (PPUtils::array_match_key($map, $prefix . "responseEnvelope.")) { $newPrefix = $prefix . "responseEnvelope."; $this->responseEnvelope = new ResponseEnvelope(); $this->responseEnvelope->init($map, $newPrefix); } if (PPUtils::array_match_key($map, $prefix . "invoice.")) { $newPrefix = $prefix . "invoice."; $this->invoice = new InvoiceType(); $this->invoice->init($map, $newPrefix); } if (PPUtils::array_match_key($map, $prefix . "invoiceDetails.")) { $newPrefix = $prefix . "invoiceDetails."; $this->invoiceDetails = new InvoiceDetailsType(); $this->invoiceDetails->init($map, $newPrefix); } if (PPUtils::array_match_key($map, $prefix . "paymentDetails.")) { $newPrefix = $prefix . "paymentDetails."; $this->paymentDetails = new PaymentDetailsType(); $this->paymentDetails->init($map, $newPrefix); } if (PPUtils::array_match_key($map, $prefix . "refundDetails.")) { $newPrefix = $prefix . "refundDetails."; $this->refundDetails = new PaymentRefundDetailsType(); $this->refundDetails->init($map, $newPrefix); } $mapKeyName = $prefix . 'invoiceURL'; if ($map != null && array_key_exists($mapKeyName, $map)) { $this->invoiceURL = $map[$mapKeyName]; } $i = 0; while (true) { if (PPUtils::array_match_key($map, $prefix . "error({$i})")) { $newPrefix = $prefix . "error({$i})."; $this->error[$i] = new ErrorData(); $this->error[$i]->init($map, $newPrefix); } else { break; } $i++; } } }