Jump to content


Photo

Engenharia Reversa No Wp-E-Commerce + Pagseguro


  • Faça o login para participar
4 replies to this topic

#1 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 31/01/2010, 17:48

Conheci o WP-E-Commerce, um plugin que transforma o WordPress em uma loja virtual (ótima para pequenos negócios). Ok, o plugin possui algumas funções extras que não são disponibilizadas gratuitamente e como não acho justo o preço cobrado (não quero paga-lo) resolvi estudar a documentação e criar funções genéricas para desempenhar as mesmas funções vendidas (deu pra entender né?).

Já consegui ativar o módulo para upload de múltiplas imagens para o produto, arrastar os produtos para o carrinho e agora exibir todas as imagens (na versão gratuita só exibe uma).

Agora preciso fazer o WP-E-Commerce se comunicar com o PagSeguro, peguei um plugin que o pessoal da Visie disponibilizou e tentei usar funciona mas não envia os dados para o PagSeguro, impedindo realizar as cobranças. Lendo o código descobri um erro mas, não consegui resolvê-lo...

Realmente o valor não é uma string mas então, "What a hell this is fuck?" pessoal da Visie uehuehue,

Warning: unserialize() expects parameter 1 to be string, object given in /home/public_html/wordpress/wp-content/plugins/wp-e-commerce/merchants/pagseguro.php on line 28

Este é o trecho importante onde resgatamos o valor da sessão que é o conteúdo do segundo bloco de código. Mesmo quando eu coloco este valor escrito na variável (string) dá este erro Warning: Invalid argument supplied for foreach() in /home/public_html/wordpress/wp-content/plugins/wp-e-commerce/merchants/pagseguro.php on line 62

<?php
function gateway_pagseguro($seperator, $sessionid) 
{
    global $wpdb;
    
    //Existe mesmo estes dados?
    if( isset( $_SESSION['wpsc_cart'] ) )
    {
    	
    	// Carregando os dados
    	$sessao = $_SESSION['wpsc_cart'];
    	
    	//print_r( $sessao );
    	
    	$cart = unserialize( $sessao );
    	

    	
    $options = array(
        'email_cobranca' => get_option('pagseguro_email'),
        'ref_transacao'  => $_SESSION['order_id'],
        'encoding'       => 'utf-8',
        'item_frete_1'   => number_format(($cart->total_tax + $cart->base_shipping) * 100, 0, '', ''),
    );


/// muito mais código
}

?>

wpsc_cart Object ( [delivery_country] => BR [selected_country] => BR [delivery_region] => [selected_region] => [selected_shipping_method] => pagseguro [selected_shipping_option] => PAC [coupon] => [tax_percentage] => 0 [unique_id] => a15363a419eb51ed1897ece44cbc42a66fbe7e65 [errors] => Array ( ) [total_tax] => 0 [base_shipping] => 7 [total_item_shipping] => 0 [total_shipping] => [subtotal] => 200 [total_price] => 207 [uses_shipping] => [is_incomplete] => 1 [cart_items] => Array ( [0] => wpsc_cart_item Object ( [cart] => wpsc_cart Object *RECURSION* [product_id] => 3 [variation_values] => [product_variations] => [variation_data] => [quantity] => 1 [provided_price] => [product_name] => Fabricação própria [unit_price] => 200 [total_price] => 200 [taxable_price] => 200 [tax] => 0 [weight] => 0 [shipping] => [product_url] => http://criativabiju.com.br/example-category/fabricacao-propria/ [image_id] => 33 [thumbnail_image] => 33 [custom_tax_rate] => [is_donation] => [apply_tax] => 1 [priceandstock_id] => 0 [custom_message] => [custom_file] => [meta] => [comment] => [time_requested] => [file_data] => [is_customisable] => [uses_shipping] => 1 [has_limited_stock] => [file_id] => [is_downloadable] => ) ) [cart_item] => wpsc_cart_item Object ( [cart] => wpsc_cart Object *RECURSION* [product_id] => 3 [variation_values] => [product_variations] => [variation_data] => [quantity] => 1 [provided_price] => [product_name] => Fabricação própria [unit_price] => 200 [total_price] => 200 [taxable_price] => 200 [tax] => 0 [weight] => 0 [shipping] => [product_url] => http://criativabiju.com.br/example-category/fabricacao-propria/ [image_id] => 33 [thumbnail_image] => 33 [custom_tax_rate] => [is_donation] => [apply_tax] => 1 [priceandstock_id] => 0 [custom_message] => [custom_file] => [meta] => [comment] => [time_requested] => [file_data] => [is_customisable] => [uses_shipping] => 1 [has_limited_stock] => [file_id] => [is_downloadable] => ) [cart_item_count] => 1 [current_cart_item] => -1 [in_the_loop] => [shipping_methods] => Array ( [0] => pagseguro ) [shipping_method] => pagseguro [shipping_method_count] => 1 [current_shipping_method] => -1 [in_the_method_loop] => [shipping_quotes] => Array ( [Sedex] => 11,00 [PAC] => 7,00 ) [shipping_quote] => Array ( [name] => Sedex [value] => 11 ) [shipping_quote_count] => 2 [current_shipping_quote] => -1 [in_the_quote_loop] => [coupons_name] => [coupons_amount] => 0 [shipping_option] => )

Falopa!

#2 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 01/02/2010, 13:14

// Carregando os dados
        $sessao = $_SESSION['wpsc_cart'];
        
        //print_r( $sessao );
        
        $cart = unserialize( $sessao );
Uai, tu tá tentando desserializar pra quê? $_SESSION['wpsc_cart'] é um objeto, não uma representação de código PHP, que seria passível de desserialização... Tu já está obtendo os valores corretamente usando o esquema $cart->variavel, esta linha com unserialize() não serve para nada. Talvez pra gerar erro e matar o código. :P

[]’sAté mais

#3 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 01/02/2010, 17:13

@ PAULO FREITAS
A nem... estava tão grilado que nem percebi isso ihauiahua, pô isso é que é phoda de pegar o código dos outros pra corrigir (estava assim).

Falopa!

#4 myaccount2lists

myaccount2lists

    Ativo

  • Usuários
  • 347 posts
  • Sexo:Masculino

Posted 24/06/2010, 18:09

Pô, mas e aí?

Ja ta pronto esse modulo free que faz as coisas que o pago faz? rs

Bom, instalei o modulo do pagseuro, mas sinceramente, nao funciona. Nem aparece na lista payments.
Acho que o pessoal da Visie, que se dizem os tao bons que vao mudar o brasil, nao dar continuidade nisso... (modulo para wordpress que é o CMS mais usado no mundo) isso parece significar que a visie nao ta legal rs

#5 bruxafeia

bruxafeia

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado
  • Localidade:rio de janeiro

Posted 15/12/2010, 07:45

Pô, mas e aí?

Ja ta pronto esse modulo free que faz as coisas que o pago faz? rs

Bom, instalei o modulo do pagseuro, mas sinceramente, nao funciona. Nem aparece na lista payments.
Acho que o pessoal da Visie, que se dizem os tao bons que vao mudar o brasil, nao dar continuidade nisso... (modulo para wordpress que é o CMS mais usado no mundo) isso parece significar que a visie nao ta legal rs


Eu consegui resolver este probleminha do módulo pagseguro. O tutorial disponível lá está errado.

fiz o seguinte, copiei as pastas shipping e merchants do módulo pagseguro e coloquei no lugar das pastas com o mesmo nome no oscommerce. Pronto.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq