Commit Graph

216 Commits

Author SHA1 Message Date
Andrew Mayorov
ad14d616d8
Fix merchant fees adjustment mechanics (#206) 2018-04-17 12:22:49 +03:00
Petr Kozorezov
36ef1871bd
add "health" handle (#204) 2018-04-12 18:02:05 +03:00
Andrew Mayorov
13d35eab0a
Fix merchant refund terms acceptance (#202)
It was incorrect not to consider payment methods restriction when
evaluating refund terms.
2018-04-04 15:26:56 +03:00
Andrew Mayorov
d069ee9c44
Make adjustments respect possibly updated merchant terms (#199) 2018-04-03 20:09:12 +03:00
Evgeny Levenets
3e283df2cc
fix partial refund varset collection (#201)
* break tests
* fix partial refund varset collection
2018-04-03 19:11:14 +03:00
Petr Kozorezov
a53f1c700f
add payment error logs (#198) 2018-04-03 13:47:27 +03:00
Natalia Pulina
0b0664b96d
HG-352: Fix routing for payment - checking of refund conditions (#194) 2018-03-23 12:26:53 +03:00
Natalia Pulina
4c7c8ae582
HG-339: Refund currency should match payment currency (#195) 2018-03-22 18:16:07 +03:00
Andrew Mayorov
e9fcb3bae9
Refrain from emitting event when proxy kept its session state untouched (#193)
* Bump test timeout up a bit more
2018-03-15 13:12:31 +03:00
Andrew Mayorov
d3a437ecc4
Exile a couple of legacy marshalling devils (#191) 2018-03-13 17:33:13 +03:00
Natalia Pulina
24086c83da
HG-339: merge_refunds_terms and reduce_refunds_terms fixed (#190) 2018-03-12 11:43:30 +03:00
Natalia Pulina
26818fb642
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
911bb7d6e7
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
2a1f4263c8
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
c658f1f4fd
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
0791b44eee
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
Andrew Mayorov
46c7638166
BA-43: Checkout party by revision greedily (#172) 2018-01-22 17:46:49 +03:00
Evgeny Levenets
442c626dc2
BA-43: add forgotten party revision marshalling (#171) 2018-01-22 15:40:57 +03:00
Evgeny Levenets
1beb993ea3
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
92a1f7cf8c
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
70408c2bae
Subs-2 (#158) 2017-11-22 14:38:09 +03:00
Evgeny Levenets
2055ff7385
CAPI-213: fix legacy template details unmarshaling (#155) 2017-11-02 18:15:55 +03:00
Anton Belyaev
1af4f1806d 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
b877a59f8d HG-257: penetrate invoice cart into invoice template (#143) 2017-10-25 19:26:00 +03:00
Andrew Mayorov
891b6e612c HG-182: Fix unmarshalling of super legacy invoices (#150) 2017-10-24 13:41:31 +03:00
Andrew Mayorov
0aa975f07e HG-182: Fix super legacy unmarshalling (#149) 2017-10-23 20:45:36 +03:00
Andrew Mayorov
72676401de HG-182: Fix legacy unmarshalling (#148) 2017-10-23 19:06:00 +03:00
Anton Belyaev
80f24744af 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
Andrew Mayorov
b94586d248 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
626bc20f61 HG-284: tests for hold auto cancellation and capturing fixed (#144)
* HG-284: lifetime of invoice increased

* HG-284: starting dummy proxies once, parallel execution of holds
2017-10-18 16:44:39 +04:00
Natalia Pulina
76357424bc HG-281: Introduce compute terms for invoice templating (#133) 2017-10-04 14:26:56 +04:00
Andrew Mayorov
447643ac92 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
542645eda6 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
f732f69da2 HG-58: Include mg_proto as a direct dependency (#128) 2017-09-21 20:06:43 +03:00
Andrew Mayorov
c39c7c4cfc 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
Andrew Mayorov
ec4132cfb8 HG-58: Fix unmarshalling of legacy payment statuses (#125) 2017-09-19 16:07:23 +03:00
Natalia Pulina
1e7aca94e2 HG-274: records from mg_proto used, client for event_sink added (#123) 2017-09-18 18:02:46 +04:00
Andrew Mayorov
5a6e67368c Temporary assume undefined reason as empty (#122)
* Bump to rbkmoney/damsel@2223cc6

* Temporary assume undefined reason as empty

* Move claim status hacking closer to where unmarshalling takes place
2017-09-14 18:03:05 +03:00
Evgeny Levenets
c7afa2a462 BA-29: fix terminal user interaction marshaling (#119) 2017-09-12 17:44:24 +03:00
Andrew Mayorov
d970a2c426 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
Natalia Pulina
83fcbbc092 HG-258: Flow is published in business metrics (#115) 2017-09-11 12:30:01 +04:00
Andrew Mayorov
356f8b7580 HG-237: Provide msgpack marshalling for invoice templates (#111)
* HG-237: Provide msgpack marshalling for invoice templates

* HG-237: Shut dialyzer whining up with a couple of hotfixes

* HG-237: Try to tame these infernal timeouts
2017-08-30 14:57:22 +03:00
Andrew Mayorov
037929640e 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
a0c7575fbc CAPI-176: add payment terminal support (#106) 2017-08-18 11:38:15 +03:00
Evgeny Levenets
55668e4c8a HG-232: add fatal risk score support (#104) 2017-08-11 19:17:55 +03:00
Andrew Mayorov
6835153eed Allow proxy to keep sessions suspended (#103) 2017-08-11 15:25:58 +03:00
Andrew Mayorov
a129b64667 BJ-201: Require suspend timeout to be set explicitly (#102) 2017-08-04 13:34:08 +03:00
Evgeny Levenets
f51c3aa5a5 HG-246: improve support for 54FL (#101)
* add party meta support
* bumped deps
2017-08-03 19:32:38 +03:00
Anton Belyaev
376afd7489 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
44cce58ddb HG-244: added PartyID and InvoiceDetails for inspector proxy context (#100)
rbkmoney/damsel@95b03f2
2017-07-26 14:30:36 +03:00
Andrew Mayorov
8fe96f1f4c 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
Natalia Pulina
da5889c74e HG-213: Log public events for invoice and invoice payment (#89)
* HG-213: Log public events for invoice and invoice payment (#89)

* HG-213: Postreview refactoring

* HG-213: Clause should be on new line

* HG-213: get_partial_remainders moved to hg_cashflow

* HG-213: appeal to accounter removed

* HG-213: log all events in hg_invoice

* HG-213: spec for get_partial_remainders fixed

* HG-213: existing macros are used

* HG-213: do not handle amounts with different currencies

* HG-213: partial remainders added to invoice_payment_status_changed event

* HG-213: tuple for account type converted to string

* HG-213: code style fixed

* HG-213: spec get_partial_remainders fixed

* HG-213: amount and currency added to all payment events

* HG-213: use separator . for elastic

* HG-213: code formatting

* HG-213: use try_get_payment_session in get_log_params

* HG-213: Code refactoring

* HG-213: Code refactoring

* HG-213: Contract for get_log_params func changed
2017-06-26 13:16:28 +03:00
Evgeny Levenets
4da0814c87 HG-218: added Checkout interface to party management (#90) 2017-06-16 19:51:27 +03:00
Andrew Mayorov
bb0bae22ef 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
Andrew Mayorov
43720b2a22 HG-193: Get rid of uninformative misconfiguration errors (#87)
* HG-193: Get rid of uninformative misconfiguration errors

* HG-193: Tolerate missing external account
2017-05-18 20:10:23 +03:00
Artem Ocheredko
ab4ffe8569 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
ae2ec46239 Fix selector and condition patterns (#85) 2017-05-11 22:52:50 +03:00
Andrew Mayorov
5824c62847 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
Evgeny Levenets
7a35a40a33 DC-30: external accounts added to cash flow (#82) 2017-04-25 13:51:37 +03:00
Andrew Mayorov
bf50fbffda HG-155: Export woody server net_opts to the config (#81) 2017-04-03 17:47:58 +03:00
Andrew Mayorov
e4ec2f2677 HG-186: Describe limit violations more throughly (#80)
* HG-186: Describe limit violations more throughly

* HG-186: Make argument order more natural
2017-03-30 16:25:29 +03:00
Andrew Mayorov
5bbee121a5 HG-144: Make state processors msgpack-aware (#78)
* HG-155: Fix invoicing handler quirks

* HG-144: Make state processors msgpack-aware

* HG-155: Bump to rbkmoney/damsel@d0c4a06, rbkmoney/machinegun@e04e529

* HG-155: Bump to rbkmoney/dominant@61320c4
2017-03-29 19:18:52 +03:00
Andrew Mayorov
4a04b06fb9 Raise correct exception on empty invoice history (#77) 2017-03-14 17:23:02 +03:00
Evgeny Levenets
a18a6f9979 HG-168: use any of contract’s categories if category isn’t specified at shop creation (#75) 2017-03-06 19:20:34 +03:00
Andrew Mayorov
6dfb1db961 HG-170: Fix Invoicing exception interface (#76)
* HG-170: Remove obsolete TODOs

* HG-170: Fix Invoicing exception interface

* HG-170: Bump to rbkmoney/damsel@9ec1a2e
2017-03-06 14:49:50 +03:00
Evgeny Levenets
392452f133 HG-160: split party management into 3 modules (#73)
* HG-160: split hg_party into 3 modules
* added TODO about changes applying
2017-03-03 20:08:05 +03:00
Andrew Mayorov
6f8e4998e8 MSPF-191: Fix proxy options merging (#74) 2017-02-27 21:46:27 +03:00
Evgeny Levenets
6dae29bfab HG-154: party management checks validation (#65) 2017-02-17 15:58:04 +03:00
Andrew Mayorov
eee9eceaf8 MSPF-191: Fix inappropriate timeout setup after payment capture (#70)
* MSPF-191: Fix inappropriate timeout setup after payment capture

* MSPF-191: Bump to rbkmoney/machinegun@a0e488b
2017-02-08 19:40:35 +03:00
Evgeny Levenets
240328080b CAPI-59: contract creation now produce event with 2 change sets. (#69) 2017-02-06 14:24:21 +03:00
Andrew Mayorov
8031353726 HG-147: Improve event handler, make up logger prototype (#67)
* HG-147 Event handler / logger prototype

* HG-147 Logging scopes next edition

* HG-147 Add logging scopes to hg_machine/invoice/payment

* HG-147 Add postreview fixes

* HG-147: Try to improve metadata logging a bit
2017-02-04 19:48:29 +03:00
Andrew Mayorov
df62fb92dc MSPF-191: Bump to rbkmoney/woody_erlang@17bd521, fix exception handling (#68)
* MSPF-191: Bump to rbkmoney/woody_erlang@17bd521 and fix exception handling

* MSPF-191: Switch off debug output in tests
2017-02-04 18:52:13 +03:00
Andrew Mayorov
44825a9eec HG-152: Set up a proxy while creating a shop (#66) 2017-02-03 20:00:17 +03:00
Andrew Mayorov
bcd776a418 Implement all the hacks (#63)
* HG-153: Implement setting transport options up for proxies

* HG-153: Reduce inpector selector during payment init

* HG-151: Implement cost range condition

* HG-151: Reimplement inspector tests using selector

* HG-138: Shitcode up a party-related selectors implementation

* HG-153: Use proxy transport options from the app env

* HG-138: Implement const predicate reduction

* HG-138: Bump to rbkmoney/damsel@61701d2

* HG-138: Bump up dominant and build image

* HG-138: Make compose more insistent on health checking

* HG-152: Bump to rbkmoney/image-service-erlang@13454a9

* HG-138: Bump up dominant again

* HG-153: Make cash range check fail upon misconfiguration
2017-02-01 21:44:07 +03:00
Evgeny Levenets
669fdab027 HG-145: party management improvements (#62) 2017-01-31 23:02:03 +03:00
Andrew Mayorov
e4c62bee37 HG-149: Save party contact info upon creation (#61) 2017-01-17 19:30:40 +03:00
Evgeny Levenets
70a3658beb HG-129: primitive access control implemented (#59) 2017-01-17 15:49:57 +03:00
Andrew Mayorov
3af4a8bd0b HG-131: Shitcode a merchant proxy integration (#58)
* HG-130: Adapt to the damsel with breaking changes

* HG-131: Implement merchant proxy binding

* HG-131: Refactor shitty code a bit

* HG-131: Add upsert facility to help filling dmt up in tests

* HG-131: Name children properly to run more than one proxy handler

* HG-131: Fix a spec

* HG-131: Narrow a number of cases w/ asserting nonempty history

* HG-131: Drop unnecessary handling of woody errors

* HG-131: Shitcode a merchant proxy integration

* HG-131: Switch to the damsel upstream

* HG-131: Fix confusing type declarations

* HG-131: Adhere to the callback interface

* HG-131: Ensure proxy setup accepted automatically
2017-01-16 18:22:57 +03:00
Evgeny Levenets
3896310253 HG-127: new woody (#55) 2017-01-12 19:59:04 +03:00
Artem Ocheredko
8e68cda18f HG-110 Add risk score routing initial (and failed) attempt (#51)
* HG-110 Add risk score routing initial attempt. Move to the newest damsel
2017-01-12 18:36:58 +03:00
Andrew Mayorov
1efefe6e20 HG-130: Adapt to the damsel with breaking changes (#52)
* HG-130: Adapt to the damsel with breaking changes

* HG-130: Switch to proper damsel master

* HG-130: Hack around a damsel's whoopsie

* HG-130: Bump dominant and machinegun images
2017-01-11 17:22:41 +03:00
Evgeny Levenets
7a423bdff9 HG-112: implemented party contracts (#53) 2017-01-10 19:53:01 +03:00
Artem Ocheredko
c1b6e02847 HG-74 Integrate with new damsel protocols (#50)
* HG-74 Integrate with new damsel protocols
2016-12-08 19:18:32 +03:00
Evgeny Levenets
8b3fcdbc2e HG-78: allow updates to pending or suspended shop (#49) 2016-11-16 11:27:06 +03:00
Evgeny Levenets
4905525c76 HG-72: save context in gproc instead of carrying around from function to function (#48) 2016-11-15 10:59:17 +03:00
Evgeny Levenets
974a0cbb02 HG-72: separate generic machine logic from business-specific error handling (#43) 2016-10-27 20:07:06 +03:00
Andrew Mayorov
fe3f3ac110 MSPF-91: Fix broken Invoicing.Get (#47) 2016-10-25 22:25:32 +03:00
Andrew Mayorov
ef9864b17f HG-63: Interwine payment processing with accounting (#45)
* HG-63: Interwine payment processing with accounting

* HG-63: Fix linting issues

* HG-63: Fix badmatch

* HG-63: Play with timings in tests

* HG-63: Add a couple of TODOs

* HG-63: Use `partition` instead of deceptive `splitwith`
2016-10-23 17:57:22 +03:00
Artem Ocheredko
08f74399ab HG-64 Move proxy provider to the newest damsel (#44) 2016-10-21 18:35:34 +03:00
Evgeny Levenets
d1d631c791 MSPF-91: crash if checkout_object returned 'object_not_found' (#42) 2016-10-21 12:27:12 +03:00
Andrew Mayorov
235513c472 HG-64: Implement validation and naïve routing (#39)
* HG-62: Implement cashflows, w/o any reasonable safeguards for now

* HG-64: Drop unused piece of code

* HG-64: Export a domain revision type

* HG-64: Validate invoice params upon creation

* HG-64: Create default shop from prototype

* HG-64: Fix badmatch

* HG-64: Implement validation and naive routing

* HG-64: Bump to rbkmoney/damsel@29d6caf

* HG-64: Fix linting issues

* HG-64: Activate shop created from prototype

* HG-64: Refactor everything to use the newest woody_erlang

* HG-64: Add TODO concerning importance of autogenerated reflection
2016-10-20 13:51:35 +03:00
Evgeny Levenets
f0e40b369d HG-71: Added tests for invoices and payments (#32) 2016-10-17 21:43:53 +03:00
Igor Savchuk
f88657ef80 add dmt_client (#21)
* add dmt_client

remove traitorous tab

fix traitorous spec

fixes

rebase fixes

add tiny little fixes

eta wtuka ni k chemu

fix tabs and spaces

* drop some ugly stuff

* use fresh dominant image

* update build_utils
2016-10-16 20:55:55 +02:00
Andrew Mayorov
b8b9ab8407 HG-64: Fix dependency tree (#36) 2016-10-14 21:06:37 +03:00
Andrew Mayorov
0e7f75bd9f HG-61: Implement renewed invoicing service protocol (#35)
* HG-64: Implement renewed invoicing protocol

 * Bump damsel to rbkmoney/damsel@5e264e0

* HG-64: Relax the linter and fix a spec error

* Hg-64: Fix incorrect specs

* HG-64: Bump machinegun w/ bugfix
2016-10-14 20:27:22 +03:00
Artem Ocheredko
e529a15e74 HG-67 Fix get account state operation which never worked (#34) 2016-10-14 16:45:23 +03:00
Igor Savchuk
dd87663300 use damsel_erlang (#33)
* use damsel_erlang

* update dmsl
2016-10-13 22:57:59 +02:00
Artem Ocheredko
d4c8e330cc HG-67 Fix function clause in case of more than one shop created by the same party (#31) 2016-10-13 12:00:23 +03:00
Andrew Mayorov
b80056cd70 HG-51: Fix forgotten payment event in a merge (#30) 2016-10-13 11:59:09 +03:00
Artem Ocheredko
5e900f7e92 HG-67 Add account management (#23)
* HG-67 Add account management. Add default shop services for shop creation. Add party management todo
2016-10-12 15:44:21 +03:00
Andrew Mayorov
9577b4ca5c MSPF-91: Add forgotten application dependency (#27) 2016-10-11 15:44:57 +03:00
Andrew Mayorov
6d46d566d0 HG-51: Payments over new protocol (#24)
* HG-51: Implement new proxy protocol, shitcode at its best

* HG-51: Refactor a bit

* HG-51: Switch to a renewed mg protocol

* HG-51: Bump to damsel upstream w/ payer contact info

* HG-51: Mention pointlessly complex payment ids in TODO list

* HG-51: Hardcode eventsink id instead

* HG-51: Update lockfile

* HG-51: Fail furiosly when callback handling ends up w/ unexpected error

* HG-51: Store less state in the session start event

* HG-51: Fail furiously on protocol errors, e.g. proxy contract violations

* HG-51: Add more TODO
2016-10-10 19:05:28 +03:00
Andrew Mayorov
f4488f9a9e MSPF-91: Stream logs into a single json-formatted file (#26) 2016-10-10 14:41:18 +03:00
Evgeny Levenets
8841ceb182 HG-70: Added IPv6 support (#25)
Added IPv6 support and set IPv6 "::" as default listen address
2016-10-07 14:32:51 +03:00
Evgeny Levenets
4074dd6364 HG-68: Claims that don't need approval now create with accepted status (#22)
* Claims that don't need approval now create with accepted status

* Removed unnecessary checks
2016-10-03 18:54:43 +03:00
Andrew Mayorov
ee85cc90d4 HG-49: Provide basic party management implementation (#20)
* HG-49: Provide basic party management implementation

* Bit simplified machine interfaces
* Tests split into three different modules
* Verify history consistency in each test suite

* HG-49: Switch temporarily to damsel fork

* HG-49: Ensure to throw in case of empty machine history too

* HG-49: Implement claim revocation + tests

* HG-49: Switch temporarily to damsel fork

* HG-49: Include and fix claim related tests in the suite

* HG-49: Implement claim acceptance / denial, no access control yet

* HG-49: Switch temporarily to damsel fork

* HG-47: Fix naming of claim status tags in line w/ proto

* HG-49: Implement pending claim retrieval

* HG-49: Implement shop management w/o proper acceptance flow for now

* HG-49: Introduce preliminary pending claims management

* HG-49: Split monolithic client into pieces service-wise

* HG-49: Fix copypasta artifact in a header guard

* HG-49: Make any new shop suspended initially

* HG-49: Use sequences instead of unique ids for shops / claims

* HG-49: Reference specific coredocs documents in the implementation

* HG-49: Employ generic unwrap, which raises error when fed w/ error tuple

* HG-49: Season complex code fragments w/ comments

* HG-49: Provide meaningful revocation reason

* HG-49: Simplify exception handling a bit in hg_party

* HG-49: Please the Linter

* HG-49: Provide moar tests
2016-09-22 15:25:41 +03:00
Andrew Mayorov
423b6c7630 MG-16: Reimplement state processing in line with proto changes (#19)
* MG-16: Reimplement state processing in line w/ proto changes + remove some quirks

* MG-16: Update machinegun endpoints

* MG-16: Bump to the newest woody

* MG-16: Switch to a fresh machinegun container in test env
2016-08-25 15:41:23 +00:00
Andrew Mayorov
a6df19da52 HG-48: Fix invoice events marshalling (#18) 2016-08-16 08:12:54 +00:00
Andrew Mayorov
d5662dd9dc HG-48: Switch to the new stateproc protocol (#14)
* HG-48: Linting should not require compilation

* HG-48: Switch to the new stateproc protocol + introduce dynamic dispatch

* HG-47: Update TODOs

* HG-48: Fix process_signal contract

* HG-48: Update Payer construction in tests

* HG-48: Fix context handling

* HG-48: Bump damsel dep and update invoice machine accordingly

* HG-48: Bump mg_prototype service dep

* HG-48: Consolidate service specs in one place
2016-08-11 15:52:58 +00:00
Andrew Mayorov
b12a8b2c66 Implement event sink and event filtering (#11)
* HG-40: Implement EventSink + remap invoice events

* HG-40: Simplify machine code a bit

* HG-40: Fix eventsink handlers wrt to woody specs

* HG-40: Introduce eventsink tests + fix a couple of bugs alongside

* HG-40: Bump thrift runtime dep

* HG-45: Implement internal events and event filtering

* HG-45: Start checking sequnces in tests

* HG-45: Bump woody dep version

* HG-45: Remove unused module

* HG-45: Move sequencing out of hg_machine, fix it and test it

* HG-45: Switch to proper damsel fork

* HG-45: Shut the elvis up since I've no idea how to not repeat yourself in test suites

* HG-40: Update CI env definition + provide reasonable defaults for tcp endpoint

* HG-40: Revert UserInfo removal
2016-08-02 17:06:39 +00:00
Anton Belyaev
3dd9ee6340 MSPF-46: introduce scripts for Jekins CI 2.0 and new dev WoWs 2016-07-12 19:37:38 +03:00
Artem Ocheredko
fc5544b657 HG-24 Add more correct context handling to hg invoicing (#5)
* HG-24 Add more correct context handling to hg invoicing
2016-07-06 17:10:16 +03:00
Andrew Mayorov
39f59027a6 HG-4: Adapt implementation to work w/ event lists (#3)
* HG-4: Adapt implementation to work w/ event lists

* HG-4: Switch to damsel upstream

* HG-4: Explicitly match on declared events
2016-06-23 15:29:28 +03:00
Andrew Mayorov
ceb2013c89 HG-3: Add stubbed invoice machine and all the wiring (#2)
* HG-3: Add stubbed invoice machine and all the wiring

* HG-3: Bump damsel to a proper revision

* HG-3: Get rid of precompile hook to make submodules work

* HG-3: Add missing elvis config

* HG-3: Switch to proto fork temporarily

* HG-3: Merge dispatcher activities w/ machine behaviour

* HG-4: Switch to new proto fork temporarily

* HG-3: Avoid `submodule init` on every make invocation

* HG-3: Allow to pass datetime in both native and iso8601 format

* HG-4: Switch to new proto fork temporarily

* HG-4: Adapt to new protocol + internal & external events

* HG-3: Switch to proto fork already

* HG-21: Add containerization maketargets

* HG-4: Fix interfaces and add missing activities

* HG-4: Switch to new proto fork temporarily

* HG-6: Fix ruble currency code

* HG-4: Fix interface issues

* HG-4: Add default config

* HG-4: Switch to new proto fork temporarily

* HG-4: Start filling provider proxy interaction in

* Publish TODOs

* HG-4: Stub a provider proxy w/ settings from app env

* HG-4: Fix copypasta

* HG-4: Add dummy provider proxy, to be moved into testsuite

* HG-4: Switch to new proto fork temporarily

* HG-21: Remove nonfunctional target dependencies

* HG-4: Rename hg_action to make its objective clearer

* HG-4: Simplify interface address manipulation

* HG-4: Compile proxy related thrift files

* HG-4: Switch to new proto fork temporarily

* HG-4: Update TODOs

* HG-4: Isolate service specs and put them to the proto lib

* HG-4: Move dummy provider into the test dir

* HG-4: Fix getting events with respect to proto update

* damsel@24a247b

* HG-4: Introduce hg client + add preliminary test suite

* HG-4: Merge woody handler with invoice module

* HG-4: Fuse processor handler with machine

* HG-4: Harden the build + fix typing errors alongside

* HG-4: Add happy payment testcase + stateful client

* HG-4: Update gitignore rules with respect to wercker beta

* HG-4: Stash a couple of items into TODO

* HG-4: Make trivial behaviour for test provider(s)

* HG-4: Update elvis rules + lint tests' code

* HG-4: Make UserInfo a part of the client + simplify test code with macros

* HG-4: Cleanup dirty proxy state after testcases

* HG-4: Rename test_provider to a wider test_proxy

* HG-4: Explicitly mention requirement on manually started mgun
2016-06-15 19:10:22 +03:00
Andrey Mayorov
2a4016dc3b Rename project 2016-04-07 14:37:34 +03:00
Petr Kozorezov
b70e89e9c4 add project sceleton 2016-03-02 18:50:50 +03:00