예제 #1
0
def catalogues():
    try:
        # Log call and get params:
        logger = logging.getLogger('app')
        logger.debug('\n/catalogues')
        logger.debug(request.args)
        token = request.args.get('token')
        is_test = request.args.get('is_test')
        if is_test == 'true':
            is_test = True
        else:
            is_test = False
        logger.debug('Token: ' + token)
        logger.debug('Test: ' + str(is_test))
        logger.debug('Executing ... ')
        # Paybook logic:
        session = paybook_sdk.Session(token=token)
        sites = paybook_sdk.Catalogues.get_sites(session=session,
                                                 is_test=is_test)
        catalogs_response = []
        for site in sites:
            catalogs_response.append(site.get_json())
        logger.debug('Catalogues: ' + str(len(catalogs_response)))
        logger.debug('Sending response ... ')
        catalogs_response = _Utilities.Success(
            catalogs_response).get_response()
    except paybook_sdk.Error as error:
        catalogs_response = _Utilities.Error(error.message,
                                             error.code).get_response()
    return catalogs_response
예제 #2
0
def accounts():
    try:
        logger = logging.getLogger('app')
        logger.debug('\n/accounts')
        token = request.args.get('token')
        id_site = request.args.get('id_site')
        logger.debug(token)
        logger.debug(id_site)
        if id_site == 'null':
            id_site = None
        options = {}
        if id_site is not None:
            logger.debug('Filtering by id_site ' + id_site + ' ... ')
            options['id_site'] = id_site
        logger.debug('Executing ... ')
        session = paybook_sdk.Session(token=token)
        accounts = paybook_sdk.Account.get(session=session, options=options)
        accounts_response = []
        for account in accounts:
            accounts_response.append(account.get_json())
        logger.info('Accounts: ' + str(len(accounts_response)))
        logger.debug('Sending response ... ')
        accounts_response = _Utilities.Success(
            accounts_response).get_response()
    except paybook_sdk.Error as error:
        accounts_response = _Utilities.Error(error.message,
                                             error.code).get_response()
    return accounts_response
예제 #3
0
def twofa():
    try:
        logger = logging.getLogger('app')
        logger.debug('\n/twofa')
        params = json.loads(request.data)
        logger.debug(params)
        token = params['token']
        id_credential = params['id_credential']
        credentials_twofa = params['twofa']
        twofa_key = params['twofa_key']
        twofa_value = params['twofa_value']
        logger.debug('Executing ... ')
        session = paybook_sdk.Session(token=token)
        credentials = None
        credentials_list = paybook_sdk.Credentials.get(session=session)
        for c in credentials_list:
            if c.id_credential == id_credential:
                credentials = c
        credentials.twofa = credentials_twofa
        credentials.twofa_config = {'name': twofa_key}  #End of twofa_config
        twofa_set = credentials.set_twofa(session=session,
                                          twofa_value=twofa_value)
        logger.debug('Towfa value set: ' + str(twofa_set))
        logger.debug('Sending response ... ')
        twofa_response = _Utilities.Success(twofa_set).get_response()
    except paybook_sdk.Error as error:
        twofa_response = _Utilities.Error(error.message,
                                          error.code).get_response()
    return twofa_response
예제 #4
0
def credentials():
    try:
        # Log call and get params:
        logger = logging.getLogger('app')
        logger.debug('\n/credentials')
        params = json.loads(request.data)
        logger.debug(params)
        token = params['token']
        id_site = params['id_site'] if 'id_site' in params else None
        credentials = params['credentials']
        logger.debug('Executing ... ')
        # Paybook logic:
        session = paybook_sdk.Session(token=token)
        logger.debug('Creating credentials ... ')
        logger.debug(credentials)
        credentials = paybook_sdk.Credentials(session=session,
                                              id_site=id_site,
                                              credentials=credentials)
        logger.debug('Id credential: ' + credentials.id_credential)
        logger.debug('Twofa: ' + credentials.twofa)
        logger.debug(
            "curl -X POST -d '{\"twofa_key\":\"token\",\"token\":\"4f3e7fe982f18898f970e4805b4774a3\",\"twofa\":\""
            + credentials.twofa +
            "\",\"twofa_value\":\"test\",\"id_credential\":\"" +
            credentials.id_credential +
            "\"}' http://localhost:5000/twofa --header \"Content-Type:application/json\""
        )
        logger.debug('Sending response ... ')
        credentials_response = _Utilities.Success(
            credentials.get_json()).get_response()
    except paybook_sdk.Error as error:
        credentials_response = _Utilities.Error(error.message,
                                                error.code).get_response()
    return credentials_response
