module Od::Payments::Charge
Public Class Methods
cancel(payment_intent_id)
click to toggle source
# File lib/od/payments/resources/charge.rb, line 45 def self.cancel(payment_intent_id) case Od::Payments.adapter when :stripe Stripe::PaymentIntent.cancel payment_intent_id end rescue Stripe::CardError => e raise Od::Payments::CardError.new(e.error.message, {}) rescue Stripe::StripeError => e raise Od::Payments::OdPaymentsError, e.error.message end
capture(payment_intent_id)
click to toggle source
# File lib/od/payments/resources/charge.rb, line 34 def self.capture(payment_intent_id) case Od::Payments.adapter when :stripe Stripe::PaymentIntent.capture(payment_intent_id) end rescue Stripe::CardError => e raise Od::Payments::CardError.new(e.error.message, {}) rescue Stripe::StripeError => e raise Od::Payments::OdPaymentsError, e.error.message end
confirm(payment_intent_id, payment_method_id)
click to toggle source
# File lib/od/payments/resources/charge.rb, line 90 def self.confirm(payment_intent_id, payment_method_id) case Od::Payments.adapter when :stripe Stripe::PaymentIntent.confirm( payment_intent_id, { payment_method: payment_method_id } ) end rescue Stripe::CardError => e raise Od::Payments::CardError.new(e.error.message, {}) rescue Stripe::StripeError => e raise Od::Payments::OdPaymentsError, e.error.message end
create(amount, option = {})
click to toggle source
# File lib/od/payments/resources/charge.rb, line 4 def self.create(amount, option = {}) case Od::Payments.adapter when :stripe Stripe::PaymentIntent.create({ currency: 'usd', amount: (amount * 100).to_i }.merge(option)) when :square result = Od::Payments.client_square.payments.create_payment( body: { idempotency_key: SecureRandom.uuid, amount_money: { amount: amount, currency: 'USD' } }.merge(option) ) if result.success? result.data elsif result.error? raise Od::Payments::CardError.new(result.errors, {}) end end rescue Stripe::CardError => e raise Od::Payments::CardError.new(e.error.message, {}) rescue Stripe::StripeError => e raise Od::Payments::OdPaymentsError, e.error.message end
show(payment_intent_id)
click to toggle source
# File lib/od/payments/resources/charge.rb, line 79 def self.show(payment_intent_id) case Od::Payments.adapter when :stripe Stripe::PaymentIntent.retrieve payment_intent_id end rescue Stripe::CardError => e raise Od::Payments::CardError.new(e.error.message, {}) rescue Stripe::StripeError => e raise Od::Payments::OdPaymentsError, e.error.message end
void(payment_intent_id, option = {})
click to toggle source
# File lib/od/payments/resources/charge.rb, line 56 def self.void(payment_intent_id, option = {}) case Od::Payments.adapter when :stripe Stripe::Refund.create({ payment_intent: payment_intent_id }.merge(option)) when :square result = Od::Payments.client_square.refunds.refund_payment(body: { payment_id: payment_intent_id, idempotency_key: SecureRandom.uuid }.merge(option)) if result.success? result.data elsif result.error? raise Od::Payments::CardError.new(result.errors, {}) end end rescue Stripe::CardError => e raise Od::Payments::CardError.new(e.error.message, {}) rescue Stripe::StripeError => e raise Od::Payments::OdPaymentsError, e.error.message end