Fala Claudio, problema semelhante por aqui.
Uso os arquivos padr?o do WooCommerce para produzir a loja e simplesmente adicionei o plugin que fez, juntamente com outros como o dos Correios, Extra Checkouts, etc.
O que acontece para mim é que, após a confirma??o, aceite dos termos de compra e uso, escolha das formas de pagamento (a do pagSeguro é a única), frete, tudo numa mesma página, eu escolho “Finalizar Compra” e o WordPress me joga pra página de pagamento (detalhe que escolhi o lightbox como forma de pagamento). O seguinte erro aparece:
Warning: Missing argument 2 for WC_PagSeguro_API::do_payment_request(), called in /var/www/html/lovebookids.com.br/web/wp-content/plugins/woocommerce-pagseguro/includes/class-wc-pagseguro-gateway.php on line 441 and defined in /var/www/html/lovebookids.com.br/web/wp-content/plugins/woocommerce-pagseguro/includes/class-wc-pagseguro-api.php on line 587
Logo em seguida uma mensagem de feedback no formato do WooCommerce também é mostrada:
PagSeguro: Por favor, selecione um método de pagamento.
Olhei no código fonte das classes que criou e nas linhas indicadas pelo erro, no arquivo class-wc-pagseguro-api.php
, o bloco de código a seguir é o que contém o erro:
/* LINES 579 TO 602 - Mateus Leon */
/**
* Do payment request.
*
* @param WC_Order $order Order data.
* @param array $posted Posted data.
*
* @return array
*/
public function do_payment_request( $order, $posted ) {
$payment_method = isset( $posted['pagseguro_payment_method'] ) ? $posted['pagseguro_payment_method'] : '';
/**
* Validate if has selected a payment method.
*/
if ( ! in_array( $payment_method, $this->get_available_payment_methods() ) ) {
return array(
'url' => '',
'data' => '',
'error' => array( '<strong>' . __( 'PagSeguro', 'woocommerce-pagseguro' ) . '</strong>: ' . __( 'Please, select a payment method.', 'woocommerce-pagseguro' ) )
);
}
// Sets the xml.
$xml = $this->get_payment_xml( $order, $posted );
Isso ajuda a esclarecer o problema que acontece comigo? Precisa de mais alguma informa??o?