Class: Transbank::Webpay::TransaccionCompleta::Transaction
- Inherits:
-
Common::BaseTransaction
- Object
- Common::BaseTransaction
- Transbank::Webpay::TransaccionCompleta::Transaction
- Defined in:
- lib/transbank/sdk/webpay/transaccion_completa/transaction.rb
Constant Summary collapse
- DEFAULT_ENVIRONMENT =
:integration
- RESOURCES_URL =
::Transbank::Common::ApiConstants::WEBPAY_ENDPOINT
- CREATE_ENDPOINT =
(RESOURCES_URL + '/transactions/').freeze
- INSTALLMENTS_ENDPOINT =
(RESOURCES_URL + '/transactions/%{token}/installments').freeze
- COMMIT_ENDPOINT =
(RESOURCES_URL + '/transactions/%{token}').freeze
- STATUS_ENDPOINT =
(RESOURCES_URL + '/transactions/%{token}').freeze
- REFUND_ENDPOINT =
(RESOURCES_URL + '/transactions/%{token}/refunds').freeze
- CAPTURE_ENDPOINT =
(RESOURCES_URL + '/transactions/%{token}/capture').freeze
Instance Method Summary collapse
- #capture(token, buy_order, authorization_code, amount) ⇒ Object
- #commit(token, id_query_installments, deferred_period_index, grace_period) ⇒ Object
- #create(buy_order, session_id, amount, cvv, card_number, card_expiration_date) ⇒ Object
-
#initialize(commerce_code = ::Transbank::Common::IntegrationCommerceCodes::TRANSACCION_COMPLETA, api_key = ::Transbank::Common::IntegrationApiKeys::WEBPAY, environment = DEFAULT_ENVIRONMENT) ⇒ Transaction
constructor
A new instance of Transaction.
- #installments(token, installments_number) ⇒ Object
- #refund(token, amount) ⇒ Object
- #status(token) ⇒ Object
Constructor Details
#initialize(commerce_code = ::Transbank::Common::IntegrationCommerceCodes::TRANSACCION_COMPLETA, api_key = ::Transbank::Common::IntegrationApiKeys::WEBPAY, environment = DEFAULT_ENVIRONMENT) ⇒ Transaction
Returns a new instance of Transaction.
14 15 16 |
# File 'lib/transbank/sdk/webpay/transaccion_completa/transaction.rb', line 14 def initialize(commerce_code = ::Transbank::Common::IntegrationCommerceCodes::TRANSACCION_COMPLETA, api_key = ::Transbank::Common::IntegrationApiKeys::WEBPAY, environment = DEFAULT_ENVIRONMENT) super end |
Instance Method Details
#capture(token, buy_order, authorization_code, amount) ⇒ Object
61 62 63 64 65 66 |
# File 'lib/transbank/sdk/webpay/transaccion_completa/transaction.rb', line 61 def capture(token, buy_order, , amount) request_service = ::Transbank::Shared::RequestService.new( @environment, format(CAPTURE_ENDPOINT, token: token), @commerce_code, @api_key ) request_service.put(buy_order: buy_order, authorization_code: , capture_amount: amount) end |
#commit(token, id_query_installments, deferred_period_index, grace_period) ⇒ Object
40 41 42 43 44 45 |
# File 'lib/transbank/sdk/webpay/transaccion_completa/transaction.rb', line 40 def commit(token, id_query_installments, deferred_period_index, grace_period) request_service = ::Transbank::Shared::RequestService.new( @environment, format(COMMIT_ENDPOINT, token: token), @commerce_code, @api_key ) request_service.put({id_query_installments: id_query_installments, deferred_period_index: deferred_period_index, grace_period: grace_period}) end |
#create(buy_order, session_id, amount, cvv, card_number, card_expiration_date) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/transbank/sdk/webpay/transaccion_completa/transaction.rb', line 18 def create(buy_order, session_id, amount, cvv, card_number, card_expiration_date) Transbank::Common::Validation.has_text_with_max_length(buy_order, Transbank::Common::ApiConstants::BUY_ORDER_LENGTH, "buy_order") Transbank::Common::Validation.has_text_with_max_length(session_id, Transbank::Common::ApiConstants::SESSION_ID_LENGTH, "session_id") Transbank::Common::Validation.has_text_with_max_length(card_number, Transbank::Common::ApiConstants::CARD_NUMBER_LENGTH, "card_number") Transbank::Common::Validation.has_text_with_max_length(card_expiration_date, Transbank::Common::ApiConstants::CARD_EXPIRATION_DATE_LENGTH, "card_expiration_date") request_service = ::Transbank::Shared::RequestService.new( @environment, CREATE_ENDPOINT, @commerce_code, @api_key ) request_service.post({ buy_order: buy_order, session_id: session_id, amount: amount, cvv: cvv, card_number: card_number, card_expiration_date: card_expiration_date }) end |
#installments(token, installments_number) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/transbank/sdk/webpay/transaccion_completa/transaction.rb', line 33 def installments(token, installments_number) request_service = ::Transbank::Shared::RequestService.new( @environment, format(INSTALLMENTS_ENDPOINT, token: token), @commerce_code, @api_key ) request_service.post({installments_number: installments_number}) end |
#refund(token, amount) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/transbank/sdk/webpay/transaccion_completa/transaction.rb', line 54 def refund(token, amount) request_service = ::Transbank::Shared::RequestService.new( @environment, format(REFUND_ENDPOINT, token: token), @commerce_code, @api_key ) request_service.post(amount: amount) end |
#status(token) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/transbank/sdk/webpay/transaccion_completa/transaction.rb', line 47 def status(token) request_service = ::Transbank::Shared::RequestService.new( @environment, format(STATUS_ENDPOINT, token: token), @commerce_code, @api_key ) request_service.get end |