def GetTransactionData(self,dataPost, amount): transactionModel = Transaction() transactionModel.stripe_token = dataPost['stripeToken'] transactionModel.date = datetime.datetime.now() transactionModel.amount = amount transactionModel.address = dataPost['address'] transactionModel.city = dataPost['city'] transactionModel.zip = dataPost['zip'] return transactionModel
def post(self): company = Company.query.get(request.form['company_id']) if company is None: return jsonify(message='Company does not exists') transaction = Transaction() transaction.company_id = company.id transaction.type = request.form['type'] transaction.amount = request.form['amount'] transaction.date = request.form['date'] db.session.add(transaction) db.session.commit() return jsonify(transaction.serialize)
def dummy_transaction(request): transaction = Transaction() transaction.user_id = 0 transaction.bank_id = 0 transaction.category_id = 0 transaction.description = 'test' transaction.amount = 1337.37 transaction.date = datetime.now() def teardown(): pass # db_session.delete(transaction) # transaction not even added to db at first request.addfinalizer(teardown) return transaction
def post(self): action = self.request.get('action', 'list') if action == 'list': self.sendTransactionList() elif action == 'update': # add a new or update a transaction tkey = self.request.get('transaction', 'None') if tkey == 'None': transaction = Transaction() transaction.project = self.project else: transaction = Transaction.get(tkey) if transaction.project.key() != self.project.key(): raise Exception("Project/Transaction mismatch") # update / set fields transaction.date = datetime.strptime(self.request.get('date', transaction.date.isoformat()), "%Y-%m-%d") transaction.source = Account.get(self.request.get('source', transaction.source and transaction.source.key())) transaction.dest = Account.get(self.request.get('dest', transaction.dest and transaction.dest.key())) transaction.ammount = float(self.request.get('ammount', str(transaction.ammount)).replace(',', '.')) transaction.check = self.request.get('check', 'False') == 'True' transaction.text = self.request.get('text', transaction.text) transaction.user = self.user # a None currency means we use the base currency! c = self.request.get('currency', transaction.currency and transaction.currency.key()) transaction.currency = Currency.get(c) if c != "None" else None # exchange source and dest, if the amount is negative if transaction.ammount < 0: tmp_src = transaction.source transaction.source = transaction.dest transaction.dest = tmp_src transaction.ammount = -transaction.ammount # put back into data store transaction.put() # retransmit all transactions self.sendTransactionList() elif action == 'delete': # add a new or update a transaction transaction = Transaction.get(self.request.get('transaction', 'None')) if transaction.project.key() != self.project.key(): raise Exception("Project/Transaction mismatch") transaction.delete() # retransmit all transactions self.sendTransactionList() else: raise Exception("Unknown action '%(action)s'!" % {'action':action})
def post(self, mode =""): # Nothing to do here, content script will pick up accesstoken from here if mode == "ipn": logging.info(self.request.body) result = urlfetch.fetch( ipn_sandbox_url, payload = "cmd=_notify-validate&" + self.request.body, method=urlfetch.POST, validate_certificate=True ) logging.info(result.content) if result.status_code == 200 and result.content == 'VERIFIED': # OK ipn_values = cgi.parse_qs(self.request.body) debug_msg = '\n'.join(["%s=%s" % (k,'&'.join(v)) for (k,v) in ipn_values.items()]) #logging.info("from tung with love") item_number = cgi.escape(self.request.get('item_number')) # get stuff transaction_id = str(cgi.escape(self.request.get('txn_id'))) payer_email = str(cgi.escape(self.request.get('payer_email'))) receiver_email = str(cgi.escape(self.request.get('receiver_email'))) item_amount = str(cgi.escape(self.request.get('payment_gross'))) sales_tax = str(cgi.escape(self.request.get('tax'))) shipping = str(cgi.escape(self.request.get('shipping'))) handling = str(cgi.escape(self.request.get('mc_fee'))) quantity = str(cgi.escape(self.request.get('quantity'))) item_name = str(cgi.escape(self.request.get('item_name'))) date = str(cgi.escape(self.request.get('payment_date'))) status = str(cgi.escape(self.request.get('payment_status'))) payment_type = str(cgi.escape(self.request.get('payment_type'))) ### Change Request to done post = RequestPost.query(RequestPost.reference == item_number).get() #that post if post: post.payment_is_done = True ## Notify tutee notifymsg = NotifiedMessage() notifymsg.read = False notifymsg.person_reference = post.requester notifymsg.object_reference = item_number notifymsg.content = " paid " + item_amount + ", click to give feedback" notifymsg.price = item_amount notifymsg.initiator = post.requester notifymsg.put() # ## Notify tutor notifymsg2 = NotifiedMessage() notifymsg2.read = False notifymsg2.person_reference = post.final_provider notifymsg2.object_reference = item_number notifymsg2.content = " paid " + item_amount + ", click to give feedback " notifymsg2.price = item_amount notifymsg2.initiator = post.requester notifymsg2.put() ### Create Transaction Object newtransaction = Transaction() newtransaction.transaction_id = transaction_id newtransaction.payer_email = payer_email newtransaction.receiver_email = receiver_email newtransaction.item_amount = item_amount newtransaction.sales_tax = sales_tax newtransaction.shipping = shipping newtransaction.handling = handling newtransaction.quantity = quantity newtransaction.item_name = item_name newtransaction.item_number = item_number newtransaction.date = date newtransaction.status = status newtransaction.payment_type = payment_type newtransaction.tutee_username = post.requester newtransaction.tutor_username = post.final_provider newtransaction.testPeoplewhocanseethis.append(post.requester) newtransaction.testPeoplewhocanseethis.append(post.final_provider) newtransaction.put() post.put() self.response.out.write(debug_msg) else: logging.error('Could not fetch %s (%i)' % (url, result.status_code,)) else: logging.error("Unknown mode for POST request!")