import stripe, os
stripe.api_key = os.environ['STRIPE_TOKEN']
checkouts = stripe.checkout.Session.list(limit=400)
git_urls = []
for checkout in checkouts:
    if checkout['payment_status'] == 'paid':
        if 'github' in checkout['metadata']:
            git_urls.append(checkout['metadata']['github'])

git_urls.reverse()
for git_url in git_urls:
    print(git_url)
