class MyMoip::CreditCardPayment
Attributes
credit_card[RW]
installments[RW]
Public Class Methods
new(credit_card, opts = {})
click to toggle source
# File lib/mymoip/payments/credit_card_payment.rb, line 5 def initialize(credit_card, opts = {}) self.credit_card = credit_card self.installments = opts[:installments] || 1 end
Public Instance Methods
cash?()
click to toggle source
# File lib/mymoip/payments/credit_card_payment.rb, line 49 def cash? @installments == 1 end
to_json(formatter = MyMoip::Formatter)
click to toggle source
# File lib/mymoip/payments/credit_card_payment.rb, line 10 def to_json(formatter = MyMoip::Formatter) raise InvalidCreditCard, 'No credit card provided.' if credit_card.nil? raise InvalidCreditCard if credit_card.invalid? json = { Forma: "CartaoCredito", Parcelas: @installments, CartaoCredito: { Numero: credit_card.card_number, Expiracao: credit_card.expiration_date, CodigoSeguranca: credit_card.security_code } } json[:CartaoCredito][:Portador] = { Nome: credit_card.owner_name, DataNascimento: (credit_card.owner_birthday and formatter.date(credit_card.owner_birthday)), Telefone: (credit_card.owner_phone and formatter.phone(credit_card.owner_phone)), Identidade: (credit_card.owner_cpf and formatter.cpf(credit_card.owner_cpf)) } json[:Instituicao] = { american_express: "AmericanExpress", diners: "Diners", hipercard: "Hipercard", mastercard: "Mastercard", visa: "Visa" }.fetch(credit_card.logo) if cash? json[:Recebimento] = "AVista" end json end