Skip to content

Commit bb72918

Browse files
committed
Merge branch 'add_useragent' into 'main'
added client IP, user agent and referer, deleted SOM See merge request ypmn-public/php-api-client!32
2 parents e39f2af + 4e86b96 commit bb72918

11 files changed

+31
-115
lines changed

example_list.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,6 @@
166166
'docLink' => 'https://ypmn.ru/ru/documentation/#tag/reports/paths/~1v4~1reports~1chart/get',
167167
'link' => '',
168168
],
169-
'SOMGetPaymentLink' => [
170-
'name' => 'Оплата зарубежными картами',
171-
'about' => 'В этом примере показана простая реализация оплаты заказа зарубежной картой.',
172-
'docLink' => 'https://ypmn.ru/ru/documentation/#tag/payment-api',
173-
'link' => '',
174-
],
175169
'qstCreateOrg' => [
176170
'name' => 'Подключение продавца-организации (отправка анкеты)',
177171
'about' => 'В этом примере показана реализация отправки анкеты подключаемого продавца-организации на проверку в YPMN.',

src/ApiRequest.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,17 +367,21 @@ private function sendPostPutRequest(
367367
throw new PaymentException('Incorrect request body JSON');
368368
}
369369

370-
371370
$encodedJsonDataHash = md5($encodedJsonData);
372371

373372
$curl = curl_init();
374373
$date = (new DateTime())->format(DateTimeInterface::ATOM);
375374
$requestHttpVerb = $method;
376375

376+
$useragent = "SDK_" . @PHP_VERSION;
377+
$referer = @$_SERVER['HTTP_HOST'] ?? @$_SERVER['SERVER_NAME'] ?? "" . @$_SERVER['REQUEST_URI'] ?? "";
378+
377379
$setOptArray = [
378380
CURLOPT_URL => $this->getHost() . $api,
379381
CURLOPT_RETURNTRANSFER => true,
380382
CURLOPT_ENCODING => '',
383+
CURLOPT_USERAGENT => strip_tags($useragent),
384+
CURLOPT_REFERER => strip_tags($referer),
381385
CURLOPT_MAXREDIRS => 10,
382386
CURLOPT_TIMEOUT => 60,
383387
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

src/Authorization.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ public function setPaymentMethod(?string $paymentMethod = null) : self
5050
case PaymentMethods::CCVISAMC:
5151
case PaymentMethods::FASTER_PAYMENTS:
5252
case PaymentMethods::INTCARD:
53-
case PaymentMethods::MIRPAY:
5453
case PaymentMethods::ALFAPAY:
5554
case PaymentMethods::TPAY:
5655
case PaymentMethods::SBERPAY:

src/Client.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,24 @@ class Client implements ClientInterface
1919
/** @var DeliveryInterface Информация о доставке */
2020
private DeliveryInterface $delivery;
2121

22+
function __construct() {
23+
if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
24+
$ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
25+
} elseif (!empty($_SERVER['HTTP_CLIENT_IP'])) {
26+
$ip = $_SERVER['HTTP_CLIENT_IP'];
27+
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
28+
$ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
29+
$ip = trim($ips[0]); // take the first IP in the list
30+
} else {
31+
$ip = $_SERVER['REMOTE_ADDR'];
32+
}
33+
34+
if (filter_var($ip, FILTER_VALIDATE_IP) === false) {
35+
$ip = '127.0.0.1';
36+
}
37+
38+
$this->setClientIp($ip);
39+
}
2240

2341
/** @inheritDoc */
2442
public function getBilling(): BillingInterface

src/Examples/SOMGetPaymentLink.php

Lines changed: 0 additions & 99 deletions
This file was deleted.

src/Examples/getPaymentLink.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@
192192
// Установим номер заказа (должен быть уникальным в вашей системе)
193193
$payment->setMerchantPaymentReference('primer_nomer__' . time());
194194
// Установим адрес перенаправления пользователя после оплаты
195-
$payment->setReturnUrl('http://' . $_SERVER['SERVER_NAME'] . '/php-api-client/?function=returnPage');
195+
$payment->setReturnUrl('https://' . @$_SERVER['HTTP_HOST'] . '/php-api-client/?function=returnPage');
196196
// Установим клиентское подключение
197197
$payment->setClient($client);
198198

src/Examples/getPaymentLinkMarketplace.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
// Установим номер заказа (должен быть уникальным в вашей системе)
125125
$payment->setMerchantPaymentReference('primer_nomer__' . time());
126126
// Установим адрес перенаправления пользователя после оплаты
127-
$payment->setReturnUrl('https://test.u2go.ru/php-api-client/?function=returnPage');
127+
$payment->setReturnUrl('https://' . @$_SERVER['HTTP_HOST'] . '/php-api-client/?function=returnPage');
128128
// Установим клиентское подключение
129129
$payment->setClient($client);
130130

src/Examples/payQrCode.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
// Установим номер заказа (должен быть уникальным в вашей системе)
6565
$payment->setMerchantPaymentReference($merchantPaymentReference);
6666
// Установим адрес перенаправления пользователя после оплаты
67-
$payment->setReturnUrl('https://test.u2go.ru/php-api-client/?function=returnPage');
67+
$payment->setReturnUrl('https://' . @$_SERVER['HTTP_HOST'] . '/php-api-client/?function=returnPage');
6868
// Установим клиентское подключение
6969
$payment->setClient($client);
7070

src/Examples/paymentByToken.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
// Установим номер заказа (должен быть уникальным в вашей системе)
7070
$payment->setMerchantPaymentReference($merchantPaymentReference);
7171
// Установим адрес перенаправления пользователя после оплаты
72-
$payment->setReturnUrl('https://test.u2go.ru/php-api-client/?function=returnPage');
72+
$payment->setReturnUrl('https://' . @$_SERVER['HTTP_HOST'] . '/php-api-client/?function=returnPage');
7373
// Установим клиентское подключение
7474
$payment->setClient($client);
7575

src/Examples/simpleGetPaymentLink.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Ypmn\Billing;
99
use Ypmn\ApiRequest;
1010
use Ypmn\PaymentException;
11+
use Ypmn\PaymentMethods;
1112
use Ypmn\Product;
1213
use Ypmn\Std;
1314

@@ -55,11 +56,11 @@
5556
// Создадим запрос на авторизацию платежа
5657
// здесь первым параметром можно передать конкретный способ оплаты из справочника
5758
// PaymentMethods.php
58-
$payment->setAuthorization(new Authorization());
59+
$payment->setAuthorization(new Authorization(PaymentMethods::CCVISAMC));
5960
// Установим номер заказа (должен быть уникальным в вашей системе)
6061
$payment->setMerchantPaymentReference($merchantPaymentReference);
6162
// Установим адрес перенаправления пользователя после оплаты
62-
$payment->setReturnUrl('https://test.u2go.ru/php-api-client/?function=returnPage');
63+
$payment->setReturnUrl('https://' . @$_SERVER['HTTP_HOST'] . '/php-api-client/?function=returnPage');
6364
// Установим клиентское подключение
6465
$payment->setClient($client);
6566

0 commit comments

Comments
 (0)