set_language(config.get('language'))
self.funds_error = False
- self.payment_request = None
self.completions = QStringListModel()
self.tabs = tabs = QTabWidget(self)
return
def broadcast_thread():
- if self.payment_request:
+ if self.gui_object.payment_request:
+ print "sending ack"
refund_address = self.wallet.addresses()[0]
- self.payment_request.send_ack(str(tx), refund_address)
- self.payment_request = None
+ self.gui_object.payment_request.send_ack(str(tx), refund_address)
+ self.gui_object.payment_request = None
# note: BIP 70 recommends not broadcasting the tx to the network and letting the merchant do that
self.tx_broadcast_result = self.wallet.sendtx(tx)
self.emit(SIGNAL('send_tx3'))
if CA_match:
print 'Signed By Trusted CA: ', CA_OU
+ print "payment url", pay_det.payment_url
return True
def send_ack(self, raw_tx, refund_addr):
pay_det = self.payment_details
- if pay_det.payment_url:
- paymnt = paymentrequest_pb2.Payment()
+ if not pay_det.payment_url:
+ return
- paymnt.merchant_data = pay_det.merchant_data
- paymnt.transactions.append(raw_tx)
+ paymnt = paymentrequest_pb2.Payment()
+ paymnt.merchant_data = pay_det.merchant_data
+ paymnt.transactions.append(raw_tx)
- ref_out = paymnt.refund_to.add()
- ref_out.script = transaction.Transaction.pay_script(refund_addr)
- paymnt.memo = "Paid using Electrum"
- pm = paymnt.SerializeToString()
+ ref_out = paymnt.refund_to.add()
+ ref_out.script = transaction.Transaction.pay_script(refund_addr)
+ paymnt.memo = "Paid using Electrum"
+ pm = paymnt.SerializeToString()
- payurl = urlparse.urlparse(pay_det.payment_url)
- try:
- r = requests.post(payurl.geturl(), data=pm, headers=ACK_HEADERS, verify=ca_path)
- except requests.exceptions.SSLError:
- print "Payment Message/PaymentACK verify Failed"
- try:
- r = requests.post(payurl.geturl(), data=pm, headers=ACK_HEADERS, verify=False)
- except Exception as e:
- print "Payment Message/PaymentACK Failed"
- print e
- return
+ payurl = urlparse.urlparse(pay_det.payment_url)
+ try:
+ r = requests.post(payurl.geturl(), data=pm, headers=ACK_HEADERS, verify=ca_path)
+ except requests.exceptions.SSLError:
+ print "Payment Message/PaymentACK verify Failed"
try:
- paymntack = paymentrequest_pb2.PaymentACK()
- paymntack.ParseFromString(r.content)
- print "PaymentACK message received: %s" % paymntack.memo
- except Exception:
- print "PaymentACK could not be processed. Payment was sent; please manually verify that payment was received."
+ r = requests.post(payurl.geturl(), data=pm, headers=ACK_HEADERS, verify=False)
+ except Exception as e:
+ print "Payment Message/PaymentACK Failed"
+ print e
+ return
+ try:
+ paymntack = paymentrequest_pb2.PaymentACK()
+ paymntack.ParseFromString(r.content)
+ except Exception:
+ print "PaymentACK could not be processed. Payment was sent; please manually verify that payment was received."
+ return
+
+ print "PaymentACK message received: %s" % paymntack.memo
+ return paymntack.memo