Class: Transbank::Onepay::TransactionCommitRequest

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

Overview

Creates a request to Transbank attempting to commit a [Transaction]

Constant Summary collapse

SIGNATURE_PARAMS =
[:occ,
:external_unique_number,
:issued_at].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(occ, external_unique_number, issued_at) ⇒ TransactionCommitRequest

Returns a new instance of TransactionCommitRequest.

Parameters:

  • occ (String)

    Merchant purchase order

  • external_unique_number (String)

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

  • issued_at (Integer)

    timestamp for when the transaction commit request was created



14
15
16
17
18
19
# File 'lib/transbank/sdk/onepay/requests/transaction_commit_request.rb', line 14

def initialize(occ, external_unique_number, issued_at)
  self.occ = occ
  self.external_unique_number = external_unique_number
  self.issued_at = issued_at
  @signature = nil
end

Instance Attribute Details

#external_unique_numberObject

Returns the value of attribute external_unique_number.



6
7
8
# File 'lib/transbank/sdk/onepay/requests/transaction_commit_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/transaction_commit_request.rb', line 6

def issued_at
  @issued_at
end

#occObject

Returns the value of attribute occ.



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

def occ
  @occ
end

#signatureObject (readonly)

Returns the value of attribute signature.



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

def signature
  @signature
end

Instance Method Details

#sign(secret) ⇒ TransactionCommitRequest

Create a signature string and assign it to @signature

Returns:



41
42
43
44
# File 'lib/transbank/sdk/onepay/requests/transaction_commit_request.rb', line 41

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