Irio / mymoip

MoIP transactions in a gem to call your own.
MIT License
31 stars 21 forks source link

Bandeiras do cartão #1

Closed vbrazo closed 12 years ago

vbrazo commented 12 years ago

Essa gem ta bacana heim. Era exatamente o que eu estava procurando. Estou com um problema na bandeira e não estou conseguindo efetuar testes com o American Express. Aparece sempre o erro abaixo:

key not found: :americanExpress

Outra coisa: eu tive que pegar a token que o moip retorna para mim de outra forma:

a = Hash.new(transparent_request.response) payment_request.api_call(credit_card_payment, token: "#{a[0]["ns1:EnviarInstrucaoUnicaResponse"]["Resposta"]["Token"]}")

Obrigado.

Irio commented 12 years ago

Para referenciar o American Express tu usa o symbol :american_express. Melhorei um pouco a página da wiki sobre isso, acredito que fica mais claro tendo um código para se basear: https://github.com/Irio/mymoip/wiki/Supported-Credit-cards

Quanto à pergunta do token, qual foi a resposta do MoIP para o transparent_request? Acabo de executar o código do README e não tive problemas em pegar o token pelo método. Seria bom postar como reproduzir o erro passo a passo.

vbrazo commented 12 years ago

Show, muito obrigado.

Apenas transparent_request retorna # e transparent_request.token não retorna nada.

Irio commented 12 years ago

Pode fazer um gist com o código exato com que você está tentando? Não consegui reproduzir aqui.

vbrazo commented 12 years ago
  transparent_request = MyMoip::TransparentRequest.new(Pedidos.maximum(:id_transacao))

  transparent_request.api_call(instruction)

  credit_card = MyMoip::CreditCard.new(
      logo: :"#{params[:txtBandeira]}",
      card_number: params[:txtCardNumber],
      expiration_date: params[:txtExpiredDate],
      security_code: params[:txtCode],
      owner_name: params[:txtNomePortador],
      owner_birthday: Date.new(1984, 11, 3),
      owner_phone: params[:txtPhonePortador],
      owner_rg: params[:txtRGPortador]
  )

  a = Hash.new(transparent_request.response)

  credit_card_payment = MyMoip::CreditCardPayment.new(credit_card, 1)
  payment_request = MyMoip::PaymentRequest.new(Pedidos.maximum(:id_transacao))
  payment_request.api_call(credit_card_payment, token: "#{a[0]["ns1:EnviarInstrucaoUnicaResponse"]["Resposta"]["Token"]}")
Irio commented 12 years ago

@vbrazo Vou fechar essa issue já que sua dúvida foi sanada. Qualquer dificuldade é só abrir outra.