Commit Graph

382 Commits

Author SHA1 Message Date
Roman Pushkov
4755f1c82d HG-540: cash flow data in chargebacks (#440)
* update damsel

* add get_cash_flow to chargebacks

* update get_chargebacks/1

* okay, that looks weird

* typo fix

* oh come on

* typo fix

* update damsel

* handle get_chargebacks
2020-05-25 11:32:21 +03:00
Sergey Yelin
744496c5bf Update build_utils (#439) 2020-05-22 11:03:32 +03:00
Sergey Yelin
cdf7a7b0bd DC-119: Update damsel (#437) 2020-05-09 10:29:05 +03:00
Артем
f660e3b373 DC-123: P2P templates (#435)
* updated damsel

* added support for template terms

* added test for p2p template terms

* fixed merge

* minor
2020-05-08 13:29:43 +03:00
Sergey Yelin
28fac524cc MSPF-532: Upgrade Erlang to 22.3.1 (fix rfc3339 error) (#430)
* MSPF-532: Upgrade Erlang to 22.3.1 (fix rfc3339 error)

* Fix dialyzer cache name
2020-04-20 17:34:14 +03:00
Alexey
76d1f63c0b HG-535: Assert invoice payable (#428) 2020-04-06 12:28:00 +03:00
Roman Pushkov
583174c653 HG-495: chargebacks (#346)
* wip chargeback handler

* add chargeback test draft

* update deps

* update deps

* create chargeback draft

* add create chargeback to client

* create chargeback test draft

* update dmsl

* update test

* cashflow wip

* update payment events

* update deps

* attempt fix deps

* update dmsl

* update test

* add get payment chargeback to client

* add get payment chargeback handler

* cashflow wip

* fix linter errors

* wip create chargeback

* damsel update

* fix dmsl

* update dominant

* merge cb terms

* update id generation

* add test placeheolders

* update hg client

* add update chargeback

* update client

* update tests

* update events

* add implementation wip

* update cancel

* update tests

* update damsel

* add more chargeback tests

* update implementation

* update dominant

* update damsel

* some fixes

* add reopen tests with hold funds

* update reopen logic

* udpate damsel

* add cancel after reopen test

* add cancel after reopen implementation

* add more tests

* add balance checks to tests

* cashflow fix

* add more balance checks in tests

* fix cashflow bug

* add tests for reopening chargebacks after failures

* add reopen after failures handling

* finalise test to be sure

* fix test

* do not change payment status on accept with partial cash

* remove failures from tests

* update damsel

* test updates and fixes

* update implementation

* update damsel

* type cleanup, some refactoring

* cleanup, remove ct:print, refactor

* minor cleanup

* update tests

* add inconsistent currency check

* udpate damsel

* update tests

* udpate damsel

* move chargebacks to separate module

* move chargebacks to a separate module

* fix types

* some refactoring

* types, some refactoring

* update damsel

* update dominant + minor

* update tests

* update implementation

* update damsel

* fix merge

* fix lost types

* add cash to pending, remove from cb changed

* update damsel

* update damsel

* update dominant

* minor

* update events

* add params to reject

* update damsel

* update tests WIP

* update invoice payment

* update chargebacks WIP

* update tests

* update damsel

* update events

* update invoice payment

* update chargeback implementation

* minor cleanup

* increase god module cap a bit

* cleanup

* update events

* update damsel

* update tests wip

* update implementation wip

* update events in tests

* update damsel

* update chargeback events

* clean prints, restore cash flow handling on first reopen, reset target status

* fix dialyzer

* update tests

* update cash flow handling and reject logic

* fix indentation

* refactoring, moved activities to chargebacks module

* move process result to chargeback

* fix config formatting

* move no pending chargebacks check to invoice

* move getters to chargebacks module

* idempotent creation

* merge party cb terms

* syntax fixes

* fail routing with no chargeback terms

* move choose_provider_account to payment institution

* fix export

* remove unnecessary validations

* revert accessibility validation

* fix deletion

* minor refactoring

* remove pending chargebacks check from invoice

* Fix postgresql link (#421)

* refactor chargeback activity, fix idempotency

* update tests

* update dmsl

* add cb to varset

* fix

* removed get_opts, set_opts

* clean up chargebacks

* update deps

* move choose_external_account

* fix types

* add todo for cash flow rework

* remove redundant aliases

* unified define_params_cash function

* remove contract validation

* remove contract validation

* cash flow handling rework, docs update

* remove redundant validation

* fix merge

* add partial capture chargeback test

* add separate plans for stages

* wrap events externally

* add partial payment chargeback test with exceeding body

* fix type errors

* rework event handling

* elvis update

* cleanup

* move pending chargebacks check

* move validations

* move more validations

* separate body and levy in cash flow

* minor

* update cb options

* minor rename

* disable cancel during initialisation

* update activity naming

* set operation_amount to 0 on reject

* update merge_change validations

* update test chargeback test fixture

* use remaining amount if body is undefined

* add double chargeback test

* fix wrong types

* move some validations

* move create validations, update opts

* longer hold period for capture

* update damsel

* add chargeback service terms validation

* add chargeback not allowed test

* minor cleanup

* tests cleanup, add chargeback fees placeholder

* add test placeholders for provider levy

* split service and provision cf contexts

* fix typo

* update dominant

* export hg_cashflow:compute_volume/2

* update test fixture

* implement provider levy

* formatting

* update tests

* fix types

* fix types

* prolong test timeout

* merge update

* reduce allow predicate

* cb provider levy cash flow update

* cleanup

* add chargebacks to reduce

* add eligibility validation

* fix chargeback terms reduction

* throw misconfiguration if allow can not be reduced

* use add_previous_stage function

* fix type errors

* update cancel handling, store last cash flow, use cb creation timestamp, cleanup

* update hg client

* update damsel

* update tests

* add occurred_at to invoice event

* update params macros

* implement occurred_at

* export cancel params

* disable flappy tests

* fix typo

* simplify occurred_at extraction

* restore explicit clause matching in finalise

* clean ct:prints

* fix whitespace

* attempt at unflapping tests

Co-authored-by: Sergey Yelin <elinsn@gmail.com>
2020-03-27 12:58:41 +03:00
Артем
4212833ef9 FF-163: Fix - P2P tool condition test (#427) 2020-03-13 12:55:24 +03:00
Sergei Shuvatov
a9a6ec896d HG-525: add payment status adjustment (#414) 2020-03-12 13:17:13 +03:00
Andrey Fadeev
a7bd902182 FF-164 Update damsel (#426)
Add rbkmoney/damsel#546 changes support
2020-03-11 14:12:02 +03:00
ndiezel0
f5a8ccfc6f HG-452: Move party and claim management to its own app (#407)
* HG-452: Move party and claim management to it's own app

* HG-452: Remove unused exports

* HG-452: Fix tests, remove old eventsink on party

* HG-452: Revert pm_event_provider

* HG-452: Remove `hg_contract`

* HG-452: Add pm_client and pm_proto

* HG-452: Fix lint

* HG-452: Move party and claim management tests to `party_management`

* HG-452: Fix dialyzer

* HG-452: Fix tests

* HG-452: Fix tests

* HG-452: Remove some includes in hg, bring back `hg_party`

* HG-452: Remove party client from party management

* HG-452: Remove `hg_payout_tool` and rename `pm_invoice_utils` => `pm_currency`

* HG-452: Add party_management config

* HG-452: Remove unused function from common test helpers

* HG-452: Remove unused function from pm_ct_helper

* HG-452: hg_selector => pm_selector

* HG-452: Fix lint

* HG-452: Strip down party_management config and bring back party_events.hrl to hellgate

* HG-452: Fix order of app loads in tests

* HG-452: Bring back `hg_client_party`

* HG-452: Fix tests

* HG-452: Use pm_party in hg, where it is appropriate

* HG-452: Remove unused `hg_client_party` code

* HG-452: Remove unused macros in `hellgate/include/party_events.hrl`

* HG-452: Remove party_management from list of services in config

* HG-452: Remove hg_client and pm_client need to get service_spec

* HG-452: Clean up `party_management/include/domain.hrl` from unused macros

* HG-452: Format `xref_checks` like `erl_opts`

* HG-452: Bring back old event_sink for party events

* HG-452: Simplify include in test

* Merge branch 'master' into HG-452/ft/party_management_new

# Conflicts:
#	apps/hellgate/src/hg_party.erl

* HG-452: Review fix
2020-02-28 15:02:25 +03:00
Sergei Shuvatov
39e41dff4d MSPF-532: get rid of rfc3339 library (#424) 2020-02-26 20:53:09 +03:00
Артем
29ae7e87a2 FF-160: Add w2w transfer (#425)
* added w2w transfer

* updated dominant

* fixed
2020-02-18 14:05:00 +03:00
Sergey Yelin
8f9d5aa2b7 Fix link to pestgresql image (#422) 2020-02-14 15:12:35 +03:00
Sergey Yelin
70a10fe38a Erlang 22 (#420)
* Erlang 22

* Update jenkins
2020-02-10 14:13:32 +03:00
Andrew Mayorov
2f49810614 Bump to rbkmoney/woody_erlang@ed644d7d (#419)
* Bump to rbkmoney/woody_erlang@309ac516

* Update rebar.lock

Co-Authored-By: Sergey Yelin <elinsn@gmail.com>

* Cowboy 2.7.0

* Typo

* Bump to rbkmoney/erlang-health@406fdd36

Co-authored-by: Sergey Yelin <elinsn@gmail.com>
2020-02-06 17:37:21 +03:00
Andrey Fadeev
2270d57cf9 PROX-386 Add shop to RecurrentTokenInfo in ProviderProxy.GenerateToken (#417) 2020-01-30 08:37:12 +03:00
Sergei Shuvatov
826ac4afff HG-533: actualize claim management protocol (#415) 2020-01-28 20:37:36 +03:00
Артем
588bbbb220 Revert "HG-469: Validate recurrent route (#410)" (#416)
This reverts commit 3460f019f079187557d8dee65a8f744efe40a9fb.
2020-01-28 18:54:02 +03:00
Артем
0cc4e66917 HG-469: Validate recurrent route (#410)
* validate recurrent route

* added fixes and test

* added requested changes

* fixed test

* added requested changes

* Update apps/hellgate/src/hg_invoice_payment.erl

Co-Authored-By: Andrew Mayorov <a.mayorov@rbkmoney.com>

* added requested changes

Co-authored-by: Andrew Mayorov <encube.ul@gmail.com>
2020-01-22 14:45:32 +03:00
Sergey Yelin
1e06fd2519 Upgrade woody (#411) 2020-01-17 13:29:22 +03:00
Sergey Yelin
4a3aac068b AAA-54: Fix typo in config param (#409)
* AAA-54: Upgrade dmt_client

* Upgrade how_are_you

* Upgrade woody

* Fix typo in config
2020-01-09 17:48:57 +03:00
Sergey Yelin
df97a7aac0 AAA-54: Improve formatter (#408)
* AAA-54: Upgrade dmt_client

* Upgrade how_are_you

* Upgrade woody
2020-01-09 15:25:31 +03:00
Roman Pushkov
1e3a74c611 HG-530: handle certain errors as fd finishes (#406)
* add handling

* cleanup

* fix

* dialyzer fix

* fix typo

* improve naming

* add safe failures to config

* fix naming

* rename safe to benign

* make fd operations time-independent

* fix compilation errors
2020-01-09 12:26:17 +02:00
Sergey Yelin
0bf030fa5b AAA-54: Upgrade dmt_client (#404) 2019-12-20 18:52:04 +03:00
Sergey Yelin
f1a595f283 Force cache save in CI (#403)
* Force cache save in CI
2019-12-20 17:53:09 +03:00
Sergei Shuvatov
a62a3eeb67 Update machinegun (#402) 2019-12-16 19:57:26 +03:00
Sergey Yelin
302a04b8d6 Aaa 54 remove spaces (#401)
* AAA-54: Remove spaces in messages

* Update dmt_client and config
2019-12-13 18:36:31 +03:00
Sergey Yelin
606e74287b AAA-54: Remove spaces in messages (#399) 2019-12-13 13:06:16 +03:00
Sergey Yelin
96b6cecd5b Update woody (#395)
* Update woody

* More optimisations
2019-12-12 11:09:55 +03:00
Sergey Yelin
80ff9e5774 BJ-703: Add wechat and alipay to payment tool (#396)
* BJ-703: Add wechat and alipay to payment tool

* Fix tests
2019-12-12 07:15:17 +03:00
Sergey Yelin
5021fff28f Switch to new woody with log formatter (#394)
* Switch to new woody with log formatter

* event_handler_opts -> scoper_event_handler_opts

* Fix lint

* Add limit to tests

* Fix formater option passing

* Fix woody params passing

* Update woody
2019-12-09 18:03:05 +03:00
Roman Pushkov
85dcddc400 HG-527: recurrent paytool eventsink sequence (#391)
* update damsel

* update recurrent paytool client

* update eventsink client

* update event provider

* update recurrent paytool

* more recurrent paytool client updates

* revert event sink client changes

* finalise event sink test

* dialyzer fix

* review fixes

* review updates

* improve recurrent paytool eventsink test

* fix linter error
2019-12-05 14:18:38 +03:00
Roman Pushkov
60be383a3e HG-514: provider conversion routing (#367)
* add conversion service type to fd client

* fetch conversion stats in routing

* minor fix

* add deterministic operation id to fd client

* register conversion operations in invoice payment

* update routing

* fd client minor refactor

* add conversion scoring

* cleanup comments

* fix linter errors, export build_operation_id/2

* fix dialyzer error

* refactor

* fix argument naming

* conversion test

* minor naming updates

* move conversion service config to sys.config, minor fixes

* refactoring

* update tests

* update routing types

* fix tests

* update config

* move conversion service calls

* update tests

* explicit config for availability

* update routing

* clean comment

* update tests

* update routing

* update routing in invoice payment

* cleanup debug calls

* refactor fd calls

* fix typo

* add provider conversion to process payment

* cleanup invoice payment

* update routing in recurrent paytool

* update routing

* update tests

* fix fd call, clean ct:print

* refactor proxy provider

* fix wrong return

* missing full stop

* fd client update

* conversion service in invoice payment

* revert forgotten process payment changes

* cleanup

* fix typo

* fix scoring, cleanup

* narrow id() type in fd client

* proxy provider cleanup

* invoice payment fd calls refactoring

* add and improve routing tests

* update config, move start conversion service

* move notify fd, again

* fd notification minor rework

* only register payment processing with target processed

* fix

* fix config
2019-11-25 16:42:48 +03:00
Sergey Yelin
50471c0ffa HG-524: add info to invoice payment (#389)
* Update damsel

* Add route and cacheflow

* get_refunds() -> get_legacy_refunds()

* Add sessions and refunds(without session yet)

* Fix session conversion

* Rename

* Simplify sort

* session -> sessions for list of session

* Replace legacy_refunds with new refunds

* Fixes

* Remove get_legacy_refund/1

* Check refunds instead of legacy_refunds

* Use list of sessions for every target

* Simplify sessions mapping
2019-11-19 19:13:54 +03:00
Alexey
95b6dffc75 Revert "Revert "HG-518: Route change reporting" (#386)" (#388) 2019-11-15 17:17:12 +03:00
Boris
da953a06ef FF-124: P2P upd damsel, LifetimeSelector (#387) 2019-11-07 16:31:24 +03:00
Andrey Fadeev
f1613123b6 Revert "HG-518: Route change reporting" (#386)
This reverts commit db9c73eb0e3f9ac18a361302dc489e08b6e5be7d.
2019-11-06 20:50:48 +02:00
Alexey
fc18e51d40 HG-518: Route change reporting (#373) 2019-11-01 13:55:44 +03:00
Boris
4ef337c521 add P2PServiceTerms: allow, quote_lifetime (#382) 2019-10-29 12:12:03 +03:00
Sergey Yelin
773d29ffb2 Erlang 21.3.8.7 (#381) 2019-10-23 16:44:24 +03:00
Boris
0ae274de35 add P2PServiceTerms (#369) 2019-10-17 17:33:16 +03:00
Артем
1e80f845d6 HG-520: Added party revision (#378) 2019-10-17 13:23:45 +03:00
Артем
7218b27db5 HG-517: Get invoice state with range (#372)
* added get with range

* updated proto

* minor

* minor
2019-10-15 16:02:48 +03:00
Sergey Yelin
6f69fe59ca HG-500: Switch to shumpune-proto (#353)
* HG-500: Switch to shumpune-proto

* Added shumpune

* Switch to shumpune

* Fix call to get_balance

* Upgrade to fixed shumpune

* Add shumpune to sys.config

* AffectedAccounts -> Clocks

* Cleanup

* Add missing shumpune_proto to hellgate

* More cleanup

* Fix spec fot commit/rollback

* Remove shumoune service and switch accounter to shumpune

* Split plan/2 to plan/2 and hold/2.

* Remove shumway (free resources)

* More API cleanup

* More cleanup

* Change plan/2 according protocol

* Update shumpune

* Switch to shumway

* Switch to shumway

* Fix test config

* Revert "Revert "HG-516: pass transport_opts in hg_client_api (#371)" (#375)"

This reverts commit 1f96b4a0d3ff3f6ddcb3d70a33f4073e895c7744.
2019-10-15 13:17:42 +03:00
Andrey Fadeev
859ccbb6f6 FF-77 Add party and domain revision to ComputeContractTerms (#370) 2019-10-04 11:49:18 +03:00
Sergei Shuvatov
619c65981a HG-513: add minimal_payment_cost field to RecurrentPaymentTool (#366) 2019-09-26 12:53:41 +03:00
Anton Kuranda
a5c989a11d Let's make it opensource (#364) 2019-09-20 00:09:59 +03:00
Sergey Yelin
32e85554dc HG-503: Add GetStatus API call for PartyManagement (#361)
* HG-503: Add GetStatus API call for PartyManagement

* Typo
2019-09-10 15:41:44 +03:00
Sergei Shuvatov
6310904721 HG-494: add claim committer (#357)
* HG-494: add claim committer

* HG-494: review fixes

* Replace boilerplate with macroses

* More macros

* More macroses

* More macroces - 2

* More macroses - 3

* More macroses - 4

* More macroses - 5

* More macroses - 6

* Rename funcions

* Remove contractor_identity_documents_modification (will be removed from
proto)

* More fixes

* Remove identity docs from claimant management proto
2019-09-09 18:10:55 +03:00