Sha256: 4739f5767a8a6eedd993350f8eac8a5b1ee51cef914ed2e1cde8b5b4882bdc09
Contents?: true
Size: 910 Bytes
Versions: 1
Compression:
Stored size: 910 Bytes
Contents
module PinPayment class Charge < Base attr_reader :token, :amount, :currency, :description, :email, :ip_address, :created_at, :card_token def self.create options response = self.post( URI.parse(PinPayment.api_url).tap{|uri| uri.path = '/1/charges' }, options.select{|k| %w(amount currency description email ip_address card_token customer_token).include?(k.to_s) } ) self.new.tap do |charge| charge.instance_variable_set('@card_token', response['card']['token']) if response['card'] %w(token amount currency description email ip_address created_at error_message success).each do |key| charge.instance_variable_set("@#{key}", response[key]) end end end def refund! Refund.create(charge_token: token) end def success? @success == true end def errors @error_message end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pin_payment-0.0.5 | lib/pin_payment/charge.rb |