예제 #5
0
def transactions():
    try:
        logger = logging.getLogger('app')
        logger.debug('\n/transactions')
        token = request.args.get('token')
        id_account = request.args.get('id_account')
        logger.debug(token)
        logger.debug(id_account)
        id_site = request.args.get('id_site')
        id_account = request.args.get('id_account')
        if id_site == 'null':
            id_site = None
        if id_account == 'null':
            id_account = None
        logger.debug('Executing ... ')
        session = paybook_sdk.Session(token=token)
        transactions = paybook_sdk.Transaction.get(session=session)
        transactions_response = []
        for transaction in transactions:
            transactions_response.append(transaction.get_json())
        logger.debug('Transactions: ' + str(len(transactions_response)))
        logger.debug('Sending response ... ')
        transactions_response = _Utilities.Success({
            'transactions':
            transactions_response
        }).get_response()
    except paybook_sdk.Error as error:
        transactions_response = _Utilities.Error(error.message,
                                                 error.code).get_response()
    return transactions_response
예제 #6
0
def login():
    try:
        # Log call and get params:
        logger = logging.getLogger('app')
        logger.debug('\n/login')
        params = json.loads(request.data)
        logger.debug(params)
        username = params['username']
        password = params['password']
        logger.debug('Executing ... ')
        # Data base and paybook logic:
        db_user = _DB.User(username, password)
        logger.debug('DB authentication ... ')
        if db_user.login():
            id_user = db_user.get_id_user()
            logger.debug('Id user: '******'Invalid username or password',
                                              400).get_response()
    except paybook_sdk.Error as error:
        login_response = error.get_json()
    return login_response
예제 #7
0
def signup():
    try:
        # Log call and get params:
        logger = logging.getLogger('app')
        logger.debug('\n/signup')
        params = json.loads(request.data)
        logger.debug(params)
        username = params['username']
        password = params['password']
        logger.debug('Executing ... ')
        # Data base and paybook logic:
        signup_response = {
            'sdk_message': 'User already exists'
        }  #End of signup_response
        db_user = _DB.User(
            username,
            password)  # This is the app user (stored in app's data base)
        user_exist = db_user.do_i_exist()
        logger.debug('User exist: ' + str(user_exist))
        if not user_exist:
            logger.debug('Singning up user ... ')
            pb_user = paybook_sdk.User(
                name=username
            )  # This is the paybook user (stored in paybook's data base)
            signup_response = pb_user.get_json()
            db_user.set_id_user(signup_response['id_user'])
            db_user.save()
            signup_response['sdk_message'] = 'User signed up'
        logger.debug('Sending response ... ')
        signup_response = _Utilities.Success(signup_response).get_response()
    except paybook_sdk.Error as error:
        signup_response = error.get_json()
    return signup_response
예제 #8
0
def transactions():
    try:
        logger = logging.getLogger('app')
        logger.debug('\n/transactions')
        token = request.args.get('token')
        id_account = request.args.get('id_account')
        logger.debug(token)
        logger.debug(id_account)
        id_site = request.args.get('id_site')
        id_account = request.args.get('id_account')
        skip = request.args.get('skip')
        limit = request.args.get('limit')
        if id_site == 'null':
            id_site = None
        if id_account == 'null':
            id_account = None
        if skip == 'null':
            skip = None
        if limit == 'null':
            limit = None
        logger.debug('Executing ... ')
        session = paybook_sdk.Session(token=token)
        options = {}
        if id_site is not None:
            logger.debug('Filtering by id_site ' + id_site + ' ... ')
            options['id_site'] = id_site
        if id_account is not None:
            logger.debug('Filtering by id_account ' + id_account + ' ... ')
            options['id_account'] = id_account
        if skip is not None:
            logger.debug('Skiping ' + skip + ' ... ')
            options['skip'] = skip
        if limit is not None:
            logger.debug('Adding limit ' + limit + ' ... ')
            options['limit'] = limit
        transactions = paybook_sdk.Transaction.get(session=session,
                                                   options=options)
        transactions_response = []
        for transaction in transactions:
            transactions_response.append(transaction.get_json())
        logger.debug('Transactions: ' + str(len(transactions_response)))
        logger.debug('Sending response ... ')
        transactions_response = _Utilities.Success({
            'transactions':
            transactions_response
        }).get_response()
    except paybook_sdk.Error as error:
        transactions_response = _Utilities.Error(error.message,
                                                 error.code).get_response()
    return transactions_response
