unetway / robokassa
用于与Robokassa服务交互的包
0.1.5
2024-03-07 16:50 UTC
Requires
- php: >=7.4
- ext-json: *
- ext-simplexml: *
- guzzlehttp/guzzle: >=6.3
README
该包允许通过Robokassa服务进行支付
安装
$ composer require unetway/robokassa
使用
<?php
use Unetway\Robokassa\Robokassa;
$robokassa = new Robokassa([
'login' => '',
'password1' => '',
'password2' => '',
'test_password1' => '',
'test_password2' => '',
'is_test' => false,
'hashType' => 'md5'
]);
参数
- login - 登录名
- password1 - 密码1
- password1 - 密码2
- test_password1 - 测试密码1
- test_password2 - 测试密码2
- is_test - true|false
- hashType - md5|ripemd160|sha1|sha256|sha384|sha512
生成支付链接
$link = $robokassa->generateLink([
'OutSum' => 123.45,
'Description' => 'Описание',
'InvoiceID' => 7,
]);
echo $link;
$link = $robokassa->generateLink([
'OutSum' => 123.45,
'Description' => 'Описание',
'IncCurrLabel' => '',
'InvoiceID' => 7,
'Culture' => 'ru',
'Encoding' => 'UTF-8',
'Email' => '',
'ExpirationDate' => 'YYYY-MM-DDThh:mm:ss.fffffffZZZZZ',
'OutSumCurrency' => 'USD',
'UserIp' => '',
]);
echo $link;
参数 MerchantLogin 和 SignatureValue 不需要指定。
发送短信
$phone = 'номер телефона';
$message = 'Сообщение не больше 128 символов';
return $robokassa->sendSms($phone, $message);
定期支付(周期性支付)
周期性支付所使用的参数列表请参见官方文档。
$outSum = 7.5;
$invoiceID = 8;
$previousInvoiceID = 5;
$paramsOther = []; //другие дополнительные параметры
return $robokassa->recurrent($outSum, $invoiceID, $previousInvoiceID, $paramsOther);
货币列表
用于指定 IncCurrLabel 参数的值,也用于在您的网站上显示可用的支付选项,以便您向客户提供更多信息。
$lang = 'ru';
return $robokassa->getCurrencies($lang);
支付方式列表
返回指定商店/网站可用的支付方式列表。
$lang = 'ru';
return $robokassa->getPaymentMethods($lang);
计算支付金额(考虑服务费)
允许计算购买者应支付的金额,包括 ROBOKASSA(根据费率)和购买者决定通过哪些系统进行支付的费用。
$outSum = 7.5;
$lang = 'ru';
$incCurrLabel = null;
return $robokassa->getRates($outSum, $language, $incCurrLabel);
计算商家所得金额
商家所得金额计算接口可根据 ROBOKASSA 的当前汇率,根据用户支付的金额计算所得金额。仅适用于个人。
return $robokassa->calcOutSumm($incSum, $incCurrLabel);
支付状态
获取支付状态信息 返回支付当前状态和详情。请注意,操作是在用户确认支付信息后而不是在用户离开支付页面时触发的,因此您可能会找不到已经应该开始操作的操作。
return $robokassa->opState($invoiceID);
在 ResultURL 上检查支付
$params['OutSum'] = $_POST['OutSum'];
$params['InvId'] = $_POST['InvId'];
if ($robokassa->checkResult($params)) {
echo 'Успешно!';
};
在 SuccessURL 上检查支付
$params['OutSum'] = $_POST['OutSum'];
$params['InvId'] = $_POST['InvId'];
if ($robokassa->checkSuccess($params)) {
echo 'Успешно!';
};