@@ -373,40 +373,52 @@ void PaymentServer::handleURIOrFile(const QString& s)
373
373
#else
374
374
QUrlQuery uri ((QUrl (s)));
375
375
#endif
376
- if (uri.hasQueryItem (" r" ))
376
+ if (uri.hasQueryItem (" r" )) // payment request URI
377
377
{
378
378
QByteArray temp;
379
379
temp.append (uri.queryItemValue (" r" ));
380
380
QString decoded = QUrl::fromPercentEncoding (temp);
381
381
QUrl fetchUrl (decoded, QUrl::StrictMode);
382
382
383
- qDebug () << " PaymentServer::handleURIOrFile : fetchRequest(" << fetchUrl << " )" ;
384
-
385
383
if (fetchUrl.isValid ())
384
+ {
385
+ qDebug () << " PaymentServer::handleURIOrFile : fetchRequest(" << fetchUrl << " )" ;
386
386
fetchRequest (fetchUrl);
387
+ }
387
388
else
389
+ {
388
390
qDebug () << " PaymentServer::handleURIOrFile : Invalid URL: " << fetchUrl;
391
+ emit message (tr (" URI handling" ),
392
+ tr (" Payment request fetch URL is invalid: %1" ).arg (fetchUrl.toString ()),
393
+ CClientUIInterface::ICON_WARNING);
394
+ }
389
395
390
396
return ;
391
397
}
398
+ else // normal URI
399
+ {
400
+ SendCoinsRecipient recipient;
401
+ if (GUIUtil::parseBitcoinURI (s, &recipient))
402
+ emit receivedPaymentRequest (recipient);
403
+ else
404
+ emit message (tr (" URI handling" ),
405
+ tr (" URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters." ),
406
+ CClientUIInterface::ICON_WARNING);
392
407
393
- SendCoinsRecipient recipient;
394
- if (GUIUtil::parseBitcoinURI (s, &recipient))
395
- emit receivedPaymentRequest (recipient);
396
- else
397
- emit message (tr (" URI handling" ),
398
- tr (" URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters." ),
399
- CClientUIInterface::ICON_WARNING);
400
-
401
- return ;
408
+ return ;
409
+ }
402
410
}
403
411
404
- if (QFile::exists (s))
412
+ if (QFile::exists (s)) // payment request file
405
413
{
406
414
PaymentRequestPlus request;
407
415
SendCoinsRecipient recipient;
408
416
if (readPaymentRequest (s, request) && processPaymentRequest (request, recipient))
409
417
emit receivedPaymentRequest (recipient);
418
+ else
419
+ emit message (tr (" Payment request file handling" ),
420
+ tr (" Payment request file can not be read or processed! This can be caused by an invalid payment request file." ),
421
+ CClientUIInterface::ICON_WARNING);
410
422
411
423
return ;
412
424
}
@@ -584,7 +596,7 @@ void PaymentServer::netRequestFinished(QNetworkReply* reply)
584
596
.arg (reply->errorString ());
585
597
586
598
qDebug () << " PaymentServer::netRequestFinished : " << msg;
587
- emit message (tr (" Network request error" ), msg, CClientUIInterface::MSG_ERROR);
599
+ emit message (tr (" Payment request error" ), msg, CClientUIInterface::MSG_ERROR);
588
600
return ;
589
601
}
590
602
@@ -596,9 +608,16 @@ void PaymentServer::netRequestFinished(QNetworkReply* reply)
596
608
PaymentRequestPlus request;
597
609
SendCoinsRecipient recipient;
598
610
if (request.parse (data) && processPaymentRequest (request, recipient))
611
+ {
599
612
emit receivedPaymentRequest (recipient);
613
+ }
600
614
else
615
+ {
601
616
qDebug () << " PaymentServer::netRequestFinished : Error processing payment request" ;
617
+ emit message (tr (" Payment request error" ),
618
+ tr (" Payment request can not be parsed or processed!" ),
619
+ CClientUIInterface::MSG_ERROR);
620
+ }
602
621
603
622
return ;
604
623
}
@@ -611,9 +630,10 @@ void PaymentServer::netRequestFinished(QNetworkReply* reply)
611
630
.arg (reply->request ().url ().toString ());
612
631
613
632
qDebug () << " PaymentServer::netRequestFinished : " << msg;
614
- emit message (tr (" Network request error" ), msg, CClientUIInterface::MSG_ERROR);
633
+ emit message (tr (" Payment request error" ), msg, CClientUIInterface::MSG_ERROR);
615
634
}
616
- else {
635
+ else
636
+ {
617
637
emit receivedPaymentACK (GUIUtil::HtmlEscape (paymentACK.memo ()));
618
638
}
619
639
}
0 commit comments