diff --git a/www/i18n/locale-en-GB.json b/www/i18n/locale-en-GB.json
index 96f152ce40a4b1f61cbc1a2841350f281f570027..51f391c863012477c77a05c708fcaac9a1a41e01 100644
--- a/www/i18n/locale-en-GB.json
+++ b/www/i18n/locale-en-GB.json
@@ -828,9 +828,9 @@
         "PARAM_NAME": "Name (of recipient or website)",
         "PARAM_NAME_HELP": "The name of your website. This can be a readable name (eg \"My online site\"), or a web address (eg \"www.MySite.com\").",
         "PARAM_REDIRECT_URL": "URL redirection",
-        "PARAM_REDIRECT_URL_HELP": "URL redirection after sending payment, after the payment has been sent. Can contain the following strings, which will be replaced by the values of the transaction: \"{tx}\", \"{hash}\", \"{comment}\" and \"{amount}\".",
+        "PARAM_REDIRECT_URL_HELP": "URL redirection after sending payment, after the payment has been sent. Can contain the following strings, which will be replaced by the values of the transaction: \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\" and \"{pubkey}\".",
         "PARAM_CANCEL_URL": "URL if cancelled",
-        "PARAM_CANCEL_URL_HELP": "URL in case of cancellation",
+        "PARAM_CANCEL_URL_HELP": "URL in case of cancellation.  Can contain the following strings, which will be replaced: \"{comment}\", \"{amount}\" and \"{pubkey}\".",
         "EXAMPLES_HELP": "Examples of integration:",
         "EXAMPLE_BUTTON": "HTML Button",
         "EXAMPLE_BUTTON_DEFAULT_TEXT": "Pay in {{currency|currencySymbol}}",
diff --git a/www/i18n/locale-en.json b/www/i18n/locale-en.json
index 1517958ceacbd8757f75ec2e78ad475713679652..d1d17df5097e09f1f9369de464172cbbd528a276 100644
--- a/www/i18n/locale-en.json
+++ b/www/i18n/locale-en.json
@@ -828,9 +828,9 @@
         "PARAM_NAME": "Name (of recipient or website)",
         "PARAM_NAME_HELP": "The name of your website. This can be a readable name (eg \"My online site\"), or a web address (eg \"www.MySite.com\").",
         "PARAM_REDIRECT_URL": "URL redirection",
-        "PARAM_REDIRECT_URL_HELP": "URL redirection after sending payment, after the payment has been sent. Can contain the following strings, which will be replaced by the values of the transaction: \"{tx}\", \"{hash}\", \"{comment}\" and \"{amount}\".",
+        "PARAM_REDIRECT_URL_HELP": "URL redirection after sending payment, after the payment has been sent. Can contain the following strings, which will be replaced by the values of the transaction: \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\" and \"{pubkey}\".",
         "PARAM_CANCEL_URL": "URL if cancelled",
-        "PARAM_CANCEL_URL_HELP": "URL in case of cancellation",
+        "PARAM_CANCEL_URL_HELP": "URL in case of cancellation.  Can contain the following strings, which will be replaced: \"{comment}\", \"{amount}\" and \"{pubkey}\".",
         "EXAMPLES_HELP": "Examples of integration:",
         "EXAMPLE_BUTTON": "HTML Button",
         "EXAMPLE_BUTTON_DEFAULT_TEXT": "Pay in {{currency|currencySymbol}}",
diff --git a/www/i18n/locale-fr-FR.json b/www/i18n/locale-fr-FR.json
index 49e4a953d96602227c8dff85feb8d52161328793..81c59f4f9efefa21886d606f320738d21751ce13 100644
--- a/www/i18n/locale-fr-FR.json
+++ b/www/i18n/locale-fr-FR.json
@@ -828,9 +828,9 @@
         "PARAM_NAME": "Nom (du destinataire ou du site web)",
         "PARAM_NAME_HELP": "Le nom du destinataire, ou du site web appellant. Cela peut-etre un nom lisible (\"Mon site en ligne\"), ou encore une pseudo-adresse web (\"MonSite.com\").",
         "PARAM_REDIRECT_URL": "Adresse web de redirection",
-        "PARAM_REDIRECT_URL_HELP": "Adresse web (URL) de redirection, appellé quand le paiement a été envoyé. Peut contenir les chaines suivantes, qui seront remplacée par les valeurs de la transaction : \"{tx}\", \"{hash}\", \"{comment}\" et \"{amount}\".",
+        "PARAM_REDIRECT_URL_HELP": "Adresse web (URL) de redirection, appellé quand le paiement a été envoyé. Peut contenir les chaines suivantes, qui seront remplacée par les valeurs de la transaction : \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\" et {pubkey}.",
         "PARAM_CANCEL_URL": "Adresse web d'annulation",
-        "PARAM_CANCEL_URL_HELP": "Adresse web (URL) en cas d'annulation du paiement, par l'utilisateur",
+        "PARAM_CANCEL_URL_HELP": "Adresse web (URL) en cas d'annulation du paiement, par l'utilisateur. Peut contenir les chaines suivantes, qui seront remplacée dynamiquement: \"{comment}\", \"{amount}\" et {pubkey}.",
         "EXAMPLES_HELP": "Voici des exemples d'intégration :",
         "EXAMPLE_BUTTON": "Bouton HTML",
         "EXAMPLE_BUTTON_DEFAULT_TEXT": "Payer en {{currency|currencySymbol}}",
diff --git a/www/js/api/app.js b/www/js/api/app.js
index 5cdf523a03c5279ebbd41d893b75f98c63ddd2bf..44aa8a1af6b5bf037eed4a2d4d000d01ae5f33bc 100644
--- a/www/js/api/app.js
+++ b/www/js/api/app.js
@@ -364,6 +364,7 @@ angular.module('cesium-api', ['ionic', 'ionic-material', 'ngMessages', 'pascalpr
         .then(function() {
           var url = $scope.transferData.redirect_url;
           // Make replacements
+          url = url.replace(/\{pubkey\}/g, $scope.transferData.pubkey);
           url = url.replace(/\{hash\}/g, txRes.hash||'');
           url = url.replace(/\{comment\}/g, $scope.transferData.comment||'');
           url = url.replace(/\{amount\}/g, $scope.transferData.amount.toString());
@@ -387,6 +388,7 @@ angular.module('cesium-api', ['ionic', 'ionic-material', 'ngMessages', 'pascalpr
         .then(function() {
           var url = $scope.transferData.cancel_url;
           // Make replacements - fix #548
+          url = url.replace(/\{pubkey\}/g, $scope.transferData.pubkey);
           url = url.replace(/\{comment\}/g, $scope.transferData.comment||'');
           url = url.replace(/\{amount\}/g, $scope.transferData.amount.toString());