yoomoney / yandex-checkout-sdk-php

MIT License
4 stars 0 forks source link

При указании валюты, отличной от валюты магазина, в ответ приходит Internal Server Error #47

Open valeryalexeev opened 5 years ago

valeryalexeev commented 5 years ago

Указываю USD, в ответ приходит Internal Server Error. Те же параметры, указываю currency RUB, всё проходит отлично. Вероятно, есть смысл, возвращать статус о проблеме с валютой.

Request:

$response = $client->createPayment([
    'amount' => [
        'value' => 1,
        'currency' => 'USD'
    ],
    'payment_method_data' => [
        'type' => 'yandex_money'
    ],
    'confirmation' => [
        'type' => 'redirect',
        'return_url' => get_home_url() . '/payment-success'
    ]
], $idempotenceKey);

Response:

<b>Fatal error</b>:  Uncaught YandexCheckout\Common\Exceptions\InternalServerError: Internal server error.Error code: internal_server_error. in /var/www/toors.co/data/www/toors.co/wp-content/themes/va/inc/yandex-checkout-sdk-php-master/lib/Client.php:784
Stack trace:
#0 /var/www/toors.co/data/www/toors.co/wp-content/themes/va/inc/yandex-checkout-sdk-php-master/lib/Client.php(382): YandexCheckout\Client-&gt;handleError(Object(YandexCheckout\Common\ResponseObject))
#1 /var/www/toors.co/data/www/toors.co/wp-content/themes/va-child/functions.php(90): YandexCheckout\Client-&gt;createPayment(Object(YandexCheckout\Request\Payments\CreatePaymentRequest), '5c12ce31e369f6....')
#2 /var/www/toors.co/data/www/toors.co/wp-includes/class-wp-hook.php(286): process_payment('')
#3 /var/www/toors.co/data/www/toors.co/wp-includes/class-wp-hook.php(310): WP_Hook-&gt;apply_filters('', Array)
#4 /var/www/toors.co/data/www/toors.co/wp-includes/plugin.php(453): WP_Hook-&gt;do_action(Array)
#5 /var/www/toors.co/data/www/toors.co/wp-admin/admin-ajax.php(100): do_acti in <b>/var/www/toors.co/data/www/toors.co/wp-content/themes/va/inc/yandex-checkout-sdk-php-master/lib/Client.php</b> on line <b>784</b><br />
ostulov commented 5 years ago

Спасибо, подумаем над изменением логики выдачи сообщения об ошибке.