Org Web Adapter

pages/mmpy_26_update_is_user_payable_to_not_create_holds.org

ID
03d9b4b2-4daf-44a9-8d25-751183a70d57

MMPY-26 Update is_user_payable to not create holds

- source :: https://multimediallc.atlassian.net/browse/MMPY-26

- epic :: MMPY-198 Compliance Holds, Fraud Holds, and Banned Payees

- tags :: Falcon Nest Project Story Falcon Nest Project

- status :: Status - Complete

Background

If we are trying to standardize on a set of checks for a user ... did you look

at the hold creation in is_user_payable in payout.utils? Should we unify this?

This is making me question the logic of my card a bit ... in my mind, I had the

flow, which is requested on this card: user created -> make holds -> user

completes necessary information -> holds removed

What is currently (prior to this PR) in the codebase is: User created -> request

payout -> we attempt to pay -> make holds -> user completes necessary

information -> holds removed -> payouts approved

The user would want to know if they're tax information is invalid, but that is

only relevant after they have created it, and we could rely on tax status.

Similarly with account status, in the case of stripe where the account starts in

a pending status, we rely on the account status to inform the user.

Looking to the future, when a user is created for CB, we will check if the

user's app is CB (or if the user's app requires new payee holds) and create a

new payee hold on create ... which we wouldn't want to jam into a payout

request, because we can do the work of clearing holds prior to payout requests.

I can't think of anything else that we would create holds for explicitly on user

creation.

All this to say, I have put us in the situation of asking us to build both belts

and suspenders. Probably not harmful to leave both in, but we should be

thoughtful about any diverging logic.

DONE Remove all references to hold creation in is_user_payable

bugholdsmmpy198mmpy26projectworkmultimediallc
ID
402ebac5-10de-4cc5-326d-3c2140adea59

DONE Fix broken tests from the migration

bugholdsmmpy198mmpy26workprojectmulimediallctests
ID
f2a950c3-f707-e9ee-316e-a778ed19438c

DONE Clean up PR issues

bugholdsmmpy198mmpy26workprojectmulimediallctests
ID
5063122b-828f-f3de-7da5-fa378faa5ab4

DONE Get tests passing

bugholdsmmpy198mmpy26workprojectmulimediallctests
ID
a9445fe0-13f5-aa0c-cdc6-c6be182faafa