def create(): amount = request.form.get('amount') image_id = request.form.get('image_id') image_user_id = request.form.get('image_user_id') nonce_from_the_client = request.form.get("nonce") result = gateway.transaction.sale({ "amount": amount, "payment_method_nonce": nonce_from_the_client, "options": { "submit_for_settlement": True } }) # breakpoint if result.is_success: flash("Successfully donated !", "success") donation = Donation(username=current_user.id, image=image_id, amount=amount) donation.save() return redirect(f'images/{image_user_id}/images') else: flash("Error has occured, please try again", "danger") return render_template(url_for('donations.new'))
def create(image_id): nonce = request.form.get('payment_method_nonce') if not nonce: flash('invalid credit card details', 'warning') return redirect(url_for('users.index')) image = Image.get_or_none(Image.id == image_id) if not image: flash('No image found with the provided id', 'waning') return redirect(url_for('users.index')) amount = request.form.get('amount') if not amount: flash('No donation amount provided', 'warning') return redirect(url_for('users.index')) result = gateway.transaction.sale({ "amount": amount, "payment_method_nonce": nonce, # "device_data": device_data_from_the_client, "options": { "submit_for_settlement": True } }) if not result.is_success: flash('Unable to complete transaction', 'warning') return redirect(request.referrer) donation = Donation(amount=amount, image_id=image.id, user_id=current_user.id) if not donation.save(): flash('Donation successful but error creating record', 'warning') return redirect(url_for('users.index')) flash(f'Donation successful. ${amount} donated', 'success') user = User.select().join(Image).where(Image.id == image_id) send_simple_message(user[0].email) return redirect(url_for('users.index'))
def create(image_id): amount = request.form.get('amount') payment_nonce = request.form.get('payment_nonce') result = gateway.transaction.sale({ "amount": amount, "payment_method_nonce": payment_nonce, "options": { "submit_for_settlement": True } }) if not result.is_success: flash(u'dono did not work out.', 'warning') return redirect(request.referrer) dono = Donation(amount=amount, image_id=image_id) if dono.save(): user = User.select().join(Image).where(Image.id == image_id) send_simple_message(user[0].email) flash(f'successfully donated RM{amount}', 'info') return redirect(url_for('users.index'))