eventick / pagseguro-transparente

Gem para a utilização do novo checkout transparente do Pagseguro
18 stars 12 forks source link

Usar email do especificado no initializer #24

Open osnysantos opened 8 years ago

osnysantos commented 8 years ago

É possível especificar a conta do pagseguro a ser utilizando na hora da compra? Por exemplo, para cada grupo de produtos terá um e-mail responsável pela venda daqueles produtos.

Ou seja, teria que ser e-mail diferentes dos especificados no initializer. É possível?

cirdes commented 8 years ago

@osnysantos, você pode modificar o email e o token antes de realizar a compra.

PagSeguro.email = "email@pagseguro.com.br"
PagSeguro.token = "new_token"
osnysantos commented 8 years ago

Tentei dessa forma no controller:

def edit
    @order = Order.find(params[:id])

    PagSeguro.email = "email@dominio.com.br"
    PagSeguro.token = "xxx"

    pagseguro_session = PagSeguro::Session.new
    @pagseguro_session_id = pagseguro_session.create.id
    ...

Quando acesso essa página dá esse erro:

NoMethodError (undefined method []' for nil:NilClass): app/controllers/orders_controller.rb:8:inedit'

cirdes commented 8 years ago

@osnysantos, qual é a linha 8 do teu orders_controller?

osnysantos commented 8 years ago
@pagseguro_session_id = pagseguro_session.create.id
cirdes commented 8 years ago

@osnysantos, vou verificar então.

cirdes commented 8 years ago

@osnysantos, esse seu email e token é do sandbox do PagSeguro? Se for você precisa configurar para as requests irem para o sandbox.

Tenta isso:

PagSeguro.environment = :sandbox
osnysantos commented 8 years ago

Não é do Sandbox. É o de produção. Achei estranho esse erro pois não temos muitas pistas do que pode ser.

cirdes commented 8 years ago

@osnysantos, eu consegui reproduzir esse erro quando a o token ou o email não eram válidos. O PS retornada unauthorized e acontecia isso. Verificar se não é isso que acontecendo aí.