aliromero / laravel-perfectmoney
PHP PerfectMoney integration for Laravel
dev-master
2023-04-04 15:37 UTC
Requires
- php: >=8.0
- illuminate/support: ^6|^7|^8|^9|^10
- nesbot/carbon: ^1.0|^2.0
Requires (Dev)
- orchestra/testbench: ^3.5.11|^4.0|^5.0
- phpunit/phpunit: ^6.0|^7.0|^8.5|^9.0|^10.0
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-11-04 19:17:29 UTC
README
Install
Via Composer
$ composer require aliromero/laravel-perfectmoney
##Configuration
Publish Configuration file
php artisan vendor:publish --provider="Romero\PerfectMoney\ServiceProvider" --tag="perfectmoney-config"
Edit .env
Add these lines at .env file, follow config/perfectmoney.php for configuration descriptions.
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.
1.Publish view
php artisan vendor:publish --provider="Romero\PerfectMoney\ServiceProvider" --tag="perfectmoney-view"
2.Edit your view at /resources/views/vendor/perfectmoney/perfectmoney.php
Usage
###Render Shopping Cart Form
PerfectMoney::render();
Sometimes you will need to customize the payment form. Just pass the parameters to render method .
PerfectMoney::render(['PAYMENT_UNITS' => 'EUR'], 'custom_view');
API MODULES
Get Balance
$pm = new PerfectMoney; $balance = $pm->getBalance(); if($balance['status'] == 'success') { return $balance['USD']; }
Send Money
// 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']; }
Security
If you discover any security related issues, please email adisa.fawaz@gmail.com instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.