Sha256: 6fc064c00ae373429e853cf66a5616a2161d3b6994252428a25c75b453902eed
Contents?: true
Size: 1.28 KB
Versions: 3
Compression:
Stored size: 1.28 KB
Contents
module MercadoPago module CustomCheckout class CardToken < Resource attr_reader :id, :status, :card_id, :last_digits, :cardholder, :extras def initialize(client, id:, **extras) @client = client @id = id process_hash(extras) if extras end def create(payload) response = @client.call(:card_tokens, :create, payload) if response.key?(:error) response else process_hash(response) self end end def retrieve response = @client.call(:card_tokens, :retrieve, { id: id }) if response.key?(:error) response else process_hash(response) self end end def update(payload) response = @client.call(:card_tokens, :update, payload) if response.key?(:error) response else process_hash(response) self end end private def attr_inspect [:id, :last_digits, :card_id] end def process_hash(data) @status = data.delete(:status) @card_id = data.delete(:card_id) @last_digits = data.delete(:last_four_digits) @cardholder = data.delete(:cardholder) @extras = data end end end end
Version data entries
3 entries across 3 versions & 1 rubygems