diff --git a/Telegram/SourceFiles/messenger.cpp b/Telegram/SourceFiles/messenger.cpp
index 11cedf357..654ac2332 100644
--- a/Telegram/SourceFiles/messenger.cpp
+++ b/Telegram/SourceFiles/messenger.cpp
@@ -862,7 +862,9 @@ bool Messenger::openLocalUrl(const QString &url, QVariant context) {
 		const auto scope = params.value("scope", QString());
 		const auto callback = params.value("callback_url", QString());
 		const auto publicKey = params.value("public_key", QString());
-		const auto payload = params.value("payload", QString());
+		const auto nonce = params.value(
+			Passport::NonceNameByScope(scope),
+			QString());
 		const auto errors = params.value("errors", QString());
 		if (const auto window = App::wnd()) {
 			if (const auto controller = window->controller()) {
@@ -871,7 +873,7 @@ bool Messenger::openLocalUrl(const QString &url, QVariant context) {
 					scope,
 					callback,
 					publicKey,
-					payload,
+					nonce,
 					errors));
 				return true;
 			}
diff --git a/Telegram/SourceFiles/passport/passport_form_controller.cpp b/Telegram/SourceFiles/passport/passport_form_controller.cpp
index d1c49dc90..2722a64b3 100644
--- a/Telegram/SourceFiles/passport/passport_form_controller.cpp
+++ b/Telegram/SourceFiles/passport/passport_form_controller.cpp
@@ -228,6 +228,13 @@ QString ValidateUrl(const QString &url) {
 
 } // namespace
 
+QString NonceNameByScope(const QString &scope) {
+	if (scope.startsWith('{') && scope.endsWith('}')) {
+		return qsl("nonce");
+	}
+	return qsl("payload");
+}
+
 bool ValueChanged(not_null<const Value*> value, const ValueMap &data) {
 	const auto FileChanged = [](const EditFile &file) {
 		if (file.uploadData) {
@@ -271,13 +278,13 @@ FormRequest::FormRequest(
 	const QString &scope,
 	const QString &callbackUrl,
 	const QString &publicKey,
-	const QString &payload,
+	const QString &nonce,
 	const QString &errors)
 : botId(botId)
 , scope(scope)
 , callbackUrl(ValidateUrl(callbackUrl))
 , publicKey(publicKey)
-, payload(payload)
+, nonce(nonce)
 , errors(errors) {
 }
 
@@ -654,7 +661,7 @@ auto FormController::prepareFinalData() -> FinalData {
 	auto json = QJsonObject();
 	if (errors.empty()) {
 		json.insert("secure_data", secureData);
-		json.insert("payload", _request.payload);
+		json.insert(NonceNameByScope(_request.scope), _request.nonce);
 	}
 
 	return {
@@ -2151,9 +2158,9 @@ void FormController::suggestRestart() {
 }
 
 void FormController::requestForm() {
-	if (_request.payload.isEmpty()) {
+	if (_request.nonce.isEmpty()) {
 		_formRequestId = -1;
-		formFail("PAYLOAD_EMPTY");
+		formFail(NonceNameByScope(_request.scope).toUpper() + "_EMPTY");
 		return;
 	}
 	_formRequestId = request(MTPaccount_GetAuthorizationForm(
diff --git a/Telegram/SourceFiles/passport/passport_form_controller.h b/Telegram/SourceFiles/passport/passport_form_controller.h
index 60cfd8dc9..230d84db0 100644
--- a/Telegram/SourceFiles/passport/passport_form_controller.h
+++ b/Telegram/SourceFiles/passport/passport_form_controller.h
@@ -31,6 +31,8 @@ struct SavedCredentials {
 	uint64 secretId = 0;
 };
 
+QString NonceNameByScope(const QString &scope);
+
 class ViewController;
 
 struct FormRequest {
@@ -39,14 +41,14 @@ struct FormRequest {
 		const QString &scope,
 		const QString &callbackUrl,
 		const QString &publicKey,
-		const QString &payload,
+		const QString &nonce,
 		const QString &errors);
 
 	UserId botId;
 	QString scope;
 	QString callbackUrl;
 	QString publicKey;
-	QString payload;
+	QString nonce;
 	QString errors;
 
 };