Private
Public Access
1
0

adding transactions download

This commit is contained in:
Sander Roosendaal
2018-12-21 09:46:23 +01:00
parent 98900059f8
commit 73d8d555d1
7 changed files with 208 additions and 13 deletions

View File

@@ -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