Błąd podczas zapisu cache do pliku przy wykonywaniu płatności

Błąd podczas zapisu cache do pliku przy wykonywaniu płatności
SS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 180
0

Cześć,
Korzystam z biblioteki payu do php, tworzę płatność

Kopiuj
OpenPayU_Configuration::setEnvironment(config('services.payu.env'));
OpenPayU_Configuration::setMerchantPosId(config('services.payu.id'));
OpenPayU_Configuration::setSignatureKey(config('services.payu.md5'));
OpenPayU_Configuration::setOauthClientId(config('services.payu.client_id'));
OpenPayU_Configuration::setOauthClientSecret(config('services.payu.client_secret'));

$order = [];
$order['notifyUrl'] = config('app.url').'/payments/notify';
$order['continueUrl'] = config('app.url').'/payments/success';
$order['customerIp'] = $_SERVER['REMOTE_ADDR'];
$order['merchantPosId'] = OpenPayU_Configuration::getMerchantPosId();
$order['description'] = 'Płatność za zamówienie nr. ' . $payment->id;
$order['currencyCode'] = 'PLN';
$order['totalAmount'] = $payment->price;
$order['extOrderId'] = Str::random(4);

$order['products'][0]['name'] = 'Opłata. ' . $payment->id;
$order['products'][0]['unitPrice'] = $payment->price;
$order['products'][0]['quantity'] = 1;

$order['buyer']['email'] = $payment->user->email;
$order['buyer']['phone'] = $payment->user->phone;
$order['buyer']['firstName'] = $payment->user->name;
$order['buyer']['lastName'] = $payment->user->name;

$response = OpenPayU_Order::create($order);

w konsoli mam

Kopiuj
Oauth error: [code=0], [message=Cache directory [/.../vendor/openpayu/openpayu/lib/OpenPayU/Oauth/Cache/../../../Cache] not exist or not writable.]

pierwszy raz się z tym błędem spotykam. To jest sandbox i lokalnie działa prawidłowo natomiast po przeniesieniu na serwer jest ten błąd. Wszystkie dane z konfiguracji są zaciągane

EH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1208
2

No i czego nie rozumiesz w tym błędzie? Payu zapisuje cache, tam gdzie chce zapisać skrypt nie ma uprawnień. W libce payu możesz ustawić mu sam lokalizacje gdzie ma zapisywać cache i powinieneś to zrobić kierując go do jakiegoś folderu gdzie i apka twoja zapisuje cache.

L7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 434
0

@LampaAlladyna - LOL 😆 Ale kto się tutaj wymądrza? I gdzie tutaj jest mowa o jakiś modyfikacjach plików w "vendor"? @ehhhhh prawidłowo podał rozwiązanie. Co więcej - dodam jeszcze, że w dokumentacji na GIT jest nawet takie zdanie:
"ATTENTION: for security reasons it is recommended to change the Cache folder, so it would not be accessible from the web browser."

Także zluzuj lepiej bo widzę, że nie zrozumiałeś problemu oraz nie zrozumiałeś odpowiedzi na rozwiązanie tego problemu.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.