$request->getType(), 'send' => $request->getSend(), ), $this->serializeObjectId($request)); /** @var Settlement $item */ foreach ($request->getSettlements() as $item) { $result['settlements'][] = $item->jsonSerialize(); } /** @var ReceiptItem $item */ foreach ($request->getItems() as $item) { $result['items'][] = $item->jsonSerialize(); } $customer = $request->getCustomer(); if (!empty($customer)) { $result['customer'] = $customer->jsonSerialize(); } $value = $request->getTaxSystemCode(); if (!empty($value)) { $result['tax_system_code'] = $value; } $onBehalfOf = $request->getOnBehalfOf(); if (!empty($onBehalfOf)) { $result['on_behalf_of'] = $onBehalfOf; } return $result; } /** * @param CreatePostReceiptRequestInterface $request * @return array */ private function serializeObjectId(CreatePostReceiptRequestInterface $request) { $result = array(); if ($request->getType() === ReceiptType::PAYMENT) { $result['payment_id'] = $request->getObjectId(); } elseif ($request->getType() === ReceiptType::REFUND) { $result['refund_id'] = $request->getObjectId(); } return $result; } }