PayU-EMEA / woo-payu-payment-gateway

PayU Payment Gateway for WooCommerce
Apache License 2.0
45 stars 19 forks source link

Problem z continueurl #59

Closed pdiaczek closed 1 year ago

pdiaczek commented 1 year ago

Witam,

Mam nastepujący problem z wtyczką. Kiedy próbuję złożyć zamówienie z uzyciem payU dostaję zwrotkę 400 - invalid continueUrl

w create order po zdebugowaniu jak wygląda url otrzymuję: [continueUrl] => /zamowienie-otrzymane/1368/?key=wc_order_fqPg78VJujJqY

Wtyczka zaczyna działać poprawnie jak dopiszę w: WC_PayUGateways.php w zmiennej $orderData['continueUrl] = [string z adresem strony] . $this->get_return_url($order),

samo this->get_return_url zwraca /zamowienie-otrzymane... z pominięciem https i adresu strony.

możliwe, że jest to kwestia zmiany endpointu z domyślnego lecz IMHO taka opcja nie jest normalną praktyką przy edycji sklepu.

regdos commented 1 year ago

metoda get_return_url to już wewnętrzna metoda WooCommerce, która jest zdefiniowana następująco:

    /**
     * Get the return url (thank you page).
     *
     * @param WC_Order|null $order Order object.
     * @return string
     */
    public function get_return_url( $order = null ) {
        if ( $order ) {
            $return_url = $order->get_checkout_order_received_url();
        } else {
            $return_url = wc_get_endpoint_url( 'order-received', '', wc_get_checkout_url() );
        }

        return apply_filters( 'woocommerce_get_return_url', $return_url, $order );
    }

więc powinna zwrócić adres do strony z podziękowaniem. Jeżeli tak się nie dzieje to może mieć to związek z konfiguracją lub z pluginem/motywem, który w jakiś sposób modyfikuje ten adres zapinając się na jakiś filtr. Z tej funkcji korzystają również wbudowane w WooCommerce metody płatności.