A package that integrate WinPay Payment Gateway with Laravel Framework
mu-hasan/laravel-winpay is a Laravel package for a package that integrate winpay payment gateway with laravel framework.
It currently has 0 GitHub stars and 35 downloads on Packagist (latest version 0.0.2).
Install it with composer require mu-hasan/laravel-winpay.
Discover more Laravel packages by mu-hasan
or browse all Laravel packages to compare alternatives.
Last updated
A non-official package that help you to implements WinPay Payment Gateway (winpay.id) into your Laravel applications
Install the package via composer :
$ composer require mu-hasan/laravel-winpay "^0.0.1"
Add this lines into your .env file and fill with your WinPay credentials :
# ...
WINPAY_HOST=putWinpayHostHere
WINPAY_PK1=putWinpayPrivateKey1Here
WINPAY_PK2=putWinpayPrivateKey2Here
WINPAY_MK=putWinpayMerchantKeyHere
WINPAY_LISTENER=putWinpayListenerPathHere
Please register the service provider :
// config/app.php
'Providers' => [
// ...
/*
* Package Service Providers...
*/
MuHasan\LaravelWinpay\WinpayServiceProvider::class,
// ...
]
You could use the facade by add this line :
// config/app.php
'aliases' => [
// ...
'Winpay' => MuHasan\LaravelWinpay\WinpayFacade::class,
];
Please publish the config file to define your WinPay credentials :
$ php artisan vendor:publish --provider="MuHasan\LaravelWinpay\WinpayServiceProvider"
Please add this line to the bootstrap/app.php file
$app->configure('laravel-winpay');
//...
$app->register(MuHasan\LaravelWinpay\WinpayServiceProvider::class);
You could get the config file from this laravel-winpay.php. Then copy it into config/laravel-winpay.php
For now, this package only support getToolbar and getPaymentCode.
From the documentation, this function will be return list of payment channel. You can use like this:
winpay()->getToolbar();
// OR
Winpay::getToolbar();
From the documentation, this function will be return payment code of choosen payment channel and transaction details. You can use like this:
winpay()->getPaymentCode($paymentChannel, $transaction, $user, $items);
// OR
Winpay::getToolbar($paymentChannel, $transaction, $user, $items);
You must passing $paymentChannel parameter from one of getToolbar() response.
The $transaction parameter you must passing the model that implements MuHasan\LaravelWinpay\BillingTransaction interface and define the getBillTransactionEndAt(), getBillTransactionReff(), and getBillTransactionAmount() functions into it.
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;
}
//...
}
The $user parameter you must passing the model that implements MuHasan\LaravelWinpay\BillingUser interface and define the getgetBillUserName(), getgetBillUserPhone(), and getgetBillUserEmail() functions into it.
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;
}
//...
}
The $items parameter you must passing array of the model that implements MuHasan\LaravelWinpay\BillingItem interface and define the getBillItemName(), getBillItemQty(), getBillItemUnitPrice(), getBillItemSku(), and getBillItemDesc() functions into it.
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;
}
//...
}