Laravel Perfect Money
![Software License][ico-license]
, (*1)
Install
Via Composer, (*2)
``` bash
$ composer require charlesassets/laravel-perfectmoney, (*3)
Add Provider
``` php
charlesassets\LaravelPerfectMoney\LaravelPerfectMoneyServiceProvider::class,
Add Aliases, (*4)
``` php
'PerfectMoney' => charlesassets\LaravelPerfectMoney\PerfectMoney::class,, (*5)
### Configuration
Publish Configuration file
php artisan vendor:publish --provider="charlesassets\LaravelPerfectMoney\LaravelPerfectMoneyServiceProvider" --tag="config", (*6)
Edit .env
Add these lines at .env file, follow config/perfectmoney.php for configuration descriptions.
``` php
PM_ACCOUNTID=100000
PM_PASSPHRASE=your_pm_password
PM_MARCHANTID=U123456
PM_MARCHANT_NAME="My Company"
PM_UNITS=USD
PM_ALT_PASSPHRASE=your_alt_passphrase
PM_PAYMENT_URL=http://example.com/success
PM_PAYMENT_URL_METHOD=null
PM_NOPAYMENT_URL=http://example.com/fail
PM_NOPAYMENT_URL_METHOD=null
PM_STATUS_URL=null
PM_SUGGESTED_MEMO=null
Customizing views (Optional)
If you want to customize form, follow these steps., (*7)
1.Publish view
php artisan vendor:publish --provider="charlesassets\LaravelPerfectMoney\LaravelPerfectMoneyServiceProvider" --tag="views"
2.Edit your view at /resources/views/vendor/perfectmoney/perfectmoney.php
Usage
``` php
PerfectMoney::render();, (*8)
Sometimes you will need to customize the payment form. Just pass the parameters to render method .
``` php
PerfectMoney::render(['PAYMENT_UNITS' => 'EUR'], 'custom_view');
API MODULES
Get Balance
``` php
$pm = new PerfectMoney;
$balance = $pm->getBalance();, (*9)
if($balance['status'] == 'success')
{
return $balance['USD'];
}, (*10)
### Send Money
``` php
// Required Fields
$amount = 10.00;
$sendTo = 'U1234567';
// Optional Fields
$description = 'Optional Description for send money';
$payment_id = 'Optional_payment_id';
$pm = new PerfectMoney;
// Send Funds with all fields
$sendMoney = $pm->getBalance($amount, $sendTo, $description, $payment_id);
if($sendMoney['status'] == 'success')
{
// Some code here
}
// Send Funds with required fields
$sendMoney = $pm->getBalance($amount, $sendTo);
if($sendMoney['status'] == 'error')
{
// Payment Failed
return $sendMoney['message'];
}
Change log
Please see CHANGELOG for more information what has changed recently., (*11)
Contributing
Please see CONTRIBUTING and CONDUCT for details., (*12)
Security
If you discover any security related issues, please email charlesassets.com@gmail.com instead of using the issue tracker., (*13)
Credits
License
The MIT License (MIT). Please see License File for more information., (*14)