Class: PagSeguro::TransactionRequest

Inherits:
Object
  • Object
show all
Includes:
Extensions::Credentiable, Extensions::EnsureType, Extensions::MassAssignment
Defined in:
lib/pagseguro/transaction_request.rb,
lib/pagseguro/transaction_request/response.rb,
lib/pagseguro/transaction_request/request_serializer.rb,
lib/pagseguro/transaction_request/response_serializer.rb

Defined Under Namespace

Classes: RequestSerializer, Response, ResponseSerializer

Instance Attribute Summary collapse

Attributes included from Extensions::Credentiable

#credentials

Instance Method Summary collapse

Methods included from Extensions::EnsureType

#ensure_type

Methods included from Extensions::MassAssignment

#initialize

Instance Attribute Details

#codeObject

The transaction code returned from api.



48
49
50
# File 'lib/pagseguro/transaction_request.rb', line 48

def code
  @code
end

#created_atObject

The created at date returned from api



75
76
77
# File 'lib/pagseguro/transaction_request.rb', line 75

def created_at
  @created_at
end

#currencyObject

Set the payment currency. Defaults to BRL.



9
10
11
# File 'lib/pagseguro/transaction_request.rb', line 9

def currency
  @currency
end

#discount_amountObject

The discount amount returned from api.



66
67
68
# File 'lib/pagseguro/transaction_request.rb', line 66

def discount_amount
  @discount_amount
end

#errorsObject



87
88
89
# File 'lib/pagseguro/transaction_request.rb', line 87

def errors
  @errors ||= Errors.new
end

#extra_amountObject

Set the extra amount to be applied to the transaction’s total. This value can be used to add an extra charge to the transaction or provide a discount, if negative.



26
27
28
# File 'lib/pagseguro/transaction_request.rb', line 26

def extra_amount
  @extra_amount
end

#extra_paramsObject

The extra parameters for payment request.



45
46
47
# File 'lib/pagseguro/transaction_request.rb', line 45

def extra_params
  @extra_params
end

#gross_amountObject

The gross amount returned from api.



63
64
65
# File 'lib/pagseguro/transaction_request.rb', line 63

def gross_amount
  @gross_amount
end

#installment_countObject

The installments number returned from api.



72
73
74
# File 'lib/pagseguro/transaction_request.rb', line 72

def installment_count
  @installment_count
end

#net_amountObject

The net amount returned from api.



69
70
71
# File 'lib/pagseguro/transaction_request.rb', line 69

def net_amount
  @net_amount
end

#notification_urlObject

Determines for which url PagSeguro will send the order related notifications codes. Optional. Any change happens in the transaction status, a new notification request will be send to this url. You can use that for update the related order.



39
40
41
# File 'lib/pagseguro/transaction_request.rb', line 39

def notification_url
  @notification_url
end

The payment link returned from api.



54
55
56
# File 'lib/pagseguro/transaction_request.rb', line 54

def payment_link
  @payment_link
end

#payment_methodObject

Subclasses must implement payment_method

Raises:

  • (NotImplementedError)


60
61
62
# File 'lib/pagseguro/transaction_request.rb', line 60

def payment_method
  @payment_method
end

#payment_modeObject

Set the payment mode.



42
43
44
# File 'lib/pagseguro/transaction_request.rb', line 42

def payment_mode
  @payment_mode
end

#primary_receiverObject

Set and get primary receiver email.



15
16
17
# File 'lib/pagseguro/transaction_request.rb', line 15

def primary_receiver
  @primary_receiver
end

#receiversObject

Get the payment receivers.



18
19
20
# File 'lib/pagseguro/transaction_request.rb', line 18

def receivers
  @receivers
end

#referenceObject

Set the reference code. Optional. You can use the reference code to store an identifier so you can associate the PagSeguro transaction to a transaction in your system. Tipically this is the order id.



32
33
34
# File 'lib/pagseguro/transaction_request.rb', line 32

def reference
  @reference
end

#senderObject

Get the payment sender.



12
13
14
# File 'lib/pagseguro/transaction_request.rb', line 12

def sender
  @sender
end

#shippingObject

Get the shipping info.



21
22
23
# File 'lib/pagseguro/transaction_request.rb', line 21

def shipping
  @shipping
end

#statusObject

The transaction status returned from api.



57
58
59
# File 'lib/pagseguro/transaction_request.rb', line 57

def status
  @status
end

#type_idObject

The transaction type returned from api.



51
52
53
# File 'lib/pagseguro/transaction_request.rb', line 51

def type_id
  @type_id
end

#updated_atObject

The updated at date returned from api



78
79
80
# File 'lib/pagseguro/transaction_request.rb', line 78

def updated_at
  @updated_at
end

Instance Method Details

#createObject

Calls the PagSeguro web service and create this request for payment. Return boolean.



108
109
110
111
112
113
114
115
116
# File 'lib/pagseguro/transaction_request.rb', line 108

def create
  request = if receivers.empty?
              Request.post('transactions', api_version, params)
            else
              Request.post_xml('transactions/', nil, credentials, xml_params)
            end

  Response.new(request, self).serialize
end

#itemsObject

Products/items in this payment request.



83
84
85
# File 'lib/pagseguro/transaction_request.rb', line 83

def items
  @items ||= Items.new
end

#update_attributes(attrs) ⇒ Object



118
119
120
# File 'lib/pagseguro/transaction_request.rb', line 118

def update_attributes(attrs)
  attrs.map { |name, value| send("#{name}=", value) }
end