За последние 24 часа нас посетили 21994 программиста и 989 роботов. Сейчас ищут 680 программистов ...

Получить ссылку на оплату PayPal

Тема в разделе "Wordpress", создана пользователем vah-smile, 7 июн 2021.

  1. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    Как на WordPress + WooCommerce получить ссылку на оплату PayPal по Order ID ?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    как в документации указано
     
  3. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    В документации говорит, что метод для оплаты нужно выводить на странице checkout, а я же хочу вывести способ оплаты на странице оплаты ( /checkout/order-pay - https://prnt.sc/14l1w0i ). По умолчанию я задаю метод оплаты картой, но на странице /checkout/order-pay уже сформирован Order ID. Если здесь пользователь захочет сменить способ оплаты - то нужно не создавать новый ордер, а перезадать метод оплаты для существующего ордера и сформировать ссылку. Но как это сделать - не совсем понимаю...
    Пытаюсь получить ссулку на оплату с помощью Ajax:
    PHP:
    1. $order = wc_get_order( $order_id );
    2. $WC_Gateway_Paypal_Request = new WC_Gateway_Paypal_Request();
    3. $url = $WC_Gateway_Paypal_Request->get_request_url($order);
    но этот код возвращает код ошибки 500 - https://prnt.sc/14l3mry
    Может я что-то упустил?...
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    !=
    --- Добавлено ---
    после перехода на оплату билета, юзеру предлагается способ принимаемых продуктов.
     
  5. vah-smile

    vah-smile Активный пользователь

    С нами с:
    13 апр 2009
    Сообщения:
    162
    Симпатии:
    1
    Адрес:
    Украина, Ровно
    Всем спасибо. Нашел решение:
    PHP:
    1. $o = new WC_Gateway_Paypal();
    2. $item = $o->process_payment($order_id);
    3.  
    4. if($item['result'] == 'success') {
    5.     echo $item['redirect'];
    6. }