aliromero/laravel-perfectmoney

PHP PerfectMoney integration for Laravel

dev-master 2023-04-04 15:37 UTC

This package is auto-updated.

Last update: 2024-11-04 19:17:29 UTC


README

Latest Version on Packagist Software License Total Downloads

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.