Class: Transbank::Onepay::RefundCreateRequest

Inherits:
Object
  • Object
show all
Includes:
Request
Defined in:
lib/transbank/sdk/onepay/requests/refund_create_request.rb

Overview

Creates a Refund request

Constant Summary collapse

SIGNATURE_PARAMS =

These are the params used to build this class’s @signature

[:occ,
:external_unique_number,
:authorization_code,
:issued_at,
:nullify_amount].freeze

Instance Attribute Summary collapse

Attributes included from Request

#api_key, #app_key

Instance Method Summary collapse

Methods included from Request

#set_keys_from_options

Methods included from Utils::JSONUtils

included, #jsonify, #transform_hash_keys, #underscore

Methods included from Utils::SignatureUtils

#hmac_sha256, #signature_for, #to_data, #valid_signature?

Constructor Details

#initialize(nullify_amount: nil, occ: nil, external_unique_number: nil, authorization_code: nil, issued_at: nil, signature: nil) ⇒ RefundCreateRequest

No partial refunds are possible

Parameters:

  • nullify_amount (Integer, nil) (defaults to: nil)

    The total amount of the [Transaction] to Refund.

  • external_unique_number (String) (defaults to: nil)

    a unique value (per Merchant, not global) that is used to identify a Transaction

  • occ (String) (defaults to: nil)

    Merchant purchase order

  • authorization_code (String) (defaults to: nil)

    a string returned when [Transaction]#commit completes correctly

  • issued_at (Integer, nil) (defaults to: nil)

    a timestamp

  • signature (String, nil) (defaults to: nil)

    a hashed string to verify the data



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/transbank/sdk/onepay/requests/refund_create_request.rb', line 23

def initialize(nullify_amount: nil,
               occ: nil,
               external_unique_number: nil,
               authorization_code: nil,
               issued_at: nil,
               signature: nil)
  @nullify_amount = nullify_amount
  @occ = occ
  @external_unique_number = external_unique_number
  @authorization_code = authorization_code
  @issued_at = issued_at
  @signature = signature
end

Instance Attribute Details

#authorization_codeObject

Returns the value of attribute authorization_code.



6
7
8
# File 'lib/transbank/sdk/onepay/requests/refund_create_request.rb', line 6

def authorization_code
  @authorization_code
end

#external_unique_numberObject

Returns the value of attribute external_unique_number.



6
7
8
# File 'lib/transbank/sdk/onepay/requests/refund_create_request.rb', line 6

def external_unique_number
  @external_unique_number
end

#issued_atObject

Returns the value of attribute issued_at.



6
7
8
# File 'lib/transbank/sdk/onepay/requests/refund_create_request.rb', line 6

def issued_at
  @issued_at
end

#nullify_amountObject

Returns the value of attribute nullify_amount.



6
7
8
# File 'lib/transbank/sdk/onepay/requests/refund_create_request.rb', line 6

def nullify_amount
  @nullify_amount
end

#occObject

Returns the value of attribute occ.



6
7
8
# File 'lib/transbank/sdk/onepay/requests/refund_create_request.rb', line 6

def occ
  @occ
end

#signatureObject

Returns the value of attribute signature.



6
7
8
# File 'lib/transbank/sdk/onepay/requests/refund_create_request.rb', line 6

def signature
  @signature
end

Instance Method Details

#sign(secret) ⇒ RefundCreateRequest

Create and set the signature for this instance of RefundCreateRequest

Returns:



39
40
41
42
# File 'lib/transbank/sdk/onepay/requests/refund_create_request.rb', line 39

def sign(secret)
  @signature = signature_for(to_data, secret)
  self
end