Agent
=====
[](https://packagist.org/packages/jenssegers/agent) [](https://packagist.org/packages/jenssegers/agent) [](https://travis-ci.org/jenssegers/agent) [](https://coveralls.io/r/jenssegers/agent) [](https://www.paypal.me/jenssegers)
A PHP desktop/mobile user agent parser with support for Laravel, based on [Mobile Detect](https://github.com/serbanghita/Mobile-Detect) with desktop support and additional functionality.
<p align="center">
<img src="https://jenssegers.com/static/media/agent.png" height="275">
</p>
Installation
------------
Install using composer:
```bash
composer require jenssegers/agent
```
Laravel (optional)
------------------
Add the service provider in `config/app.php`:
```php
Jenssegers\Agent\AgentServiceProvider::class,
```
And add the Agent alias to `config/app.php`:
```php
'Agent' => Jenssegers\Agent\Facades\Agent::class,
```
Basic Usage
-----------
Start by creating an `Agent` instance (or use the `Agent` Facade if you are using Laravel):
```php
use Jenssegers\Agent\Agent;
$agent = new Agent();
```
If you want to parse user agents other than the current request in CLI scripts for example, you can use the `setUserAgent` and `setHttpHeaders` methods:
```php
$agent->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2');
$agent->setHttpHeaders($headers);
```
All of the original [Mobile Detect](https://github.com/serbanghita/Mobile-Detect) methods are still available, check out some original examples at https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples
### Is?
Check for a certain property in the user agent.
```php
$agent->is('Windows');
$agent->is('Firefox');
$agent->is('iPhone');
$agent->is('OS X');
```
### Magic is-method
Magic method that does the same as the previous `is()` method:
```php
$agent->isAndroidOS();
$agent->isNexus();
$agent->isSafari();
```
### Mobile detection
Check for mobile device:
```php
$agent->isMobile();
$agent->isTablet();
```
### Match user agent
Search the user agent with a regular expression:
```php
$agent->match('regexp');
```
Additional Functionality
------------------------
### Accept languages
Get the browser's accept languages. Example:
```php
$languages = $agent->languages();
// ['nl-nl', 'nl', 'en-us', 'en']
```
### Device name
Get the device name, if mobile. (iPhone, Nexus, AsusTablet, ...)
```php
$device = $agent->device();
```
### Operating system name
Get the operating system. (Ubuntu, Windows, OS X, ...)
```php
$platform = $agent->platform();
```
### Browser name
Get the browser name. (Chrome, IE, Safari, Firefox, ...)
```php
$browser = $agent->browser();
```
### Desktop detection
Check if the user is using a desktop device.
```php
$agent->isDesktop();
```
*This checks if a user is not a mobile device, tablet or robot.*
### Phone detection
Check if the user is using a phone device.
```php
$agent->isPhone();
```
### Robot detection
Check if the user is a robot. This uses [jaybizzle/crawler-detect](https://github.com/JayBizzle/Crawler-Detect) to do the actual robot detection.
```php
$agent->isRobot();
```
### Robot name
Get the robot name.
```php
$robot = $agent->robot();
```
### Browser/platform version
MobileDetect recently added a `version` method that can get the version number for components. To get the browser or platform version you can use:
```php
$browser = $agent->browser();
$version = $agent->version($browser);
$platform = $agent->platform();
$version = $agent->version($platform);
```
*Note, the version method is still in beta, so it might not return the correct result.*
## License
Laravel User Agent is licensed under [The MIT License (MIT)](LICENSE).
## Security contact information
To report a security vulnerability, follow [these steps](https://tidelift.com/security).
About Section
NFC Pay was founded with a vision to transform the way people handle transactions. Our journey is defined by a commitment to innovation, security, and convenience. We strive to deliver seamless, user-friendly payment solutions that make everyday transactions effortless and secure. Our mission is to empower you to pay with ease and confidence, anytime, anywhere.
FAQ Section
Here are answers to some common questions about NFC Pay. We aim to provide clear and concise information to help you understand how our platform works and how it can benefit you. If you have any further inquiries, please don’t hesitate to contact our support team.
Download the app and sign up using your email or phone number, then complete the verification process.
Yes, we use advanced encryption and security protocols to protect your payment details.
Absolutely, you can link multiple debit or credit cards to your wallet.
Go to the transfer section, select the recipient, enter the amount, and authorize the transfer.
Use the “Forgot PIN” feature in the app to reset it following the provided instructions.
Sign up for a merchant account through the app and follow the setup instructions to start accepting payments.
Yes, you can view and track your payment status in the account dashboard