fraudlabs-pro-for-woocommerce
/
vendor
/
fraudlabspro
/
fraudlabspro-php
/
src
/
SmsVerification.php
Configuration.php
5 years ago
FraudValidation.php
5 years ago
Http.php
5 years ago
SmsVerification.php
5 years ago
SmsVerification.php
82 lines
| 1 | <?php |
| 2 | |
| 3 | namespace FraudLabsPro; |
| 4 | |
| 5 | /** |
| 6 | * FraudLabsPro SMS Verification module. |
| 7 | * Send SMS Verification for authentication and get Verification result. |
| 8 | */ |
| 9 | class SmsVerification |
| 10 | { |
| 11 | |
| 12 | private $flpApiKey = ''; |
| 13 | |
| 14 | public function __construct($config) |
| 15 | { |
| 16 | $this->flpApiKey = $config->apiKey; |
| 17 | } |
| 18 | |
| 19 | /** |
| 20 | * Send SMS Verification for authentication. |
| 21 | * |
| 22 | * @param array $params parameters of sms details |
| 23 | * |
| 24 | * @return object fraudLabs Pro result in JSON object |
| 25 | */ |
| 26 | public function sendSms($params = []) |
| 27 | { |
| 28 | if (isset($params['tel'])) { |
| 29 | if (strpos($params['tel'], '+') !== 0) { |
| 30 | $params['tel'] = '+' . $params['tel']; |
| 31 | } |
| 32 | } |
| 33 | |
| 34 | $queries = [ |
| 35 | 'key' => $this->flpApiKey, |
| 36 | 'format' => 'json', |
| 37 | 'tel' => (isset($params['tel'])) ? $params['tel'] : '', |
| 38 | 'otp_timeout' => (isset($params['otp_timeout'])) ? $params['otp_timeout'] : 3600, |
| 39 | 'mesg' => (isset($params['mesg'])) ? $params['mesg'] : '', |
| 40 | 'country_code' => (isset($params['country_code'])) ? $params['country_code'] : '', |
| 41 | 'source' => (isset($params['source'])) ? $params['source'] : '', |
| 42 | ]; |
| 43 | |
| 44 | $http = new Http(); |
| 45 | $response = $http->post('https://api.fraudlabspro.com/v1/verification/send', $queries); |
| 46 | |
| 47 | if (($json = json_decode($response)) === null) { |
| 48 | return false; |
| 49 | } |
| 50 | |
| 51 | return $json; |
| 52 | } |
| 53 | |
| 54 | /** |
| 55 | * Get Verification result. |
| 56 | * |
| 57 | * @param array $params parameters of sms details |
| 58 | * |
| 59 | * @return object fraudLabs Pro result in JSON object |
| 60 | */ |
| 61 | public function verifyOtp($params = []) |
| 62 | { |
| 63 | $queries = [ |
| 64 | 'key' => $this->flpApiKey, |
| 65 | 'format' => 'json', |
| 66 | 'tran_id' => (isset($params['tran_id'])) ? $params['tran_id'] : '', |
| 67 | 'otp' => (isset($params['otp'])) ? $params['otp'] : '', |
| 68 | ]; |
| 69 | |
| 70 | $http = new Http(); |
| 71 | $response = $http->post('https://api.fraudlabspro.com/v1/verification/result', $queries); |
| 72 | |
| 73 | if (($json = json_decode($response)) === null) { |
| 74 | return false; |
| 75 | } |
| 76 | |
| 77 | return $json; |
| 78 | } |
| 79 | } |
| 80 | |
| 81 | class_alias('FraudLabsPro\SmsVerification', 'FraudLabsPro_SmsVerification'); |
| 82 |