lava-payment / lava
Lava支付SDK
Requires
- php: >= 7.4
- ext-json: *
Requires (Dev)
- ext-curl: *
- mockery/mockery: ^1.5.1
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.29
This package is auto-updated.
Last update: 2024-09-21 11:22:56 UTC
README
安装
composer require lava-payment/lava
使用
为了工作,需要获取商店的密钥。
初始化
use Lava\Api\Http\LavaFacade; $facade = new LavaFacade('your secret key', 'shopId', 'your additional key');
获取商店余额
$response = $facade->getShopBalance();
在成功请求后,您将获得包含balance和freezeBalance的对象。
在失败请求中,将抛出带有消息和响应代码的异常。
创建支付
方法createInvoice接受一个createInvoiceDto对象作为输入,该对象本身有两个必需参数sum和orderId。
use Lava\Api\Dto\Request\Invoice\CreateInvoiceDto; $createInvoiceDto = new CreateInvoiceDto( 300.09, 'orderId', 'https://exaple.com', 'https://exaple.com', 'https://exaple.com', 300, '{productId: 39}', 'Pay product' ); $response = $facade->createInvoice($createInvoiceDto);
在成功请求后,您将获得一个包含invoiceId、amount、expired、status、shopId和url的对象。
在失败请求中,将抛出带有消息和响应代码的异常。
检查支付状态
方法checkStatusInvoice接受一个GetStatusInvoiceDto对象作为输入,该对象接受两个参数,其中一个参数是必需的。
invoiceId - 创建支付后获得的id
orderId - 您系统中支付的id
use Lava\Api\Dto\Request\Invoice\GetStatusInvoiceDto; $statusInvoice = new GetStatusInvoiceDto(null, $invoiceId); //проверка платежа по invoiceId $response = $facade->checkStatusInvoice($statusInvoice);
在成功请求后,您将获得一个StatusInvoiceDto对象。
在失败请求中,将抛出带有消息和响应代码的异常。
创建输出
方法createPayoff接受一个CreatePayoffDto对象作为输入,该对象接受三个必需参数
orderId - 您系统中输出的id,amount - 输出金额和service - 输出到哪个服务。
use Lava\Api\Dto\Request\Payoff\CreatePayoffDto; $payoffCreate = new CreatePayoffDto('1234', 10, 'lava_payoff'); $response = $facade->createPayoff($payoffCreate);
在成功请求后,您将获得一个包含2个参数的CreatedPayoffDto对象
refundId - 我们系统中输出的id和status - 输出的当前状态。
在失败请求中,将抛出带有消息和响应代码的异常。
输出信息
方法getStatusPayoff接受一个GetPayoffStatusDto对象作为输入,该对象接受两个参数,其中一个参数是必需的。
payoffId - 创建输出后获得的id
orderId - 您系统中支付的id
use Lava\Api\Dto\Request\Payoff\GetPayoffStatusDto; $payoffStatus = new GetPayoffStatusDto(null, $payoffId); $response = $facade->getStatusPayoff($payoffStatus);
在成功请求后,您将获得一个包含整个输出信息的StatusPayoffDto对象。
在失败请求中,将抛出带有消息和响应代码的异常。
创建退款
方法createRefund接受一个CreateRefundDto对象作为输入,该对象接受一个必需参数invoiceId - 我们系统中的支付id。对于部分退款,除了invoiceId之外,还需要传递退款金额。
use Lava\Api\Dto\Request\Refund\CreateRefundDto; $refundCreate = new CreateRefundDto('5b7d4464-d375-41d4-95b1-bb9786fbbac7', null, 100); $response = $facade->createRefund($refundCreate);
在成功请求后,您将获得一个CreatedRefundDto对象。
在失败请求中,将抛出带有消息和响应代码的异常。
退款信息
方法checkStatusRefund接受一个GetStatusRefundDto对象作为输入,该对象接受一个必需参数refundId - 我们系统中的退款id。
use Lava\Api\Dto\Request\Refund\GetStatusRefundDto; $refundGetStatus = new GetStatusRefundDto($refundId); $response = $facade->checkStatusRefund($refundGetStatus);
在成功请求后,您将获得一个StatusRefundDto对象。
在失败请求中,将抛出带有消息和响应代码的异常。
创建H2H发票
方法createH2hInvoice接受一个CreateH2hInvoiceDto对象作为输入,该对象接受六个必需参数:amount - 发票金额,orderId - 您系统中的id,cvv - 卡的cvv,month - 卡有效期月份,year - 卡有效期年份,cardNumber - 卡号
use Lava\Api\Dto\Request\H2h\CreateH2hInvoiceDto; $h2hCreate = new CreateH2hInvoiceDto( 100, "orderId", 701, 11, 30, '5536914283728079' ); $response = $facade->createH2hInvoice($h2hCreate);
在成功请求后,您将获得一个CreatedH2hInvoiceDto对象。
在失败请求中,将抛出带有消息和响应代码的异常。
创建H2H SBP发票
方法createH2hInvoice接受一个CreateH2hInvoiceDto对象作为输入,该对象接受六个必需参数:amount - 发票金额,orderId - 您系统中的id,ip - 用户ip
use Lava\Api\Dto\Request\H2h\CreateSBPH2HDto; $h2hCreate = new CreateSBPH2HDto( 100, $orderId, '127.0.0.1' ); $response = $facade->createH2HSpbInvoice($h2hCreate);
在成功请求后,您将获得一个CreatedSBPH2hDto对象。
在失败请求中,将抛出带有消息和响应代码的异常。
检查Webhook签名
方法checkSignWebhook接受两个参数:请求体(json格式)和来自'Authorization'标题的签名。
$data = file_get_contents('php://input'); $hookSignature = getallheaders(); if(!isset($hookSignature['Authorization'])) { throw new Exception(); } $facade->checkSignWebhook($data, $hookSignature['Authorization']);