public function verify($id, $receipt) { $data = $this->decodeReceipt($receipt); if (empty($data->receipt) === true || empty($data->userId) === true) { throw new NonFatalException('missing receipt or userId'); } $secret = Config::get('amazon.iap.secret'); $suffix = "/version/2.0/verify/developer/{$secret}/user/{$data->userId}/purchaseToken/{$data->receipt}"; $url = (Environment::is(Environment::PRODUCTION) ? self::PRODUCTION_API : self::SANDBOX_API) . $suffix; $request = new URLRequest($url); $response = $request->getJSON(false); if (empty($response) === true) { throw new Exception('invalid receipt', 400); } if (empty($response->message) === false) { throw new NonFatalException($response->message, $request->lastResponseCode); } $productId = empty($response->sku) ? null : $response->sku; return $id === $productId; }
public function getRealEnvName($name) { return Environment::prefix($name); }