public function buildRequest(TPPurchaseRequest $request) { $ticketMap = array(); $ticketMap["o1"] = $this->buildOffer($request->getPrimaryOffer()); $ticketMap["t"] = TPUtils::now(); $ticketMap["v"] = TPConfig::$MSG_VERSION; $ticketMap["cb"] = $request->getCallback(); if ($request->getClientIP()) { $ticketMap["ip"] = $request->getClientIP(); } if ($request->getUserRef() != null) { $ticketMap["uref"] = $request->getUserRef(); } if ($request->getOptions() != null && count($request->getOptions()) > 0) { $ticketMap["opts"] = $request->getOptions(); } if ($request->getSecondaryOffer() != null) { $ticketMap["o2"] = $this->buildOffer($request->getSecondaryOffer()); } return $ticketMap; }