Class: SpreeSignifyd::OrderSerializer

Inherits:
ActiveModel::Serializer
  • Object
show all
Defined in:
app/serializers/spree_signifyd/order_serializer.rb

Instance Method Summary collapse

Instance Method Details

#cardObject



30
31
32
33
34
35
36
37
38
39
40
# File 'app/serializers/spree_signifyd/order_serializer.rb', line 30

def card
  payment_source = latest_payment.try(:source)
  card = {}

  if payment_source.present? && payment_source.instance_of?(Spree::CreditCard)
    card = CreditCardSerializer.new(payment_source).serializable_object
    card.merge!(SpreeSignifyd::BillingAddressSerializer.new(object.bill_address).serializable_object)
  end

  card
end

#purchaseObject



10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/serializers/spree_signifyd/order_serializer.rb', line 10

def purchase
  {
    'browserIpAddress' => object.last_ip_address,
    'orderId' => object.number,
    'createdAt' => object.completed_at.utc.iso8601,
    'currency' => object.currency,
    'totalPrice' => object.total,
    'products' => products,
    'avsResponseCode' => latest_payment.try(:avs_response),
    'cvvResponseCode' => latest_payment.try(:cvv_response_code)
  }
end

#recipientObject



23
24
25
26
27
28
# File 'app/serializers/spree_signifyd/order_serializer.rb', line 23

def recipient
  recipient = SpreeSignifyd::DeliveryAddressSerializer.new(object.ship_address).serializable_object
  recipient[:confirmationEmail] = object.email
  recipient[:fullName] = object.ship_address.full_name
  recipient
end