WC_Gateway_Paypal_Request::fix_request_length()
If the default request with line items is too long, generate a new one with only one line item.
If URL is longer than 2,083 chars, ignore line items and send cart to Paypal as a single item. One item's name can only be 127 characters long, so the URL should not be longer than limit. URL character limit via: https://support.microsoft.com/en-us/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer.
Метод класса: WC_Gateway_Paypal_Request{}
Хуки из метода
Возвращает
Массив
.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->fix_request_length( $order, $paypal_args );
- $order(WC_Order) (обязательный)
- Order to be sent to Paypal.
- $paypal_args(массив) (обязательный)
- Arguments sent to Paypal in the request.
Код WC_Gateway_Paypal_Request::fix_request_length() WC Gateway Paypal Request::fix request length WC 9.3.3
protected function fix_request_length( $order, $paypal_args ) { $max_paypal_length = 2083; $query_candidate = http_build_query( $paypal_args, '', '&' ); if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) { return $paypal_args; } return apply_filters( 'woocommerce_paypal_args', array_merge( $this->get_transaction_args( $order ), $this->get_line_item_args( $order, true ) ), $order ); }