def __init__(self, *args, **kwargs): self.environment = kwargs.pop('environment') self.merchant_id = kwargs.pop('merchant_id') self.private_key = kwargs.pop('private_key') self.public_key = kwargs.pop('public_key') self.apple_pay_display_name = kwargs.pop('apple_pay_display_name', '') self.google_pay_merchant_id = kwargs.pop('google_pay_merchant_id', '') self.submit_for_settlement = kwargs.pop('submit_for_settlement', True) self.paypal_flow = kwargs.pop('paypal_flow', '') self.gateway = BraintreeGateway( Configuration( (Environment.Sandbox if self.environment == 'sandbox' else Environment.Production), merchant_id=self.merchant_id, public_key=self.public_key, private_key=self.private_key, )) super(BraintreeDropinProvider, self).__init__(*args, **kwargs)
WSGI_APPLICATION = 'Workshop.wsgi.application' EMAIL_BACKEND = os.environ.get( "EMAIL_BACKEND", default='django.core.mail.backends.console.EmailBackend') EMAIL_HOST = os.environ.get("EMAIL_HOST", default='smtp.gmail.com') EMAIL_PORT = os.environ.get("EMAIL_PORT", default=2137) EMAIL_USE_TLS = os.environ.get("EMAIL_USE_TLS", default=True) EMAIL_HOST_USER = os.environ.get("EMAIL_HOST_USER", default=None) EMAIL_HOST_PASSWORD = os.environ.get("EMAIL_HOST_PASSWORD", default=None) BRAINTREE_MERCHANT_ID = os.environ.get("BRAINTREE_MERCHANT", default='XXX') BRAINTREE_PUBLIC_KEY = os.environ.get("BRAINTREE_PUBLIC_KEY", default='XXX') BRAINTREE_PRIVATE_KEY = os.environ.get("BRAINTREE_PRIVATE_KEY", default='XXX') BRAINTREE_CONF = Configuration(Environment.Sandbox, BRAINTREE_MERCHANT_ID, BRAINTREE_PUBLIC_KEY, BRAINTREE_PRIVATE_KEY) LOGIN_REDIRECT_URL = 'dashboard' LOGIN_URL = 'customer_login' LOGOUT_REDIRECT_URL = 'home' CART_SESSION_ID = 'cart' # Database # https://docs.djangoproject.com/en/3.1/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': os.environ.get("SQL_ENGINE", default="django.db.backends.sqlite3"), 'NAME':
from braintree import BraintreeGateway, Configuration, Environment import os from flask import Flask, render_template, request, redirect gateway = BraintreeGateway( Configuration(Environment.Sandbox, merchant_id=os.getenv("ID"), public_key=os.getenv("KEY"), private_key=os.getenv("SECRET"))) app = Flask(__name__) @app.route("/") def home(): return render_template("index.html", token=gateway.client_token.generate()) @app.route("/pay", methods=["POST"]) def pay(): gateway.transaction.sale({ "amount": "100.00", "payment_method_nonce": request.form['nonce'], "options": { "submit_for_settlement": True } }) return redirect(url_for('home')) if __name__ == "__main__":
import os from braintree import BraintreeGateway, Configuration, Environment from flask import Blueprint, render_template, redirect, request, url_for, flash, Flask from models.image import Image from models.user import User from models.donate import Donate from flask_login import login_required, current_user donations_blueprint = Blueprint('donations', __name__, template_folder='templates') gateway = BraintreeGateway( Configuration(Environment.Sandbox, merchant_id=os.getenv("BT_MERCHANT_ID"), public_key=os.getenv("BT_PUBLIC_KEY"), private_key=os.getenv("BT_PRIVATE_KEY"))) @donations_blueprint.route("/<id>/new") @login_required def new(id): token = gateway.client_token.generate() return render_template("donations/new.html", token=token, image_id=id) @donations_blueprint.route("/<id>/pay", methods=["POST"]) @login_required def pay(id): donation = Donate.create(user_id=current_user.id, image_id=id,
USE_I18N = True USE_L10N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.0/howto/static-files/ STATIC_URL = '/static/' STATIC_ROOT= os.path.join(BASE_DIR, 'static/') MEDIA_URL='/media/' MEDIA_ROOT=os.path.join(BASE_DIR, 'media/') CART_SESSION_ID='cart' CELERY_BROKER_URL= "redis://localhost:6379/0" BRAINTREE_MERCHANT_ID = 'phvg3b2rz4k7jwqy' BRAINTREE_PUBLIC_KEY = 'kf84mmg2cf4x3fk5' BRAINTREE_PRIVATE_KEY = '5efd1f609a3fa90e212632f0838680e8' GATEWAY = BraintreeGateway( Configuration( braintree.Environment.Sandbox, BRAINTREE_MERCHANT_ID, BRAINTREE_PUBLIC_KEY, BRAINTREE_PRIVATE_KEY ))