adding transactions download
This commit is contained in:
@@ -15,6 +15,7 @@ from rowers.tasks import (
|
||||
handle_send_email_failed_cancel,
|
||||
)
|
||||
|
||||
import pandas as pd
|
||||
|
||||
from rowsandall_app.settings import (
|
||||
BRAINTREE_MERCHANT_ID,BRAINTREE_PUBLIC_KEY,BRAINTREE_PRIVATE_KEY
|
||||
@@ -314,5 +315,76 @@ def find_subscriptions(rower):
|
||||
result.append(thedict)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def get_transactions(start_date,end_date):
|
||||
results = gateway.transaction.search(
|
||||
braintree.TransactionSearch.created_at.between(
|
||||
start_date,
|
||||
end_date,
|
||||
)
|
||||
)
|
||||
|
||||
amounts = []
|
||||
countries = []
|
||||
card_countries = []
|
||||
names = []
|
||||
emails = []
|
||||
dates = []
|
||||
currencies = []
|
||||
statuses = []
|
||||
ids = []
|
||||
usernames = []
|
||||
|
||||
for transaction in results:
|
||||
try:
|
||||
r = Rower.objects.filter(
|
||||
customer_id=transaction.customer['id'],
|
||||
paymentprocessor='braintree')[0]
|
||||
countries.append(r.country)
|
||||
names.append('{f} {l}'.format(
|
||||
f = r.user.first_name,
|
||||
l = r.user.last_name,
|
||||
)
|
||||
)
|
||||
emails.append(r.user.email)
|
||||
ids.append(r.id)
|
||||
usernames.append(r.user.username)
|
||||
|
||||
except KeyError:
|
||||
countries.append(
|
||||
transaction.credit_card_details.country_of_issuance)
|
||||
names.append('{f} {l}'.format(
|
||||
f = transaction.customer['first_name'],
|
||||
l = transaction.customer['last_name']
|
||||
)
|
||||
)
|
||||
emails.append(transaction.customer.email)
|
||||
ids.append(transaction.customer['id'])
|
||||
usernames.append('unknown')
|
||||
|
||||
|
||||
amounts.append(transaction.amount)
|
||||
dates.append(transaction.created_at)
|
||||
currencies.append(transaction.currency_iso_code)
|
||||
card_countries.append(
|
||||
transaction.credit_card_details.country_of_issuance)
|
||||
statuses.append(transaction.status)
|
||||
|
||||
|
||||
df = pd.DataFrame({
|
||||
'name':names,
|
||||
'email':emails,
|
||||
'date':dates,
|
||||
'amount':amounts,
|
||||
'currency':currencies,
|
||||
'country':countries,
|
||||
'card_country':card_countries,
|
||||
'status':statuses,
|
||||
'username':usernames,
|
||||
'user_id':ids,
|
||||
}
|
||||
)
|
||||
|
||||
return df
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user