class Pay::Payment

Attributes

intent[R]

Public Class Methods

from_id(id) click to toggle source
# File lib/pay/payment.rb, line 7
def self.from_id(id)
  intent = id.start_with?("seti_") ? ::Stripe::SetupIntent.retrieve(id) : ::Stripe::PaymentIntent.retrieve(id)
  new(intent)
end
new(intent) click to toggle source
# File lib/pay/payment.rb, line 12
def initialize(intent)
  @intent = intent
end

Public Instance Methods

amount_with_currency() click to toggle source
# File lib/pay/payment.rb, line 44
def amount_with_currency
  Pay::Currency.format(amount, currency: currency)
end
canceled?() click to toggle source
# File lib/pay/payment.rb, line 24
def canceled?
  status == "canceled"
end
cancelled?() click to toggle source
# File lib/pay/payment.rb, line 28
def cancelled?
  canceled?
end
payment_intent?() click to toggle source
# File lib/pay/payment.rb, line 36
def payment_intent?
  intent.is_a?(::Stripe::PaymentIntent)
end
requires_action?() click to toggle source
# File lib/pay/payment.rb, line 20
def requires_action?
  status == "requires_action"
end
requires_payment_method?() click to toggle source
# File lib/pay/payment.rb, line 16
def requires_payment_method?
  status == "requires_payment_method"
end
setup_intent?() click to toggle source
# File lib/pay/payment.rb, line 40
def setup_intent?
  intent.is_a?(::Stripe::SetupIntent)
end
succeeded?() click to toggle source
# File lib/pay/payment.rb, line 32
def succeeded?
  status == "succeeded"
end
validate() click to toggle source
# File lib/pay/payment.rb, line 48
def validate
  if requires_payment_method?
    raise Pay::InvalidPaymentMethod.new(self)
  elsif requires_action?
    raise Pay::ActionRequired.new(self)
  end
end