예제 #9
0
def get_credentials():
	try:
		logger = logging.getLogger('app')
		logger.debug('\n/credentials')
		token = request.args.get('token')
		logger.debug(token)
		logger.debug('Executing ... ')
		credentials_response = paybook.get_credentials(token)
		logger.debug('Sending response ... ')
		credentials_response = _Utilities.Success(credentials_response).get_response()
	except _Paybook_Error as e:
		credentials_response = e.get_response()
	except Exception as e:
		credentials_response = _Utilities.internal_server_error(e)
	return credentials_response
예제 #10
0
def sessions():
	try:
		logger = logging.getLogger('app')
		logger.debug('\n/sessions')
		token = request.args.get('token')
		logger.debug(token)
		logger.debug('Executing ... ')
		session_response = paybook.validate_session(token)
		logger.debug('Sending response ... ')
		session_response = _Utilities.Success(session_response).get_response()
	except _Paybook_Error as e:# Just an example of how to catch a Paybook API error using SDK
		session_response = e.get_response()
	except Exception as e:
		session_response = _Utilities.internal_server_error(e)
	return session_response
예제 #11
0
def status():
	try:
		logger = logging.getLogger('app')
		logger.debug('\n/status')
		token = request.args.get('token')
		id_site = request.args.get('id_site')
		logger.debug(token)
		logger.debug(id_site)
		logger.debug('Executing ... ')
		status_response = paybook.status(token,id_site)
		logger.debug('Sending response ... ')
		status_response = _Utilities.Success(status_response).get_response()
	except _Paybook_Error as e:
		status_response = e.get_response()
	except Exception as e:
		status_response = _Utilities.internal_server_error(e)
	return status_response
예제 #12
0
def delete_credentials():
	try:
		logger = logging.getLogger('app')
		logger.debug('\n/credentials')
		params = json.loads(request.data)
		logger.debug(params)
		token = params['token']
		id_credential = params['id_credential']
		logger.debug('Executing ... ')
		delete_response = paybook.delete_credentials(token,id_credential)
		logger.debug('Sending response ... ')
		delete_response = _Utilities.Success(delete_response).get_response()
	except _Paybook_Error as e:
		delete_response = e.get_response()
	except Exception as e:
		delete_response = _Utilities.internal_server_error(e)
	return delete_response
예제 #13
0
def login():
	try:
		logger = logging.getLogger('app')
		logger.debug('\n/login')
		params = json.loads(request.data)
		logger.debug(params)
		username = params['username']
		password = params['password']
		logger.debug('Executing ... ')
		login_response = paybook.login(username,password)
		logger.debug('Sending response ... ')
		login_response = _Utilities.Success(login_response).get_response()
	except _Paybook_Error as e:
		login_response = e.get_response()
	except Exception as e:
		login_response = _Utilities.internal_server_error(e)
	return login_response
예제 #14
0
def signup():
	try:
		logger = logging.getLogger('app')
		logger.debug('\n/signup')
		params = json.loads(request.data)
		logger.debug(params)
		username = params['username']
		password = params['password']
		logger.debug('Executing ... ')
		signup_response = paybook.signup(username,password)
		logger.debug('Sending response ... ')
		signup_response = _Utilities.Success(signup_response).get_response()
	except _Paybook_Error as e:# Just an example of how to catch a Paybook API error using SDK
		signup_response = e.get_response()
	except Exception as e:
		signup_response = _Utilities.internal_server_error(e)
	return signup_response
예제 #15
0
def twofa():
	try:
		logger = logging.getLogger('app')
		logger.debug('\n/twofa')
		params = json.loads(request.data)
		logger.debug(params)
		token = params['token']
		id_site = params['id_site']
		fatwo = params['twofa']
		logger.debug('Executing ... ')
		twofa_response = paybook.twofa(token,id_site,fatwo)
		logger.debug('Sending response ... ')
		twofa_response = _Utilities.Success(twofa_response).get_response()
	except _Paybook_Error as e:
		twofa_response = e.get_response()
	except Exception as e:
		twofa_response = _Utilities.internal_server_error(e)
	return twofa_response
