From e2a12d99a8d93e108bb0af3a56ea09ad5a8c7155 Mon Sep 17 00:00:00 2001 From: Arseniy Maximov Date: Wed, 18 Jul 2018 18:29:19 +0300 Subject: [PATCH 1/3] Add support of incCurrLabel & receipt --- src/RobokassaHelper.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/RobokassaHelper.js b/src/RobokassaHelper.js index 7c06537..a5cb3b8 100644 --- a/src/RobokassaHelper.js +++ b/src/RobokassaHelper.js @@ -70,6 +70,16 @@ class RobokassaHelper { values.InvId = options.invId; } + // IncCurrLabel. + if (options.incCurrLabel) { + values.IncCurrLabel = options.incCurrLabel; + } + + // Receipt. + if (options.receipt) { + values.Receipt = JSON.stringify(options.receipt); + } + // E-Mail. if (options.email) { values.Email = options.email; From 6935604d5891a97998465b58cfdc2b6bea50fb60 Mon Sep 17 00:00:00 2001 From: Arseniy Maximov Date: Wed, 18 Jul 2018 19:59:22 +0300 Subject: [PATCH 2/3] use receipt in calculatePaymentUrlHash if needed --- src/RobokassaHelper.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/RobokassaHelper.js b/src/RobokassaHelper.js index a5cb3b8..7cc57c4 100644 --- a/src/RobokassaHelper.js +++ b/src/RobokassaHelper.js @@ -120,7 +120,8 @@ class RobokassaHelper { let values = [ this.config.merchantLogin, outSum, - (options && options.invId ? options.invId : '') + (options && options.invId ? options.invId : ''), + (options && options.receipt ? options.receipt : ''), ]; if (options.outSumCurrency) { From 809d79211accb4758d3786a67ae0b9b0863ebd86 Mon Sep 17 00:00:00 2001 From: Arseniy Maximov Date: Thu, 19 Jul 2018 01:32:23 +0300 Subject: [PATCH 3/3] encode receipt in calculatePaymentUrlHash --- src/RobokassaHelper.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/RobokassaHelper.js b/src/RobokassaHelper.js index 7cc57c4..bc7aeb1 100644 --- a/src/RobokassaHelper.js +++ b/src/RobokassaHelper.js @@ -121,12 +121,15 @@ class RobokassaHelper { this.config.merchantLogin, outSum, (options && options.invId ? options.invId : ''), - (options && options.receipt ? options.receipt : ''), ]; if (options.outSumCurrency) { values.push(options.outSumCurrency); } + + if (options.receipt) { + values.push(encodeURIComponent(options.receipt)); + } values.push(this.config.password1);