forked from freelancer/freelancer-sdk-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreate_milestone_payment.py
37 lines (30 loc) · 1.16 KB
/
create_milestone_payment.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from freelancersdk.resources.projects import create_milestone_payment
from freelancersdk.resources.projects.types import MilestoneReason
from freelancersdk.session import Session
from freelancersdk.exceptions import MilestoneNotCreatedException
import os
# https://www.freelancer.com/api/docs/cases/creating_a_milestone
def sample_create_milestone_payment():
url = os.environ.get('FLN_URL')
oauth_token = os.environ.get('FLN_OAUTH_TOKEN')
project_id = os.environ.get('PROJECT_ID')
bidder_id = os.environ.get('BIDDER_ID')
session = Session(oauth_token=oauth_token, url=url)
milestone_data = {
'project_id': int(project_id),
'bidder_id': int(bidder_id),
'amount': 10,
'reason': MilestoneReason.PARTIAL_PAYMENT.value,
'description': 'This is a milestone',
}
try:
m = create_milestone_payment(session, **milestone_data)
except MilestoneNotCreatedException as e:
print(('Error message: %s' % e.message))
print(('Server response: %s' % e.error_code))
return None
else:
return m
m = sample_create_milestone_payment()
if m:
print(("Milestone created: %s" % m))