Module: UU::Finman::FinancialTransaction::FastPayment
- Extended by:
- FastPayment
- Included in:
- FastPayment
- Defined in:
- lib/uu/finman/fast_payment.rb
Overview
Module of Payment
Constant Summary
- PATH =
Service path
'uu/finman/financialtransaction/FinancialTransaction'- TYPE_OF_FINANCIAL_TRANSACTION =
Type of financial transaction
'FAST_PAYMENT'
Instance Method Summary (collapse)
-
- (UU::OS::UESURI) create(control_business_case_uri, fast_payment)
Creates a new Fast Payment.
-
- (FastPaymentAttributes) get_attributes(fast_payment_uri)
Obtains Fast Payment attributes from service and returns them.
-
- (UU::OS::UESURI) set_attributes(fast_payment_uri, fast_payment_set_attributes)
Sets attributes of Fast Payment.
Instance Method Details
- (UU::OS::UESURI) create(control_business_case_uri, fast_payment)
Creates a new Fast Payment. The command creates a new Fast Payment for specified business case with passed DTO parameters.
Required attributes:
control_business_case_uri, counterparty_business_case_uri, name, amount_without_vat, vat_rate or amount_with_vat, financial_transaction_type,
realization_probability, expected_pay_date, due_date, transaction_currency, (credit_account_number and credit_side_currrency) or credit_account_uri,
(debit_account_number and debit_side_currency) or debit_account_uri
Exactly one of attributes credit_account_number and
credit_account_uri has to be set. Exactly one of attributes
debit_account_number and debit_account_uri has to
be set. Exactly one of attributes vat_rate and
amount_with_vat has to be set. Both attributes can be set
simultaneously only if following statement is true :
amount_without_vat * vat_rate =
amount_with_rate. Attribute credit_side_currency
and debit_side_currency must be set if respective account is
set by number. Attribute transaction_currency must be set and
must be one from credit_side_currency and
debit_side_currency, with exception if both
credit_side_currency and debit_side_currency are
equal. Attribute related_links must be valid JSON string with
specific array structure with attributes UESURI of financial transaction
and label. Both attributes are required. See example.
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/uu/finman/fast_payment.rb', line 73 def create(control_business_case_uri, fast_payment) svc = UU::OS::REST::RemoteClient.new(FastPayment) payment_dto = UU::Finman::FinancialTransaction::FastPaymentCreate.new(fast_payment) # adjust given payment dto to match expected format of financial transaction command transaction = transform_create_fast_payment_to_transaction_dto(payment_dto) financial_transaction_create = transaction.to_json UU::OS::QoS::QoSHandler.auto_retry do res = svc.post('create', control_business_case_uri, financial_transaction_create) if res.nil? return res else return UU::OS::UESURI.new(res) end end end |
- (FastPaymentAttributes) get_attributes(fast_payment_uri)
Obtains Fast Payment attributes from service and returns them
103 104 105 106 107 108 109 110 111 |
# File 'lib/uu/finman/fast_payment.rb', line 103 def get_attributes(fast_payment_uri) svc = UU::OS::REST::RemoteClient.new(FastPayment) UU::OS::QoS::QoSHandler.auto_retry do attrs_string = svc.get('getAttributes', fast_payment_uri) attrs = JSON.parse(attrs_string, :symbolize_names => true) attrs = remove_invalid_keys(attrs) return UU::Finman::FinancialTransaction::FastPaymentAttributes.new(attrs) end end |
- (UU::OS::UESURI) set_attributes(fast_payment_uri, fast_payment_set_attributes)
Sets attributes of Fast Payment.
128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/uu/finman/fast_payment.rb', line 128 def set_attributes(fast_payment_uri, fast_payment_set_attributes) svc = UU::OS::REST::RemoteClient.new(FastPayment) fast_payment_dto = UU::Finman::FinancialTransaction::PaymentSetAttributes.new(fast_payment_set_attributes) # adjust given payment dto to match expected format of financial transaction command transaction = transform_modify_fast_payment_to_transaction_dto(fast_payment_dto) financial_transaction_dto = transaction.to_json UU::OS::QoS::QoSHandler.auto_retry do res = svc.post('setAttributes', fast_payment_uri, financial_transaction_dto) return UU::OS::UESURI.new(res) end end |