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;
 }