use psr-7
This commit is contained in:
parent
58777b4973
commit
e7b8fe2985
|
@ -17,7 +17,8 @@
|
||||||
"php-http/client-implementation": "^1",
|
"php-http/client-implementation": "^1",
|
||||||
"php-http/message": "^1.5",
|
"php-http/message": "^1.5",
|
||||||
"php-http/discovery": "^1.14",
|
"php-http/discovery": "^1.14",
|
||||||
"symfony/http-foundation": "^6"
|
"symfony/http-foundation": "^6",
|
||||||
|
"guzzlehttp/psr7": "^2.3"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"php-http/mock-client": "^1",
|
"php-http/mock-client": "^1",
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "841c259ae4952442e7eaa53f1410765c",
|
"content-hash": "c176a4d7f47087c07fb8b86b76044123",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "clue/stream-filter",
|
"name": "clue/stream-filter",
|
||||||
|
|
|
@ -4,6 +4,10 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Payeer;
|
namespace Payeer;
|
||||||
|
|
||||||
|
use Http\Discovery\HttpClientDiscovery;
|
||||||
|
use Http\Discovery\Psr17FactoryDiscovery;
|
||||||
|
use GuzzleHttp\Psr7\Utils;
|
||||||
|
|
||||||
class Adapter
|
class Adapter
|
||||||
{
|
{
|
||||||
private array $arParams = array();
|
private array $arParams = array();
|
||||||
|
@ -19,37 +23,28 @@ class Adapter
|
||||||
|
|
||||||
protected function request(array $req = array())
|
protected function request(array $req = array())
|
||||||
{
|
{
|
||||||
|
$client = HttpClientDiscovery::find();
|
||||||
|
$messageFactory = Psr17FactoryDiscovery::findRequestFactory();
|
||||||
$msec = round(microtime(true) * 1000);
|
$msec = round(microtime(true) * 1000);
|
||||||
|
|
||||||
$req['post']['ts'] = $msec;
|
$req['post']['ts'] = $msec;
|
||||||
|
|
||||||
$post = json_encode($req['post']);
|
$post = json_encode($req['post']);
|
||||||
|
|
||||||
$sign = hash_hmac('sha256', $req['method'] . $post, $this->arParams['key']);
|
$sign = hash_hmac('sha256', $req['method'] . $post, $this->arParams['key']);
|
||||||
|
|
||||||
$ch = curl_init();
|
$request = $messageFactory->createRequest('POST', 'https://payeer.com/api/trade/' . $req['method'])
|
||||||
curl_setopt($ch, CURLOPT_URL, "https://payeer.com/api/trade/" . $req['method']);
|
->withHeader('Content-Type', 'application/json')
|
||||||
|
->withHeader('API-ID', $this->arParams['id'])
|
||||||
|
->withHeader('API-SIGN', $sign)
|
||||||
|
->withBody(Utils::streamFor($post));
|
||||||
|
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
$response = $client->sendRequest($request);
|
||||||
curl_setopt($ch, CURLOPT_HEADER, false);
|
if ($response->getStatusCode() !== 200) {
|
||||||
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
throw new \Exception('Server returned ' . $response->getStatusCode() . ':' . $response->getReasonPhrase());
|
||||||
|
}
|
||||||
|
|
||||||
curl_setopt($ch, CURLOPT_POST, true);
|
$arResponse = json_decode((string) $response->getBody(), true);
|
||||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
|
||||||
|
|
||||||
curl_setopt(
|
|
||||||
$ch,
|
|
||||||
CURLOPT_HTTPHEADER,
|
|
||||||
array(
|
|
||||||
"Content-Type: application/json",
|
|
||||||
"API-ID: " . $this->arParams['id'],
|
|
||||||
"API-SIGN: " . $sign
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
$response = curl_exec($ch);
|
|
||||||
curl_close($ch);
|
|
||||||
|
|
||||||
$arResponse = json_decode($response, true);
|
|
||||||
|
|
||||||
if ($arResponse['success'] !== true) {
|
if ($arResponse['success'] !== true) {
|
||||||
$this->arError = $arResponse['error'];
|
$this->arError = $arResponse['error'];
|
||||||
|
|
Loading…
Reference in New Issue