Class: Pagseguro::Charge::Connect::ChargeConnect

Inherits:
Object
  • Object
show all
Defined in:
lib/pagseguro/charge/connect/charge_connect.rb

Constant Summary collapse

PRODUCTION_URL =
'https://api.pagseguro.com/charges'
SANDBOX_URL =
'https://sandbox.api.pagseguro.com/charges'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(authorization_token, sandbox = false) ⇒ ChargeConnect

Returns a new instance of ChargeConnect.



11
12
13
14
# File 'lib/pagseguro/charge/connect/charge_connect.rb', line 11

def initialize(authorization_token, sandbox = false)
  @authorization_token = authorization_token
  @sandbox = sandbox
end

Instance Attribute Details

#authorization_token=(value) ⇒ Object

Sets the attribute authorization_token

Parameters:

  • value

    the value to set the attribute authorization_token to.



8
9
10
# File 'lib/pagseguro/charge/connect/charge_connect.rb', line 8

def authorization_token=(value)
  @authorization_token = value
end

#sandboxObject

Returns the value of attribute sandbox.



8
9
10
# File 'lib/pagseguro/charge/connect/charge_connect.rb', line 8

def sandbox
  @sandbox
end

Instance Method Details

#cancel(charge_request) ⇒ Object

void/cancels a payment



47
48
49
50
51
52
# File 'lib/pagseguro/charge/connect/charge_connect.rb', line 47

def cancel(charge_request)
  data = do_connect('POST', URI.parse("#{@sandbox ? SANDBOX_URL : PRODUCTION_URL}/#{charge_request.id}/cancel"),
                    charge_request.to_json)
  charge_response = ChargeResponse.fill_from_json(JSON.parse(data))
  charge_response
end

#capture(charge_request) ⇒ Object

captures an authorized payment



39
40
41
42
43
44
# File 'lib/pagseguro/charge/connect/charge_connect.rb', line 39

def capture(charge_request)
  data = do_connect('POST', URI.parse("#{@sandbox ? SANDBOX_URL : PRODUCTION_URL}/#{charge_request.id}/capture"),
                    charge_request.to_json)
  charge_response = ChargeResponse.fill_from_json(JSON.parse(data))
  charge_response
end

#place_charge(charge_request) ⇒ Object

creates a new charge request



18
19
20
21
22
# File 'lib/pagseguro/charge/connect/charge_connect.rb', line 18

def place_charge(charge_request)
  data = do_connect('POST', URI.parse(@sandbox ? SANDBOX_URL : PRODUCTION_URL), charge_request.to_json)
  charge_response = ChargeResponse.fill_from_json(JSON.parse(data))
  charge_response
end

#retrieve_by_id(charge_id) ⇒ Object

retireves a charge by its id



25
26
27
28
29
# File 'lib/pagseguro/charge/connect/charge_connect.rb', line 25

def retrieve_by_id(charge_id)
  data = do_connect('GET', URI.parse("#{@sandbox ? SANDBOX_URL : PRODUCTION_URL}/#{charge_id}"))
  charge_response = ChargeResponse.fill_from_json(JSON.parse(data))
  charge_response
end

#retrieve_by_reference_id(reference_id) ⇒ Object

retireves a charge by reference number



32
33
34
35
36
# File 'lib/pagseguro/charge/connect/charge_connect.rb', line 32

def retrieve_by_reference_id(reference_id)
  data = do_connect('GET', URI.parse("#{@sandbox ? SANDBOX_URL : PRODUCTION_URL}?reference_id=#{reference_id}"))
  charge_response = ChargeResponse.fill_from_json(JSON.parse(data))
  charge_response
end