Giter Club home page Giter Club logo

kgem_pagseguro's Introduction

##################### MÉTODOS DE TESTE ##################### assert(boolean, message)

Se o parâmetro boolean for nil ou false a asserção irá falhar.

assert_equal(expected, actual, message) assert_not_equal(expected, actual, message)

A asserção irá falhar a menos que expected e actual sejam iguais/diferentes.

assert_nil(object, message) assert_not_nil(object, message)

A asserção irá falhar a menos que object seja/não seja nil.

assert_raise(Exception, …, message) { block… } assert_not_raise(Exception, …, message) { block… }

A asserção irá falhar a menos que block dispare/não dispare um erro da exceção especificada.

assert_match(pattern, string, message) assert_no_match(pattern, string, message)

A asserção irá falhar a menos que string seja/não seja correspondente à expressão regular pattern.

assert_valid(record)

Falha a menos que record não tenha erros de validação.

##################### ATRIBUTOS ##################### ATRIBUTOS PAYMENT REQUEST payment_request.currency #Moeda utilizada - Formato: Case sensitive. Somente o valor BRL é aceito. payment_request.reference #Código de referência - Formato: Livre, com o limite de 200 caracteres. payment_request.extra_amount #Valor extra - Formato: Decimal (positivo ou negativo), com duas casas decimais separadas por ponto (p.e., 1234.56 ou -1234.56), maior ou igual a -9999999.00 e menor ou igual a 9999999.00. Quando negativo, este valor não pode ser maior ou igual à soma dos valores dos produtos. payment_request.redirect_url #URL de redirecionamento após o pagamento - Formato: Uma URL válida, com limite de 255 caracteres. payment_request.notification_url #URL para envio de notificações sobre o pagamento - Formato: Uma URL válida, com limite de 255 caracteres. payment_request.max_uses #Número máximo de usos para o código de pagamento - Formato: Um número inteiro maior que 0 e menor ou igual a 999. payment_request.max_age #Prazo de validade do código de pagamento - Formato: Um número inteiro maior ou igual a 30 e menor ou igual a 999999999. payment_request.items #Lista de itens contidos no pagamento payment_request.sender #Dados do comprador payment_request.shipping #Dados do frete

ATRIBUTOS ITEM item.id #Identificadores dos itens - Formato: Livre, com limite de 100 caracteres. item.description #Descrições dos itens - Formato: Livre, com limite de 100 caracteres. item.amount #Valores unitários dos itens - Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00. item.quantity #Quantidades dos itens - Formato: Um número inteiro maior ou igual a 1 e menor ou igual a 999. item.shipping_cost #Custos de frete dos itens - Formato: Decimal, com duas casas decimais separadas por ponto (p.e., 1234.56), maior que 0.00 e menor ou igual a 9999999.00. item.weight #Pesos dos itens - Formato: Um número inteiro correspondendo ao peso em gramas do item. A soma dos pesos de todos os produtos não pode ultrapassar 30000 gramas (30 kg).

ATRIBUTOS SENDER sender.name #Nome completo do comprador - Formato: No mínimo duas sequências de caracteres, com o limite total de 50 caracteres. sender.email #E-mail do comprador - Formato: um e-mail válido (p.e., [email protected]), com no máximo 60 caracteres.

ATRIBUTOS PHONE phone.area_code #DDD do comprador - Formato: Um número de 2 dígitos correspondente a um DDD válido. phone.number #Número do telefone do comprador - Formato: Um número de 7 a 9 dígitos.

ATRIBUTOS SHIPPING shipping.type_id #Tipo de frete - Formato: Um número inteiro (1-Encomenda normal (PAC). /2-SEDEX /3-Tipo de frete não especificado.). shipping.cost #Valor total do frete - Formato: Decimal, com duas casas decimais separadas por ponto (p.e, 1234.56), maior que 0.00 e menor ou igual a 9999999.00.

ATRIBUTOS ADDRESS address.street #Nome da rua do endereço de envio - Formato: Livre, com limite de 80 caracteres. address.number #Número do endereço de envio - Formato: Livre, com limite de 20 caracteres. address.complement #Complemento do endereço de envio - Formato: Livre, com limite de 40 caracteres. address.district #Bairro do endereço de envio - Formato: Livre, com limite de 60 caracteres. address.postal_code #CEP do endereço de envio - Formato: Um número de 8 dígitos. address.city #Cidade do endereço de envio - Formato: Livre. Deve ser um nome válido de cidade do Brasil, com no mínimo 2 e no máximo 60 caracteres. address.state #Estado do endereço de envio - Formato: Duas letras, em maiúsculo, representando a sigla do estado brasileiro correspondente. address.country #País do endereço de envio - Formato: No momento, apenas o valor BRA é permitido.

ATRIBUTOS TRANSACTION transaction.created_at #Data da criação da transação. transaction.code #Código identificador da transação. transaction.reference #Código de referência da transação. transaction.type_id #Tipo da transação. transaction.updated_at #Data do último evento. transaction.status #Status da transação. transaction.payment_method #Tipo do meio de pagamento. transaction.payment_link transaction.gross_amount #Valor bruto da transação. transaction.discount_amount #Valor do desconto dado. transaction.fee_amount #Valor total das taxas cobradas. transaction.net_amount #Valor líquido da transação. transaction.extra_amount #Valor extra. transaction.installments #Número de parcelas. transaction.sender #Dados do comprador. transaction.shipping #Dados do frete. transaction.cancellation_source #Origem do cancelamento. transaction.escrow_end_date #Data de crédito.

