class Cielo::API30::Payment

Constants

PAYMENTTYPE_BOLETO
PAYMENTTYPE_CREDITCARD
PAYMENTTYPE_DEBITCARD
PAYMENTTYPE_ELECTRONIC_TRANSFER
PROVIDER_BANCO_DO_BRASIL
PROVIDER_BRADESCO
PROVIDER_SIMULADO

Attributes

address[RW]
amount[RW]
authenticate[RW]
authorization_code[RW]
bar_code_number[RW]
capture[RW]
captured_amount[RW]
captured_date[RW]
country[RW]
credit_card[RW]
currency[RW]
digitable_line[RW]
expiration_date[RW]
extra_data_collection[RW]
installments[RW]
interest[RW]
number[RW]
payment_id[RW]
proof_of_sale[RW]
provider[RW]
received_date[RW]
recurrent[RW]
recurrent_payment[RW]
return_code[RW]
return_info[RW]
return_message[RW]
return_url[RW]
service_tax_amount[RW]
soft_descriptor[RW]
status[RW]
tid[RW]
type[RW]
url[RW]

Public Class Methods

from_json(data) click to toggle source
# File lib/cielo/api30/payment.rb, line 62
def self.from_json(data)
  return if data.nil?

  payment = new(data["Amount"])

  payment.service_tax_amount = data["ServiceTaxAmount"]
  payment.installments = data["Installments"]
  payment.interest = data["Interest"]
  payment.capture = data["Capture"]
  payment.authenticate = data["Authenticate"]
  payment.recurrent = data["Recurrent"]
  payment.recurrent_payment = RecurrentPayment.from_json(data["RecurrentPayment"])
  payment.credit_card = CreditCard.from_json(data["CreditCard"])
  payment.proof_of_sale = data["ProofOfSale"]
  payment.authorization_code = data["AuthorizationCode"]
  payment.soft_descriptor = data["SoftDescriptor"]
  payment.return_url = data["ReturnUrl"]
  payment.provider = data["Provider"]
  payment.payment_id = data["PaymentId"]
  payment.tid = data["Tid"]
  payment.type = data["Type"]
  payment.received_date = data["ReceivedDate"]
  payment.captured_amount = data["CapturedAmount"]
  payment.captured_date = data["CapturedDate"]
  payment.currency = data["Currency"]
  payment.country = data["Country"]
  payment.return_code = data["ReturnCode"]
  payment.return_message = data["ReturnMessage"]
  payment.status = data["Status"]

  payment.links = data["Links"]
  payment.extra_data_collection = data["ExtraDataCollection"]

  payment.expiration_date = data["ExpirationDate"]
  payment.url = data["Url"]
  payment.number = data["Number"]
  payment.bar_code_number = data["BarCodeNumber"]
  payment.digitable_line = data["DigitableLine"]
  payment.address = data["Address"]
  payment.return_info = ReturnInfo.new(payment.return_code)

  payment
end
new(amount, installments: 1) click to toggle source
# File lib/cielo/api30/payment.rb, line 51
def initialize(amount, installments: 1)
  @amount = amount
  @installments = installments
end

Public Instance Methods

as_json(options={}) click to toggle source
# File lib/cielo/api30/payment.rb, line 110
def as_json(options={})
  {
    ServiceTaxAmount: @service_tax_amount,
    Installments: @installments,
    Interest: @interest,
    Capture: @capture,
    Authenticate: @authenticate,
    Recurrent: @recurrent,
    RecurrentPayment: @recurrent_payment,
    CreditCard: @credit_card,
    SoftDescriptor: @soft_descriptor,
    ReturnUrl: @return_url,
    Provider: @provider,
    Type: @type,
    Amount: @amount,
    Currency: @currency,
    Country: @country,
    Number: @number,
    BarCodeNumber: @bar_code_number,
    DigitableLine: @digitable_line,
    Address: @address,
    ReturnInfo: @return_info
  }
end
success?() click to toggle source
# File lib/cielo/api30/payment.rb, line 106
def success?
  Status.success?(status)
end
to_json(*options) click to toggle source
# File lib/cielo/api30/payment.rb, line 56
def to_json(*options)
  hash = as_json(*options)
  hash.reject! {|k,v| v.nil?}
  hash.to_json(*options)
end