class PaymentRecipes::PayPal::REST::Transaction
Attributes
captures[R]
currency[R]
description[R]
fee[R]
gift_wrap[R]
handling_fee[R]
insurance[R]
payment[R]
payment_id[R]
raw_transaction[R]
refunds[R]
sales[R]
shipping[R]
shipping_discount[R]
subtotal[R]
tax[R]
total[R]
Public Class Methods
new(paypal_transaction, payment:, expand: false)
click to toggle source
# File lib/payment_recipes/paypal/rest/transaction.rb, line 30 def initialize(paypal_transaction, payment:, expand: false) unless paypal_transaction.is_a?(::PayPal::SDK::REST::DataTypes::Transaction) raise Exception, "#{ self.class.name } must be initialized with a PayPal Transaction" end unless payment.is_a?(::PaymentRecipes::PayPal::REST::Payment) raise Exception, "Parameter payment must be a PaymentRecipes::PayPal::REST::Payment" end @currency = convert_to_string(paypal_transaction.amount.currency) @total = convert_to_money(amount: paypal_transaction.amount.total, currency: @currency) @description = convert_to_string(paypal_transaction.description) @payment = payment @payment_id = payment.id @subtotal = convert_to_money(amount: paypal_transaction.amount.details.subtotal, currency: @currency) @tax = convert_to_money(amount: paypal_transaction.amount.details.tax, currency: @currency) @fee = convert_to_money(amount: paypal_transaction.amount.details.fee, currency: @currency) @shipping = convert_to_money(amount: paypal_transaction.amount.details.shipping, currency: @currency) @handling_fee = convert_to_money(amount: paypal_transaction.amount.details.handling_fee, currency: @currency) @insurance = convert_to_money(amount: paypal_transaction.amount.details.insurance, currency: @currency) @shipping_discount = convert_to_money(amount: paypal_transaction.amount.details.shipping_discount, currency: @currency) @insurance = convert_to_money(amount: paypal_transaction.amount.details.insurance, currency: @currency) @gift_wrap = convert_to_money(amount: paypal_transaction.amount.details.gift_wrap, currency: @currency) @raw_transaction = paypal_transaction @sales = [] @authorizations = [] @captures = [] @refunds = [] paypal_transaction.related_resources.each do |paypal_related_resource| if paypal_related_resource.sale.id sale = ::PaymentRecipes::PayPal::REST::Sale.new(paypal_related_resource.sale, payment: payment) sale.reload! if expand @sales << sale end if paypal_related_resource.authorization.id authorization = ::PaymentRecipes::PayPal::REST::Authorization.new(paypal_related_resource.authorization, payment: payment) authorization.reload! if expand @authorizations << authorization end if paypal_related_resource.capture.id capture = ::PaymentRecipes::PayPal::REST::Capture.new(paypal_related_resource.capture, payment: payment) @captures << capture end if paypal_related_resource.refund.id refund = ::PaymentRecipes::PayPal::REST::Refund.new(paypal_related_resource.refund, payment: payment) @refunds << refund end end end
Public Instance Methods
capture()
click to toggle source
# File lib/payment_recipes/paypal/rest/transaction.rb, line 96 def capture @captures.first end
inspect()
click to toggle source
# File lib/payment_recipes/paypal/rest/transaction.rb, line 104 def inspect to_str end
refund()
click to toggle source
# File lib/payment_recipes/paypal/rest/transaction.rb, line 100 def refund @refunds.first end
sale()
click to toggle source
# File lib/payment_recipes/paypal/rest/transaction.rb, line 88 def sale @sales.first end
to_s()
click to toggle source
# File lib/payment_recipes/paypal/rest/transaction.rb, line 108 def to_s to_str end
to_str()
click to toggle source
# File lib/payment_recipes/paypal/rest/transaction.rb, line 112 def to_str "<#{ self.class.name } total=#{ @total.format } sales=#{ @sales.size } authorizations=#{ @authorizations.size } captures=#{ @captures.size }>" end