mu-hasan / laravel-winpay
一个集成了WinPay支付网关的Laravel框架的包
Requires
- php: ^5.6|^7.0|^8.0
- illuminate/support: ^5.1|^6.0|^7.0|^8.0
This package is auto-updated.
Last update: 2024-09-29 06:09:04 UTC
README
一个非官方包,帮助您将WinPay支付网关(winpay.id)集成到您的Laravel应用程序中
安装
通过composer安装此包
$ composer require mu-hasan/laravel-winpay "^0.0.1"
将这些行添加到您的.env文件中,并用您的WinPay凭证填充
# ...
WINPAY_HOST=putWinpayHostHere
WINPAY_PK1=putWinpayPrivateKey1Here
WINPAY_PK2=putWinpayPrivateKey2Here
WINPAY_MK=putWinpayMerchantKeyHere
WINPAY_LISTENER=putWinpayListenerPathHere
Laravel
请注册服务提供者
// config/app.php 'Providers' => [ // ... /* * Package Service Providers... */ MuHasan\LaravelWinpay\WinpayServiceProvider::class, // ... ]
您可以通过添加此行来使用外观
// config/app.php 'aliases' => [ // ... 'Winpay' => MuHasan\LaravelWinpay\WinpayFacade::class, ];
请发布配置文件以定义您的WinPay凭证
$ php artisan vendor:publish --provider="MuHasan\LaravelWinpay\WinpayServiceProvider"
Lumen
请将此行添加到bootstrap/app.php文件中
$app->configure('laravel-winpay'); //... $app->register(MuHasan\LaravelWinpay\WinpayServiceProvider::class);
您可以从此laravel-winpay.php中获取配置文件。然后将其复制到config/laravel-winpay.php
发送请求到WinPay
目前,此包仅支持getToolbar和getPaymentCode。
getToolbar
根据文档,此函数将返回支付渠道列表。您可以像这样使用它
winpay()->getToolbar(); // OR Winpay::getToolbar();
getPaymentCode
根据文档,此函数将返回所选支付渠道的支付代码和交易详情。您可以像这样使用它
winpay()->getPaymentCode($paymentChannel, $transaction, $user, $items); // OR Winpay::getToolbar($paymentChannel, $transaction, $user, $items);
您必须从getToolbar()响应中传递$paymentChannel参数。
$transaction参数必须是实现了MuHasan\LaravelWinpay\BillingTransaction接口的模型,并定义了getBillTransactionEndAt()、getBillTransactionReff()和getBillTransactionAmount()函数。
class FooTransaction extends Model implements BillingTransaction { //... public function getBillTransactionEndAt(): \DateTime { return $this->reff; } public function getBillTransactionReff(): string { return $this->reff; } public function getBillTransactionAmount(): int { return $this->total; } //... }
$user参数必须是实现了MuHasan\LaravelWinpay\BillingUser接口的模型,并定义了getgetBillUserName()、getgetBillUserPhone()和getgetBillUserEmail()函数。
class FooUser extends Model implements BillingUser { //... public function getBillUserName(): string { return $this->name; } public function getBillUserPhone(): string { return $this->phone; } // nullable public function getBillUserEmail(): ?string { return $this->email; // OR // return null; } //... }
$items参数必须是实现了MuHasan\LaravelWinpay\BillingItem接口的模型的数组,并定义了getBillItemName()、getBillItemQty()、getBillItemUnitPrice()、getBillItemSku()和getBillItemDesc()函数。
class FooItem extends Model implements BillingItem { //... public function getBillItemName(): string { return $this->name; } public function getBillItemQty(): int { return $this->qty; } public function getBillItemUnitPrice(): int { return $this->amount; } // nullable public function getBillItemSku(): ?string { return $this->short_id; // OR // return null; } // nullable public function getBillItemDesc(): ?string { return $this->note; // OR // return null; } //... }