unetway / laravel-robokassa
用于在 Laravel 中与 Robokassa 服务的集成包
0.1.3
2024-03-07 16:53 UTC
Requires
- php: >=7.4
- ext-json: *
- ext-simplexml: *
- guzzlehttp/guzzle: >=6.3
- unetway/robokassa: *
This package is auto-updated.
Last update: 2024-09-07 18:24:34 UTC
README
此包允许在 Laravel 框架中使用 Robokassa 服务进行支付。
安装
$ composer require unetway/laravel-robokassa
配置
在文件 config/robokassa.php
中安装连接到 Robokassa 的参数
参数
- login - 登录名
- password1 - 密码 1
- password1 - 密码 2
- test_password1 - 测试密码 1
- test_password2 - 测试密码 2
- is_test - true|false
- hashType - md5|ripemd160|sha1|sha256|sha384|sha512
使用
<?php
use Unetway\LaravelRobokassa\Robokassa;
$robokassa = new Robokassa();
生成支付链接
$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 'Успешно!';
};