예제 #16
0
def catalogues():
	try:
		logger = logging.getLogger('app')
		token = request.args.get('token')
		is_true = request.args.get('is_true')
		logger.debug(token)
		logger.debug('Executing ... ')
		catalogs_response=None
		if is_true:
			catalogs_response = paybook.catalogues(token,is_true=True)
		else:
			catalogs_response = paybook.catalogues(token)
		logger.debug('Sending response ... ')
		catalogs_response = _Utilities.Success(catalogs_response).get_response()
	except _Paybook_Error as e:
		catalogs_response = e.get_response()
	except Exception as e:
		catalogs_response = _Utilities.internal_server_error(e)
	return catalogs_response
예제 #17
0
def accounts():
	try:
		logger = logging.getLogger('app')
		logger.debug('\n/accounts')
		token = request.args.get('token')
		id_site = request.args.get('id_site')
		logger.debug(token)
		logger.debug(id_site)
		if id_site == 'null':
			id_site = None
		logger.debug('Executing ... ')
		site_accounts = paybook.accounts(token,id_site=id_site)
		logger.debug('Sending response ... ')
		accounts_response = _Utilities.Success(site_accounts).get_response()
	except _Paybook_Error as e:
		accounts_response = e.get_response()
	except Exception as e:
		accounts_response = _Utilities.internal_server_error(e)
	return accounts_response
예제 #18
0
def delete_credentials():
    try:
        logger = logging.getLogger('app')
        logger.debug('\n/credentials')
        params = json.loads(request.data)
        logger.debug(params)
        token = params['token']
        id_credential = params['id_credential']
        logger.debug('Executing ... ')
        session = paybook_sdk.Session(token=token)
        credentials_deleted = paybook_sdk.Credentials.delete(
            session=session, id_credential=id_credential)
        logger.debug('Sending response ... ')
        delete_response = _Utilities.Success(
            credentials_deleted).get_response()
    except paybook_sdk.Error as error:
        delete_response = _Utilities.Error(error.message,
                                           error.code).get_response()
    return delete_response
예제 #19
0
def get_credentials():
    try:
        logger = logging.getLogger('app')
        logger.debug('\n/credentials')
        token = request.args.get('token')
        logger.debug('Token: ' + token)
        logger.debug('Executing ... ')
        session = paybook_sdk.Session(token=token)
        credentials_list = paybook_sdk.Credentials.get(session=session)
        site_organizations = paybook_sdk.Catalogues.get_site_organizations(
            session=session)
        test_site_organizations = paybook_sdk.Catalogues.get_site_organizations(
            session=session, is_test=True)
        site_organizations = site_organizations + test_site_organizations
        data_by_id_site_organization = {}
        for site_organization in site_organizations:
            data_by_id_site_organization[
                site_organization.id_site_organization] = {
                    'avatar': site_organization.avatar,
                    'name': site_organization.name
                }  #End of data_by_id_site_organization[site_organization.id_site_organization]
        credentials_response = []
        for credentials in credentials_list:
            credentials_json = credentials.get_json()
            credentials_json['avatar'] = data_by_id_site_organization[
                credentials_json['id_site_organization']]['avatar']
            credentials_json['name'] = data_by_id_site_organization[
                credentials_json['id_site_organization']]['name']
            credentials_response.append(credentials_json)
        logger.debug('Credentials: ' + str(len(credentials_response)))
        logger.debug('Sending response ... ')
        credentials_response = _Utilities.Success(
            credentials_response).get_response()
    except paybook_sdk.Error as error:
        credentials_response = _Utilities.Error(error.message,
                                                error.code).get_response()
    return credentials_response
예제 #20
0
def transactions():
	try:
		logger = logging.getLogger('app')
		logger.debug('\n/transactions')
		token = request.args.get('token')
		id_account = request.args.get('id_account')
		logger.debug(token)
		logger.debug(id_account)
		id_site = request.args.get('id_site')
		id_account = request.args.get('id_account')
		if id_site == 'null':
			id_site = None
		if id_account == 'null':
			id_account = None
		logger.debug('Executing ... ')
		account_transactions = paybook.transactions(token,id_account=id_account,id_site=id_site)
		logger.debug('Transactions: ' + str(len(account_transactions)))
		logger.debug('Sending response ... ')
		transactions_response = _Utilities.Success({'transactions':account_transactions}).get_response()
	except _Paybook_Error as e:
		transactions_response = e.get_response()
	except Exception as e:
		transactions_response = _Utilities.internal_server_error(e)
	return transactions_response