Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Monday, 2 November 2020

Walmart’s PhonePe zips past Google Pay in India as UPI tops 2B monthly transactions

UPI, a four-year-old payments infrastructure built by India’s largest banks, surpassed 2 billion transactions last month, exactly a year after hitting the 1 billion monthly transactions milestone.

Driving the transactions for UPI — which has become the most popular digital payments method in India thanks to its open architecture that allows interoperability among all participating payments apps — are Walmart’s PhonePe, Google Pay, Paytm, and Amazon Pay.

“Unlike China, we have given equal opportunities to both small and large domestic and foreign companies,” said Dilip Asbe, chief executive of NPCI, the payments body behind UPI, in an earlier interview.

But for the first time in more than a year, Google Pay did not drive the most volume of UPI transactions. PhonePe recorded 835 million UPI transactions in October, it said, while Google Pay hit about 820 million, according to people familiar with the matter.

Paytm recorded about 245 million transactions, while Amazon Pay settled with about 125 million, the people said.

In a statement, PhonePe confirmed that it assumed the “market leading position” with over 40% of all UPI transactions last month. Google and Paytm did not immediately respond to a request for comment.

TechCrunch could not determine how many unique monthly transacting users these payments firms have amassed in the country. In May, Google Pay had about 75 million transacting users, ahead of 60 million of PhonePe and 30 million of Paytm.

Unlike Google Pay, both Paytm and PhonePe also operate a wallet service. The wallet service is not powered by UPI. PhonePe said overall it processed 925 million transactions last month and had over 100 million monthly active users.

PhonePe has recently seen a surge in its transactions as more offline shops open and merchants and consumers opt for a digital alternative to complete transactions. The app has also added a range of financing services, including 600,000 insurance policies, it said.

“We are on a mission to make digital payments a way of life for every Indian citizen, and our next target is to cross 500 million registered users by Dec 2022. In line with our brand ethos of ‘Karte Ja. Badhte Ja,’ (Hindi for keep working and growing) we continue to launch new and innovative products for every strata of Indian society, as well as enable digital payment acceptance across every merchant in every village and town in India,” said Sameer Nigam, chief executive and founder of PhonePe, in a statement.

As the market grows, some top payments firms in the country have also had differences among themselves. Google temporarily pulled the app of Paytm, India’s most valuable app, in September for repeated violations of Play Store guidelines. Paytm alleged that Google’s Pay app engages in a similar set of practices and has since launched its own store and formed an informal coalition with other top startups in India to cut reliance on Android maker.

Industry executives have also claimed that Google Pay, which like other popular payments app in India bandies out cashback to users for making some transactions, uses UPI payments for such payments — a move they said helps Google increase the volume of UPI transactions it processes through its app. India’s mobile payments market is estimated to reach $1 trillion by 2023, according to Credit Suisse.

But these are not all the issues that these payments firms confront today. At least those on UPI are also struggling to make any money from it. At an event in Bangalore late last year, Sajith Sivanandan, managing director and business head of Google Pay and Next Billion User Initiatives, said current local rules have forced Google Pay to operate in India without a clear business model.

And things are about to get tougher as more players are expected to join the race. WhatsApp, which has over 400 million users in India, started testing UPI payments on its app in 2018. It remains stuck in a regulatory maze, however, which has prevented it from rolling out WhatsApp Pay to most of its users in the country.



from TechCrunch https://ift.tt/3812gSn
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support