class Braspag::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]
provider_return_code[RW]
provider_return_message[RW]
reason_code[RW]
reason_message[RW]
received_date[RW]
recurrent[RW]
recurrent_payment[RW]
return_url[RW]
service_tax_amount[RW]
soft_descriptor[RW]
status[RW]
type[RW]
url[RW]

Public Class Methods

from_json(data) click to toggle source
# File lib/braspag/api/payment.rb, line 58
def self.from_json(data)
    if (data != nil)
        payment = Payment.new(data["Amount"] || nil)

        payment.service_tax_amount = data["ServiceTaxAmount"] || nil
        payment.installments = data["Installments"] || nil
        payment.interest = data["Interest"] || nil
        payment.capture = data["Capture"] || nil
        payment.authenticate = data["Authenticate"] || nil
        payment.recurrent = data["Recurrent"] || nil
        payment.recurrent_payment = Braspag::RecurrentPayment.from_json(data["RecurrentPayment"] || nil)
        payment.credit_card = Braspag::CreditCard.from_json(data["CreditCard"] || nil)
        payment.proof_of_sale = data["ProofOfSale"] || nil
        payment.authorization_code = data["AuthorizationCode"] || nil
        payment.soft_descriptor = data["SoftDescriptor"] || nil
        payment.return_url = data["ReturnUrl"] || nil
        payment.provider = data["Provider"] || nil
        payment.payment_id = data["PaymentId"] || nil
        payment.type = data["Type"] || nil
        payment.received_date = data["ReceivedDate"] || nil
        payment.captured_amount = data["CapturedAmount"] || nil
        payment.captured_date = data["CapturedDate"] || nil
        payment.currency = data["Currency"] || nil
        payment.country = data["Country"] || nil
        payment.reason_code = data["ReasonCode"] || nil
        payment.reason_message = data["ReasonMessage"] || nil
        payment.provider_return_code = data["ProviderReturnCode"] || nil
        payment.provider_return_message = data["ProviderReturnMessage"] || nil
        payment.status = data["Status"] || nil

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

        payment.expiration_date = data["ExpirationDate"] || nil
        payment.url = data["Url"] || nil
        payment.number = data["Number"] || nil
        payment.bar_code_number = data["BarCodeNumber"] || nil
        payment.digitable_line = data["DigitableLine"] || nil
        payment.address = data["Address"] || nil

        return payment
    end
end
new(amount, installments: 1) click to toggle source
# File lib/braspag/api/payment.rb, line 47
def initialize(amount, installments: 1)
    @amount = amount
    @installments = installments
end

Public Instance Methods

to_json(*options) click to toggle source
# File lib/braspag/api/payment.rb, line 52
def to_json(*options)
    hash = as_json(*options)
    hash.reject! {|k,v| v.nil?}
    hash.to_json(*options)
end

Private Instance Methods

as_json(options={}) click to toggle source
# File lib/braspag/api/payment.rb, line 103
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
  }
end