Class: PagSeguro::PaymentRequest::Serializer

Inherits:
Object
  • Object
show all
Defined in:
lib/pagseguro/payment_request/serializer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(payment_request) ⇒ Serializer

Returns a new instance of Serializer.



7
8
9
# File 'lib/pagseguro/payment_request/serializer.rb', line 7

def initialize(payment_request)
  @payment_request = payment_request
end

Instance Attribute Details

#payment_requestObject (readonly)

The payment request that will be serialized.



5
6
7
# File 'lib/pagseguro/payment_request/serializer.rb', line 5

def payment_request
  @payment_request
end

Instance Method Details

#to_paramsObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/pagseguro/payment_request/serializer.rb', line 11

def to_params
  params[:receiverEmail] = PagSeguro.receiver_email
  params[:currency] = payment_request.currency
  params[:reference] = payment_request.reference
  params[:extraAmount] = to_amount(payment_request.extra_amount)
  params[:redirectURL] = payment_request.redirect_url
  params[:notificationURL] = payment_request.notification_url
  params[:abandonURL] = payment_request.abandon_url
  params[:maxUses] = payment_request.max_uses
  params[:maxAge] = payment_request.max_age
  payment_request.items.each.with_index(1) do |item, index|
    serialize_item(item, index)
  end

  serialize_sender(payment_request.sender)
  serialize_shipping(payment_request.shipping)
  serialize_extra_params(payment_request.extra_params)

  params.delete_if {|key, value| value.nil? }

  params
end