hazestudio / laravel-gopay-sdk
GoPay SDK 与 Laravel 框架集成
v0.1.5
2017-08-09 14:12 UTC
Requires
- php: >=5.6.0
- gopay/payments-sdk-php: ^1.1
- illuminate/cache: 5.*
- illuminate/config: 5.*
- illuminate/container: 5.*
- illuminate/support: 5.*
This package is not auto-updated.
Last update: 2024-09-29 01:44:20 UTC
README
文档
安装
步骤 1: 安装包
通过执行以下命令将包添加到您的 composer.json 中。
composer require hazestudio/laravel-gopay-sdk
这将同时更新 composer.json 并将包安装到 vendor/ 目录下。
接下来,将服务提供者和外观添加到 config/app.php
将服务提供者添加到 providers
'providers' => [
...
HazeStudio\LaravelGoPaySDK\GopayServiceProvider::class,
...
]
并将外观添加到 aliases
'aliases' => [
...
'GoPay' => HazeStudio\LaravelGoPaySDK\Facade::class,
...
]
步骤 2: 配置
首先通过运行以下命令初始化配置文件
php artisan vendor:publish
使用此命令初始化配置并修改位于 config/gopay.php
下的创建的文件。
配置
return [ 'goid' => 'YOUR_GOID', 'clientId' => 'YOUR_CLIENT_ID', 'clientSecret' => 'YOUR_CLIENT_SECRET', 'defaultScope' => 'ALL', //GoPay\Definition\TokenScope Constants 'languages' => [ 'en' => 'ENGLISH', 'sk' => 'SLOVAK', 'cs' => 'CZECH' ], //Map Laravel languages to GoPay\Definition\Language Constants 'timeout' => 30 ];
功能
语言
\GoPay::lang(GoPay\Definition\Languages::SLOVAK) //or just \GoPay::lang('sk') //or \GoPay::lang('SLOVAK')->createPayment(...);
作用域
\GoPay::scope(GoPay\Definition\TokenScope::ALL) //Override default scope //or \GoPay::scope('ALL')->createPayment(...);
事件
示例
Event::listen(\HazeStudio\LaravelGoPaySDK\Events\PaymentCreated::class, function ($event) { dd($event->payment); });
示例
创建标准支付
use GoPay; use GoPay\Definition\Payment\Currency; use GoPay\Definition\Payment\PaymentInstrument; use GoPay\Definition\Payment\BankSwiftCode; //This will log every http request to the GoPay api GoPay::log(function($request, $response){ \PC::gp_request($request); //PHP Console package \PC::gp_response($response); //PHP Console package //Or Laravel Log \Log::info("{$request->method} {$request->url} -> {$response->statusCode}"); }); $user = \Auth::user(); $response = GoPay::lang($user->locale)->scope('CREATE_PAYMENT')->createPayment([ 'payer' => [ 'default_payment_instrument' => PaymentInstrument::BANK_ACCOUNT, 'allowed_payment_instruments' => [PaymentInstrument::BANK_ACCOUNT], 'default_swift' => BankSwiftCode::FIO_BANKA, 'allowed_swifts' => [BankSwiftCode::FIO_BANKA, BankSwiftCode::MBANK], 'contact' => [ 'first_name' => 'Zbynek', 'last_name' => 'Zak', 'email' => 'test@test.cz', 'phone_number' => '+420777456123', 'city' => 'C.Budejovice', 'street' => 'Plana 67', 'postal_code' => '373 01', 'country_code' => 'CZE', ], ], 'amount' => 1000, 'currency' => Currency::CZECH_CROWNS, 'order_number' => '001', 'order_description' => 'pojisteni01', 'items' => [ ['name' => 'item01', 'amount' => 50], ['name' => 'item02', 'amount' => 100], ], 'additional_params' => [ array('name' => 'invoicenumber', 'value' => '2015001003') ], 'callback' => [ 'return_url' => 'http://www.your-url.tld/return', 'notification_url' => 'http://www.your-url.tld/notify' ] ]); if ($response->hasSucceed()) { $url = $response->json['gw_url']; echo $response; }