##################### MÉTODOS ##################### ##### MÉTODOS PAYMENT payment = PagSeguro::PaymentRequest.new payment.generate_xml #GERA XML STRING success, response = payment.generate_redirect_url(xml) #GERA URL DE REDIRECIONAMENTO

##################### MÉTODOS TRANSACTION ##################### # OS MÉTODOS ABAIXO RETORNAM 2 VARIÁVEIS SENDO: # A 1º RETORNA TRUE(SUCESSO) OU FALSE(ERRO) # A 2º RETORNA O RETORNO DO XML

# RETORNA TRANSACTION OBJECT success, response = PagSeguro::Transaction.find_by_code(“CODE”) #CONSULTAR TRANSAÇÃO PELO CÓDIGO DA TRANSAÇÃO success, response = PagSeguro::Transaction.find_by_notification_code(“NOTIFICATION_CODE”) #CONSULTAR TRANSAÇÃO PELO CÓDIGO DE NOTIFICAÇÃO # RETORNA ARRAY DE TRANSAÇÕES success, response = PagSeguro::Transaction.find_by_date(Time.now - 86400, Time.now) #CONSULTAR HISTÓRICO DE TRANSAÇÕES success, response = PagSeguro::Transaction.find_abandoned(Time.now - 86400, Time.now - 900) #CONSULTAR TRANSAÇÕES ABANDONADAS

##### COMO UTILIZAR FONTE: pagseguro.uol.com.br/v2/guia-de-integracao/api-de-pagamentos.html

require ‘rubygems’ require ‘pagseguro’

PagSeguro.email = ‘EMAIL_PAGSEGURO’ PagSeguro.token = ‘TOKEN_PAGSEGURO’ payment = PagSeguro::PaymentRequest.new payment.items << {

:id => 1234,
:description => %[Televisão 19" Sony],
:amount => 459.50,
:weight => 0

} payment.reference = “REF1234” payment.sender = {

:name => "Komeia Interativa",
:email => "[email protected]",
:phone => {
  :area_code => 11,
  :number => "12345678"
}

} payment.shipping = {

:type_name => "sedex",
:cost => 10.00,
:address => {
  :street => "R. Teste",
  :number => 1421,
  :complement => "Sala 213",
  :city => "Londrina",
  :state => "PR",
  :district => "Centro"
}

} xml = payment.generate_xml success, response = payment.generate_redirect_url(xml) if success #SUCESSO puts response else #ERRO puts ‘============’ puts xml puts ‘————’ response.get_errors(xml).each do |e| puts e end end

##################### CONSULTAS ##################### PagSeguro.email = ‘EMAIL_PAGSEGURO’ PagSeguro.token = ‘TOKEN_PAGSEGURO’ ##################### TESTE CONSULTA POR CÓDIGO DA TRANSAÇÃO ##################### resp, response = PagSeguro::Transaction.find_by_code(‘CODE’) if resp

if response
  puts response.code
  puts response.reference
  puts response.status.id
end

else

response.each do |e|
  puts e
end

end

##################### TESTE CONSULTA POR CÓDIGO DE NOTIFICAÇÃO ##################### resp, response = PagSeguro::Transaction.find_by_notification_code(‘NOTIFICATION_CODE’) if resp

if response
  puts response.code
  puts response.reference
  puts response.status.id
end

else

response.each do |e|
  puts e
end

end

##################### TESTE CONSULTA HISTÓRICO DE TRANSAÇÕES ##################### resp, response = PagSeguro::Transaction.find_by_date(Time.now - 86400, Time.now) if resp

if response
  response.each do |t|
    puts t.code
    puts t.reference
    puts t.status.id
  end
end

else

response.each do |e|
  puts e
end

end

##################### TESTE CONSULTA TRANSAÇÕES ABANDONADAS ##################### resp, response = PagSeguro::Transaction.find_abandoned(Time.now - 86400, Time.now - 900) if resp

if response
  response.each do |t|
    puts t.code
    puts t.reference
    puts t.status.id
  end
end

else

response.each do |e|
  puts e
end

end

##################### TESTE NO GMR ##################### payment = PagSeguro::PaymentRequest.new order = Order.find(317) order.order_items.each do |item| payment.items << {

:id => item.product.id,
:description => item.product.name,
:amount => item.price,
:weight => item.product.weight

} end payment.reference = order.id payment.sender = {

:name => order.receiver,
:email => order.person.user.email,
:phone => {
  :area_code => order.person.ddd,
  :number => order.person.phone_residential
}

} payment.shipping = {

:type_id => 3,
:cost => order.ship_value,
:address => {
  :street => order.delivery_address.street,
  :number => order.delivery_address.number,
  :complement => order.delivery_address.complement,
  :city => order.delivery_address.city,
  :state => order.delivery_address.state,
  :district => order.delivery_address.neighborhood
}

} success, response = payment.generate_redirect_url(xml) success, response = PagSeguro::Transaction.find_by_code(‘CODE’)

kgem_pagseguro's People

Contributors

mitanix79 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.