---
# System prepended metadata

title: Venmo todo list

---

# Venmo todo list

## Payment Engine
1. Withdraw Endpoint  (*Harmon*)
	* Validate payment method
	* validate withdrawal
	* Send withdrawal to WAE/AML

2. QueueTrigger (initiate orchestration) (*US Payment Team*)
    * QueueTriggers.Functions.HandleWithdrawalUpdate 

3. Withdrawal Creation (*Harmon*)
    * Validation of request
    * Creation of Withdrawal DB Record 
4. Orchestration (post funds release) (*US Payment Team*)
	1. Set Processing (update db)
	2. Create paypal/venmo withdrawal (call payout endpoint)
	3. Update db
	4. Wait for webhook
	5. Get latest status from paypal
	6. Update db
	7. handle pass/fail
	
5. Activities (*US Payment Team* / *Harmon*)
	- Create withdrawal transaction with paypal 
	- Update database
	- check withdrawal status
	- Handle success
	- Handle failure 
	
6. GatewayService (*Harmon*)
    * Port from PayPal Service
        - GetAccessToken
        - GetPayoutDetails
        - CreatePayout
	
7. Unit tests

8. Additional
    * Models (*US Payment Team* / *Harmon*)
    * Error handling/mapping (*Harmon*)
    * Settings (*US Payment Team* / *Harmon*)
    * update/enhance payment method endpoint for venmo withdrawal (*Harmon*)
    
## Withdrawal Assessment Engine
1. Add to US Rules file (*US Payment Team*)

## PBAdmin
1. Ensure Venmo_Braintree Withdrawal requests can be administred via PBAdmin (*US Payment Team*)

## Account Engine
1. Display Withdrawal as Withdraw (Venmo) in Player Transaction History. (*US Payment Team*)

## Optimus

1. Settings (*US Payment Team* / *Harmon*)
	* SLA Settings
