rifkyekayama / faspay-laravel-5
此包的最新版本(v1.1)没有可用的许可信息。
为 Faspay 支付网关的 Laravel 包。
v1.1
2018-03-28 03:46 UTC
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: ~5.0|~6.0
- illuminate/support: 5.4.*
- nesbot/carbon: ~1.20
- spatie/array-to-xml: ^2.3
- symfony/http-foundation: 3.3.*
This package is not auto-updated.
Last update: 2024-09-15 04:57:46 UTC
README
如果您的项目需要使用 Faspay 作为支付网关,那么这个包就是为您准备的。这是一个用于与 Faspay 支付网关 API(目前仅支持 DEBIT API)通信的 Laravel 包。
安装
要开始使用 Faspay,请运行此命令或将包添加到您的 composer.json
composer require Rifkyekayama/faspay
配置
安装 Faspay 包后,在您的 config/app.php
文件中注册 Rifkyekayama\Faspay\FaspayServiceProvider
。同时,将 Faspay
和 Payment
门面添加到 app
配置文件中的 aliases
数组。
'Faspay' => Rifkyekayama\Faspay\Facades\Faspay::class, 'Payment' => Rifkyekayama\Faspay\Facades\Payment::class,
最后发布配置文件
php artisan vendor:publish --provider="Rifkyekayama\Faspay\FaspayServiceProvider"
并将 config/faspay.php
中的 merchant_id
、merchant_name
、user_id
和 password
替换为您自己的信息。
如何使用
设置完成后,您可以使用此 Faspay 包如下
// Customer class example. You can apply to any model you want. use Rifkyekayama\Faspay\CustomerInterface; class Customer implements CustomerInterface { public function getFaspayCustomerNumber() { return 'customer-number'; } public function getFaspayCustomerName() { return 'customer-name'; } public function getFaspayCustomerEmail() { return 'customer-email'; } public function getFaspayCustomerPhone() { return 'customer-phone'; } public function getFaspayPreferredCurrency() { return 'customer-currency'; } }
// Item class example. You can apply to any model you want. use Rifkyekayama\Faspay\Payable; class Item implements Payable { public function getPayableName() { return 'Product Name'; } public function getPayablePrice() { return 300000; } }
// An example how to use the API. Route::get('/', function () { $customer = new Customer(); $payable = new Item(); $payment = Payment::performedBy($customer) ->via('web') ->payWith('tcash') ->addTax(10) ->addMiscFee(1000); $payment->addItem($payable, 2); $response = Faspay::registerPayment($payment); return Faspay::redirectToPay($payment); }); Route::get('/callback-notif', function(\Illuminate\Http\Request $request) { return Faspay::notified($request, function(\Rifkyekayama\Faspay\Notification $notification) { return $notification; }); });
要生成自定义账单号/代码,您可以创建一个实现 BillingProfileInterface 的类,例如
class TopupBillingProfile implements BillingProfileInterface { public function description() { return 'Topup Saldo'; } public function generate(Payment $payment) { return str_random(15); } }
然后将它作为 registerPayment()
方法的第二个参数传递。
错误 & 改进
这个包还远未完美。它还不支持 BCA KlikPay。它也不支持 Faspay Credit API。您可以自由地向我报告您发现的任何错误或发送拉取请求。