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 |