mscode-pl/laravel-cashbill

用于轻松将cashbill支付集成到Laravel的包。

1.0.0 2024-07-30 20:51 UTC

This package is auto-updated.

Last update: 2024-09-30 21:06:18 UTC


README

用于轻松将Cashbill支付集成到Laravel的包。

安装

  1. 使用命令安装composer包
  composer require mscode-pl/laravel-cashbill
  1. 发布配置文件到你的项目
  php artisan vendor:publish --provider="MsCode\Cashbill\CashbillServiceProvider"
  1. 运行迁移
  php artisan migrate 

设置

首先,你需要将环境变量从 .env.example 移动到 .env

CASHBILL_MODE=dev
CASHBILL_SHOP_ID=
CASHBILL_SECRET_KEY=

如果你处于测试模式,设置 CASHBILL_MODE 为 dev。在生产模式下,切换到 prod。从CashBill商店设置中检索剩余的变量。

在配置文件中,你可以定义返回路由、默认值、数据库表名以及收集个人数据的列。修改列后,重新运行迁移过程。

确保你指定与CashBill商店设置中相同的通知路由。此URL用于验证交易,默认设置为 /api/cashbill/notification

用法/示例

要启动交易,在你的控制器中创建一个 Payload 对象并分配值。然后创建一个 Payment 对象,传递 Payload 并调用 redirect()。此操作将启动交易并将用户重定向到Cashbill支付页面。你也可以创建一个 PersonalData 对象。在Cashbill页面上,名字姓氏电子邮件地址将自动填写。

<?php

namespace App\Http\Controllers;

use MsCode\Cashbill\Payload;
use MsCode\Cashbill\Payment;
use MsCode\Cashbill\PersonalData;

class CashbillExample extends Controller
{
    public function handle()
    {
        $payload = new Payload();
        $payload->setTitle("Example title");
        $payload->setAmount(9.5);

        $personalData = new PersonalData();
        $personalData->setEmail("email@example.com");
        $personalData->setFirstName("Name");
        $personalData->setSurname("Surname");
        $payload->setPersonalData($personalData);

        $payment = new Payment($payload);
        return $payment->redirect();
    }
}

交易创建后,将触发 TransactionCreated 事件。你可以使用它来检索有效载荷和订单ID,将交易与特定用户关联。为此,创建一个监听器并在你的 EventServiceProvider 中注册它。

protected $listen = [
    TransactionCreated::class => [
        ExampleListener::class
    ]
];

默认情况下,所有交易状态更改都由该包处理。接收到Cashbill的 PositiveFinish 信号后,将触发 TransactionSuccessfullyCompleted 事件。否则,对于状态更改,将触发 TransactionStatusChanged 事件。

如果你喜欢手动更新订单数据,可以通过将特定订单ID传递给构造函数来创建一个 Order 对象,然后调用 update() 方法,该方法返回一个 PaymentDetails 对象。

$order = new Order($orderId);
$paymentDetails = $order->update();

许可证

此包根据 MIT 许可证分发