unetway/laravel-robokassa

用于在 Laravel 中与 Robokassa 服务的集成包

0.1.3 2024-03-07 16:53 UTC

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 'Успешно!';
};