mrssoft / rbs
Component for payment through the payment gateway Sberbank
1.2.1
2025-10-14 09:13 UTC
Requires
- php: >=8.0
- ext-curl: *
- yiisoft/yii2: >=2.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Component for payment through the payment gateway bank "Sber"
Installation
The preferred way to install this extension is through composer. Either run
php composer.phar require --prefer-dist mrssoft/rbs "*"
or add
"mrssoft/rbs": "*"
to the require section of your composer.json file.
Usage
Register order
$rbs = new \mrssoft\rbs\Rbs(['userName' => '', 'password' => '']); $rbs->credit = true; //if credit $rbs->productType = \mrssoft\rbs\Rbs::TYPE_CREDIT_INSTALLMENT; $rbsOrder = new RbsOrder(); $rbsOrder->orderNumber = 'NM-12874'; $rbsOrder->email = 'test@mail.com'; $rbsOrder->description = 'Test'; $rbsOrder->returnUrl = 'https:/mysite.com/payment/success'; $rbsOrder->failUrl = 'https:/mysite.com/payment/fail'; $rbsOrder->credit = 1; //for credit payment $rbsOrder->addCartItem(123, 'Product name', 450.80, 2); $rbsOrder->addCartItem('a321', 'Product name II', 145, 2.5); ... $response = $rbs->register($rbsOrder); if ($response) { //$response['orderId'] - order number on the payment gateway //$response['formUrl'] - redirect url }
Get order status
$rbs = new \mrssoft\rbs\Rbs(['userName' => '', 'password' => '']); $response = $rbsOrder->getOrderStatus('00256ad8-xxxx-4302-xxxx-846d6c0fd6bd'); //$response['OrderStatus'] - order state code
Get order info
$rbs = new \mrssoft\rbs\Rbs(['userName' => '', 'password' => '']); $info = $rbsOrder->getOrderInfo('00256ad8-xxxx-4302-xxxx-846d6c0fd6bd');
Usage as Yii component
// Application config
...
'components' => [
'rbs' = > [
'class' => \mrssoft\rbs\Rbs::class,
'auth' => [ // multiple accounts
'first' => [
'server' => 'https://3dsec.sberbank.ru/sbercredit/',
'userName' => 'username1',
'password' => '*****',
],
'second' => [
'userName' => 'username2',
'password' => '*****',
]
]
]
]
...
// Selecting account "second"
$response = Yii::$app->rbs->register($rbsOrder, 'second');