Sha256: 336f28af9ec6b559d31ebab384adcca8d551ef57ac2abbd81bf8ed6b197e3a91
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
module MyMoip class CreditCardPayment attr_accessor :credit_card, :installments def initialize(credit_card, opts = {}) self.credit_card = credit_card self.installments = opts[:installments] || 1 end 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 def cash? @installments == 1 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mymoip-0.7.0 | lib/mymoip/credit_card_payment.rb |