コード例 #1
0
def create(id):
    image = Images.get_by_id(id)
    payment_amount = request.form.get('amount')
    result = transact({
        'amount':
        request.form['amount'],
        'payment_method_nonce':
        request.form['payment_method_nonce'],
        'options': {
            "submit_for_settlement": True
        }
    })

    if result.is_success or result.transaction:

        new_payment = Payments(image_id=image.id,
                               donor=current_user.id,
                               payment_amount=payment_amount).save()
        return redirect(
            url_for('payments.show_checkout',
                    transaction_id=result.transaction.id,
                    id=image))

    else:
        for x in result.errors.deep_errors:
            flash('Error')
        return redirect(url_for('payments.index', id=id))
コード例 #2
0
def show_checkout(id, transaction_id):
    image = Images.get_by_id(id)
    transaction = find_transaction(transaction_id)
    result = {}
    if transaction.status in TRANSACTION_SUCCESS_STATUSES:
        result = {
            'header':
            'Sweet Success!',
            'icon':
            'success',
            'message':
            'Your test transaction has been successfully processed. See the Braintree API response and try again.'
        }
    email()

    result = {
        'header':
        'Transaction Failed',
        'icon':
        'fail',
        'message':
        'Your test transaction has a status of ' + transaction.status +
        '. See the Braintree API response and try again.'
    }
    email()
    return render_template('payments/show.html',
                           transaction=transaction,
                           result=result,
                           id=id)
コード例 #3
0
def index(id):
    image = Images.get_by_id(id)
    client_token = generate_client_token()
    return render_template('payments/new.html',
                           image=image,
                           client_token=client_token)