maidstone-hackspace/website/libs/payment_provider.py

69 lines
1.9 KiB
Python

import settings
import braintree
import gocardless
import paypalrestsdk as paypal
PROVIDER_ID = {'gocardless':1, 'paypal': 2, 'braintree': 3}
PROVIDER_NAME = {1: 'gocardless', 2: 'paypal', 3: 'braintree'}
class payment:
def __call__(self, **args):
raise NotImplemented
def __init__(self, provider='gocardless', style='payment', mode='sandbox'):
raise NotImplemented
def lookup_provider_by_id(self, provider_id):
return PROVIDER_NAME.get(provider_id, None)
def make_donation(self, amount, reference, redirect_success, redirect_failure):
raise NotImplemented
def fetch_subscriptions(self):
raise NotImplemented
def subscribe_confirm(self, args):
raise NotImplemented
def unsubscribe(self, reference):
raise NotImplemented
def subscribe(self, amount, name, redirect_success, redirect_failure, interval_unit='month', interval_length='1'):
raise NotImplemented
def confirm(self, args):
raise NotImplemented
# conf = {
# 'environment': braintree.Environment.Sandbox,
# 'merchant_id': 'b3sdmyczd3fz6b3p',
# 'public_key': 'rxb7yffm3tk758rqi',
# 'private_key': '62f92d2b00a451c40fdf5fbca54f0421'
# }
print(braintree.Configuration.configure(braintree.Environment.Sandbox, merchant_id='b3sdmyczd3fz6b3p', public_key='rxb7yffm3tk758rq', private_key='62f92d2b00a451c40fdf5fbca54f0421'))
#braintree.Configuration.configure(**conf)
print(braintree.Subscription.search(braintree.SubscriptionSearch.status == braintree.Subscription.Status.Active))
token = braintree.ClientToken.generate()
print(token)
result = braintree.Transaction.sale({
"amount": "10.00",
"payment_method_nonce": token,
"options": {
"submit_for_settlement": True
}
})
result = braintree.Subscription.create({
"payment_method_token": token,
"plan_id": "membership",
"price": "20.00"
})
print(result)