Commit Graph

371 Commits

Author SHA1 Message Date
Andrey Fadeev
14df635075 HG-250 Multistage payment start (#229) 2018-08-09 11:32:18 +03:00
Andrey Fadeev
3fb3c92c4b HG-381 Add owner_id and shop_id to InvoicePaymentStarted event (#227)
And update dmsl
2018-07-23 12:18:58 +03:00
Evgeny Levenets
d7d318f1ff HG-354: add contractors and wallets in party (#205) (#221)
* HG-354: add contractors and wallets in party (#205)

* switch to epic damsel

rbkmoney/damsel@3af8098

* add support for wallet blocking & suspension

* contractor modification support

* wallet modification support

* fix account creation side effects

* add minimal tests

* add wallet blocking & suspension tests

* add simple checks for contractor & wallet

* new checks & exceptions for wallets & contractors

* add marchaling for old events

* add catch-all clause to claim effect marshaling (#222)

* HG-379: add wallet service terms support (#223)

* HG-379: add wallet service terms support

* maybe

* replace `shop` with `shop_id` in varset

* check wallets terms for currencies instead of payment terms

* fix tests

* make identification level for legacy contracts more correct

* Bump to rbkmoney/damsel@3549c635

* Switch to master rbkmoney/damsel@36907b0e

* Switch to master rbkmoney/dominant@4e296b03

* Attempt to easily fix test failures

* Attempt to fix test failures
2018-07-17 20:00:44 +03:00
Andrey Fadeev
90850ead4e MSPF-373 Update woody version (#225) 2018-07-09 15:42:52 +03:00
Andrew Mayorov
06592e29f0 Provide ability to setup timeouts (#226)
* Bump to rbkmoney/woody_erlang@9846923
2018-07-06 15:16:10 +03:00
Andrey Fadeev
848f176450 HG-368 Retry session after temporary unavailability failure in invoice payment (#220)
Use retry implementation from genlib_retry library.
Retries policy presents in application env.
Add more tests.
2018-06-08 14:44:23 +03:00
Petr Kozorezov
73e38282c7 MSPF-370: Bump erlang health (#219) 2018-05-29 17:13:32 +03:00
Evgeny Levenets
9506762966 Acts second try (#214)
* Revert "Revert "HG-370: support reporting preferences modification (#208) (#209)" (#212)"

This reverts commit 03ad14a90e47a0fc733590c67c7eaccfb10e6e96.

* fix PayoutScheduleRef unmarshalling
2018-05-17 17:56:43 +03:00
Anton Belyaev
ab17b07946 Revert "HG-370: support reporting preferences modification (#208) (#209)" (#212)
This reverts commit 4d18057b84c4fa8e5040bdf45ab5f6139f7bf486.
2018-05-16 20:40:14 +03:00
Anton Belyaev
72215968bd Bump timeouts in dmt client (#211) 2018-05-16 20:29:36 +03:00
Evgeny Levenets
2e1d70994f HG-370: support reporting preferences modification (#208) (#209)
* HG-370: support reporting preferences modification (#208)

* switch to epic damsel rbkmoney/damsel@3019575
* add simple test
* add schedule ref validation
* merge forgotten terms for acts
* calm down dialyzer
* add backward compatibility (#210)
2018-05-16 18:25:52 +03:00
Natalia Pulina
b024fd209b HG-360: Introduce apple pay (#203) (#207)
rbkmoney/damsel@d9b9706
2018-05-08 15:09:05 +03:00
Evgeny Levenets
9a36283b6e HG-334: use specific exceptions instead of InvalidRequest (#192) (#196)
* use specific exceptions instead of InvalidRequest
* remove unused stuff
* make payout_tool truly optional
* adapt to new exceptions and add PayoutScheduleRef check
* use hg_domain:exist instead of get
* add payout tool currency check
* rbkmoney/damsel@83d6c99
2018-04-20 14:38:36 +03:00
Petr Kozorezov
e9e6de184b add "health" handle (#204) 2018-04-12 18:02:05 +03:00
Petr Kozorezov
cec4041653 add payment error logs (#198) 2018-04-03 13:47:27 +03:00
Natalia Pulina
d159cb5107 HG-339: Refund currency should match payment currency (#195) 2018-03-22 18:16:07 +03:00
Natalia Pulina
3268282848 HG-339: Introduce partial refunds (#187)
* HG-339: Introduce partial refunds (#176)

* HG-339: Enrich refund with payment cash for old events (#177)

* HG-341: Introduce provision and service terms for partial refunds (#180)

*  HG-348: Make refund id using sequences service (#186)

* HG-348: Make refund id using sequences service

* HG-348: Bump to rbkmoney/scoper@cbe3abc

* HG-339: rebar.config fixed

* HG-339: seq_proto -> hg_proto.app.src (#188)

* HG-339: Cant start simultaneous partial refunds (#189)

* HG-339: Bump rbkmoney/damsel@349d26c, Bump rbkmoney/dominant@007326a
2018-03-06 18:05:18 +03:00
Evgeny Levenets
f0e9a07d63 HG-312: add payout terms support (#181)
* HG-312: add payout terms support (#174)

* add payout terms support
* add payout method condition support
* clean up hg_party a little bit
* separate payment institution stuff

* CAPI-251: add varset support to payment institution terms computation (#178)

* add varset support to payment institution terms computation
* add more science to pmnt_institution test

*  HG-343: add marshaling for old models (#183)

* bump damsel and dominant
* remove policy from payout service terms
* rename SheduleRef to PayoutSheduleRef to match damsel naming
* add marshaling for old models: international bank account, international legal entity, shop

* HG-343: fix old contract unmarshalling (#184)

* HG-343: fix old contract params unmarshalling (#184)

* linter fix

* HG-343: add support for merchant payout account (#185)

* add support for merchant payout account
* fix exceptions for ComputeTerms methods
2018-02-26 19:29:25 +03:00
Petr Kozorezov
04ab587a99 HG-345: Introduce error mapping (#175)
* update types and marshalling

* add errors representations convertor

* apply other review comments: add runtime type checking

* apply review fixes

* move errors code to a separate repo

* change damsel to master
2018-02-15 18:01:23 +03:00
Andrew Mayorov
d8fdfc4d1c Whoopsie! Switch back to master rbkmoney/damsel@7904077 (#182) 2018-02-15 13:31:36 +03:00
Andrew Mayorov
07afb0a2f7 Implement ad-hoc repairs w/ the ability to push arbitrary changes (#179)
* Make misbehaving testcase revert domain config alterations at the end
2018-02-15 12:43:14 +03:00
Andrew Mayorov
5077bc52ed HG-314: Introduce digital wallets (#164)
* HG-314: Let it learn new payment tool and storage schema

* HG-314: Add forgotten payment tool condition assertions

* HG-314: Increase healthcheck timeouts just for the fun of it

* HG-326: Introduce new rounding rule for cashflow volume (#169)

* BA-52: Bump to master rbkmoney/damsel@620cca5

* BA-52: Bump to master rbkmoney/dominant@68d75c0
2018-01-24 16:40:54 +03:00
Evgeny Levenets
1c3d945027 HG-305: bring payment institutions on the table (#167)
* HG-305: add payment institutions support (#159)
* HG-310: add descrete party revisioning (#162)
* HG-317: add international legal entity & bank account (#163)
* HG-317: marshaling & migration (#165)
* MSPF-335: add default payment inst to claim's changeset and effects (#168)
* MSPF-335: add party revision to Invoice (#170)
2018-01-21 20:59:44 +03:00
Natalia Pulina
e4baaef0ba HG-319: user_interaction in SleepIntent handled (#166)
* HG-319: test cases for failure and success payment with user interaction

* HG-319: kv store added

* HG-319: use token for payment tool scenario
2018-01-15 13:12:03 +03:00
Dmitry Manik
9627a430a9 Subs-2 (#158) 2017-11-22 14:38:09 +03:00
Timur
9978bd6bd0 From new service-erlang image (final) (#154)
* From new service-erlang image
2017-10-31 19:48:18 +03:00
Anton Belyaev
d73592ca22 HG-273: move woody scoped logging to woody (#124)
* use scoper lib for log meta scoping
* remove woody_event_handler behaviour from hg_client_api (unused)
* update tests config for scoper
* bump up dmt_client (now with scoper support)
2017-10-26 13:59:47 +03:00
Evgeny Levenets
23f5bbce7e HG-257: penetrate invoice cart into invoice template (#143) 2017-10-25 19:26:00 +03:00
Anton Belyaev
19f75db729 HG-182: Introduce customer as a payment resource (#141)
* HG-231: Introduce customers (#114)

* HG-231: Pass aux state down to the machine handlers (#137)

* HG-231: Handle customer aux_state (#138)

* HG-231: Add customer status change event (#140)

* HG-182: Switch to master rbkmoney/damsel@478235a
2017-10-23 16:44:42 +03:00
Timur
2d1ae15f2f We decided to get rid of IPv6 in compose (#147) 2017-10-20 13:43:44 +03:00
Andrew Mayorov
fa3d58ba89 HG-294: Fix obsolete callback handling (#146)
* HG-294: Refactor tests a bit

* HG-294: Fix obsolete callback handling

* HG-294: Test obsolete callback in a hold payment

* HG-294: Allow to run single suite w/ Make target
2017-10-19 18:44:32 +03:00
Natalia Pulina
77b4fdb7ee HG-281: Introduce compute terms for invoice templating (#133) 2017-10-04 14:26:56 +04:00
Andrew Mayorov
a5da1247f9 HG-264: Hack up GetPayment interface for proxies (#130) (#132)
* HG-264: Adapt to the modified protocol

* HG-264: Generalize hg_machine interfaces a little

* HG-264: Hack up GetPayment interface for proxies

* HG-264: Bump to rbkmoney/damsel@23b50e4
2017-09-28 20:30:57 +03:00
Natalia Pulina
436417ca44 BA-36: Ability to retrieve terms for contract, shop and invoice (#131)
* HG-260: add ability to retrieve terms for contract & shop (#127)

* add ability to retrieve terms for contract & shop
* switch to epic damsel rbkmoney/damsel@caa8dcb
* fix selector reducer
First problem was in selector reducer. In case of {decisions, [D1, D2, ..., Dn]}, If D1 reduce to <some_non_const_condition, some_value> and D2 reduce to <const_bool_condition, some_value>, then reducer generate invalid thrift structure like {decisions, [ReducedD1, {_true_, <some_value>}, ..., ReducedDn]}.
Second problem was in condition solver: party condition evals to false in case of missing shop in var_set, even if no shop condition specified.

* HG-276: ability to retrieve terms of contract for invoice (#129)

* BA-36: Bump to rbkmoney/damsel@release/erlang/master
2017-09-27 17:53:28 +04:00
Andrew Mayorov
6cb779d5c2 HG-58: Do not allow to overdraft account on refund (#126)
* HG-58: Do not allow to overdraft account on refund

* HG-58: Employ dedicated exception type
2017-09-21 12:03:39 +03:00
Natalia Pulina
8ebc4edd07 HG-274: records from mg_proto used, client for event_sink added (#123) 2017-09-18 18:02:46 +04:00
Andrew Mayorov
011f8b18ba Bump to rbkmoney/damsel@2223cc6 (#121) 2017-09-14 16:34:27 +03:00
Andrew Mayorov
5113d9584d HG-58: Introduce refunds and payments provision terms (#118)
* HG-229: Implement refunds facilities (#107)

* HG-229: Respect payments / refunds provision terms

* HG-229: Respect provider limits

* HG-229: Simplify domain macros usage

* HG-229: Embrace terms requiredness (#113)

* HG-263: Optimize payment risk coverage (#116)

* HG-262: Bump damsel and service deps

 * rbkmoney/dominant@298cd19
 * rbkmoney/machinegun@1844dff
 * rbkmoney/shumway@7a5f95e
 * rbkmoney/damsel@49773b2
2017-09-12 14:12:44 +03:00
Andrew Mayorov
db60257023 HG-237: Implement hold payments (#110)
* HG-236: Hold realisation

* HG-248: msgpack structures used for invoice (#105)

* HG-246: improve support for 54FL (#101)

* BJ-201: Require suspend timeout to be set explicitly (#102)

* Allow proxy to keep sessions suspended (#103)

* HG-232: add fatal risk score support (#104)

* HG-248: msgpack structures used for invoice

* CAPI-176: add payment terminal support (#106)

* HG-255: Selector for holds handled

* HG-248: unmarshal metadata fixed (#109)

* HG-237: Switch to rbkmoney/damsel@44afec3 master
2017-08-29 19:33:14 +03:00
Evgeny Levenets
6911c14f6f CAPI-176: add payment terminal support (#106) 2017-08-18 11:38:15 +03:00
Andrew Mayorov
a3bb2afa5a Allow proxy to keep sessions suspended (#103) 2017-08-11 15:25:58 +03:00
Andrew Mayorov
7a5d862bc8 BJ-201: Require suspend timeout to be set explicitly (#102) 2017-08-04 13:34:08 +03:00
Evgeny Levenets
87fcefe490 HG-246: improve support for 54FL (#101)
* add party meta support
* bumped deps
2017-08-03 19:32:38 +03:00
Anton Belyaev
5df0d2b01a Introduce invoice templates (#99)
* introduce invoice templates
* push image from Jenkins on epic branches
* bump machinegun version
2017-07-26 17:50:32 +03:00
Evgeny Levenets
5238289da7 HG-244: added PartyID and InvoiceDetails for inspector proxy context (#100)
rbkmoney/damsel@95b03f2
2017-07-26 14:30:36 +03:00
Andrew Mayorov
e88c4b8e74 HG-219: Implement multiclaim facilities (#98)
* HG-173: changed party interface to claims (#79)

* DC-45: implemented dirty version of event batching (#92)

* DC-45: implemented dirty version of event batching

* DC-45: Make invoice machines emit changes within single event

* HG-229: Embrace new events hierarchy (#94)

* HG-229: Bump to rbkmoney/damsel@7bb67fc

* HG-229: Embrace new events hierarchy

* HG-229: Fix long time broken typespecs

* HG-229: Employ session results + further decouple sessions from payment

* HG-229: Better classify payment errors

* HG-229: Implement model splitting

* HG-229: Stuff location with something meaningful

* HG-229: Overcome a couple of rebase related issues

* HG-229: Drop event filtering facilities altogether

* HG-229: Make result more explicit

* HG-229: Lessen verbosity on cleaning up

* HG-192: Handle missing shop properly (#95)

* HG-173: fixed some shop-related asserts (#97)

* HG-219: Bump to upstream rbkmoney/damsel@b665c89
2017-07-17 16:33:57 +03:00
Evgeny Levenets
81db357ed5 HG-218: added Checkout interface to party management (#90) 2017-06-16 19:51:27 +03:00
Andrew Mayorov
aa1f3061c1 HG-196: Introduce naive payment cash flow adjustments (#88)
* HG-196: Lose containerpilot finally

* HG-196: Switch to keynslug/damsel

* HG-196: Shortcut invoice / payment creation interface

* HG-196: Refactor UserInfo reuse, move access control to the call ctx

* HG-196: Implement payment adjustments

* HG-196: Quickly shut linter up

* HG-196: Fix bad clause

* HG-196: Make a couple of cosmetic fixes

* HG-196: Expand adjustment tests coverage

* HG-196: Constrain complex id construction more

* HG-196: Rename exception macro

* HG-196: Revert occasional verbosity boost

* HG-196: Shortcut getting payment

* HG-196: Make id construction more specific

* HG-196: Update to reflect finally negotiated protocol

* HG-196: Bump to rbkmoney/woody_erlang@2d00bda

* HG-196: Heal occasional error traces during tests

* HG-196: Fix a whoopsie

* HG-196: Fix dialyzer complaints

* HG-196: Bump to rbkmoney/damsel@8747590
2017-06-15 19:57:02 +03:00
Artem Ocheredko
e42fb4b0a6 HG188-add user identity (#86)
* HG-188 Move to erlang 19 dialyzer and user identity access

* HG-188 Postreview refactoring
2017-05-17 11:50:18 +03:00
Andrew Mayorov
b2e9ff715d HG-190: Abuse persistent timers in the invoice machine (#84)
* HG-190: Cut down on extraneous mg calls a little

* HG-190: Switch to rbkmoney/damsel@4018c41

* HG-190: Abuse persistent timers in the invoice machine

* HG-190: Drop merchant proxy logic altogether

* HG-190: Add one more test on invoice timings

* HG-190: Fix confusing timer management

* HG-190: Oops

* HG-190: Switch to damsel upstream, bump to rbkmoney/machinegun@a5a8653

* HG-190: Bump to rbkmoney/machinegun@707c2f8
2017-05-04 17:58:54 +03:00