-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathPaymentSMS.php
69 lines (57 loc) · 1.62 KB
/
PaymentSMS.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
namespace Tpay\OriginApi;
use Tpay\OriginApi\Curl\Curl;
use Tpay\OriginApi\Utilities\ObjectsHelper;
use Tpay\OriginApi\Utilities\TException;
use Tpay\OriginApi\Utilities\Util;
class PaymentSMS extends ObjectsHelper
{
/**
* Url to verify SMS code
*
* @var string
*/
private $secureURL = 'https://sms.tpay.com/widget/verifyCode.php';
/**
* Get code sent by from tpay SMS widget.
* FieldsConfigValidator code by sending cURL to tpay server.
*
* @throws TException
*/
public function doSmsRequest()
{
$codeToCheck = Util::post('tfCodeToCheck', 'string');
$hash = Util::post('tfHash', 'string');
if (false === $codeToCheck || false === $hash) {
throw new TException('Invalid input data');
}
$postData = [
'tfCodeToCheck' => $codeToCheck,
'tfHash' => $hash,
];
Util::log('Sms verification request', json_encode($postData));
$response = $this->requests($this->secureURL, $postData);
Util::log('Sms verification response', print_r($response, true));
return $this->isValidCode($response);
}
public function requests($url, $params)
{
$this->curl = new Curl();
return $this->curl
->setRequestUrl($url)
->setPostData($params)
->doRequest()
->getResult();
}
/**
* @param mixed $response
*
* @return bool
*/
private function isValidCode($response)
{
$data = explode("\n", $response);
$status = (int) $data[0];
return (bool) $status;
}
}