From efbdd971056d89593977a55f9c6daca2b73ae4d0 Mon Sep 17 00:00:00 2001 From: Snickser Date: Sat, 11 May 2024 08:58:39 +0300 Subject: [PATCH 1/2] tune --- pay.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pay.php b/pay.php index 88a1171..a7bd971 100644 --- a/pay.php +++ b/pay.php @@ -40,7 +40,7 @@ $description = required_param('description', PARAM_TEXT); $password = optional_param('password', null, PARAM_TEXT); -$skipmode = optional_param('skipmode', null, PARAM_TEXT); +$skipmode = optional_param('skipmode', null, PARAM_INT); $costself = optional_param('costself', null, PARAM_TEXT); $config = (object) helper::get_gateway_configuration($component, $paymentarea, $itemid, 'robokassa'); From 5af73349931d0f9adf07133918a3754966dff410 Mon Sep 17 00:00:00 2001 From: Snickser Date: Sat, 11 May 2024 09:13:22 +0300 Subject: [PATCH 2/2] tune --- callback.php | 5 +++-- pay.php | 9 +++++---- return.php | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/callback.php b/callback.php index 24fc194..9e49ffb 100644 --- a/callback.php +++ b/callback.php @@ -30,8 +30,8 @@ defined('MOODLE_INTERNAL') || die(); -$invid = required_param('InvId', PARAM_ALPHANUMEXT); -$outsumm = required_param('OutSum', PARAM_RAW); +$invid = required_param('InvId', PARAM_INT); +$outsumm = required_param('OutSum', PARAM_TEXT); $signature = required_param('SignatureValue', PARAM_ALPHANUMEXT); if (!$robokassatx = $DB->get_record('paygw_robokassa', ['paymentid' => $invid])) { @@ -65,6 +65,7 @@ die('FAIL. Signature does not match.'); } + // Deliver order. helper::deliver_order($component, $paymentarea, $itemid, $paymentid, $userid); // Notify user. diff --git a/pay.php b/pay.php index a7bd971..8a1b049 100644 --- a/pay.php +++ b/pay.php @@ -40,7 +40,7 @@ $description = required_param('description', PARAM_TEXT); $password = optional_param('password', null, PARAM_TEXT); -$skipmode = optional_param('skipmode', null, PARAM_INT); +$skipmode = optional_param('skipmode', 0, PARAM_INT); $costself = optional_param('costself', null, PARAM_TEXT); $config = (object) helper::get_gateway_configuration($component, $paymentarea, $itemid, 'robokassa'); @@ -172,11 +172,12 @@ $outsumm = $cost; // Invoice summ. // For non-RUB pay. -$outsumcurrency = null; -$currencyarg = null; if ($currency != 'RUB') { $outsumcurrency = "&OutSumCurrency=$currency"; $currencyarg = ":$currency"; +} else { + $outsumcurrency = null; + $currencyarg = null; } // Nomenclatura. @@ -197,7 +198,7 @@ // Params. $request = "MerchantLogin=$mrhlogin" . - "&OutSum=$outsumm$outsumcurrency" . + "&OutSum=$outsumm" . $outsumcurrency . "&InvId=$invid" . "&Description=" . urlencode($invdesc) . "&SignatureValue=$crc" . diff --git a/return.php b/return.php index 098d42b..102d882 100644 --- a/return.php +++ b/return.php @@ -31,7 +31,7 @@ require_login(); -$invid = required_param('InvId', PARAM_TEXT); +$invid = required_param('InvId', PARAM_INT); $outsumm = optional_param('OutSum', null, PARAM_TEXT); $signature = optional_param('SignatureValue', null, PARAM_TEXT);