amsify42/paypal-masspayment

This is a laravel 5 package for simply executing mass payment of paypal

1.0 2018-11-07 11:59 UTC

This package is not auto-updated.

Last update: 2024-11-01 02:53:23 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Paypal Mass Payment for Laravel 5

This is a laravel 5 package only for PayPal Mass Payment.

Installation:

composer require amsify42/paypal-masspayment

[OR]
Add the PaypalMassPayment package to your composer.json file

{
    "require": {
        "amsify42/paypal-masspayment": "dev-master"
    }
}

Service Provider

In your app config, add the PaypalMassPaymentServiceProvider to the providers array.

'providers' => [
    'Amsify42\PaypalMassPayment\PaypalMassPaymentServiceProvider',
    ];

Facade (optional)

If you want to make use of the facade, add it to the aliases array in your app config.

'aliases' => [
    'PaypalMassPayment'	=> 'Amsify42\PaypalMassPayment\PaypalMassPaymentFacade',
    ];

Publish file

$ php artisan vendor:publish

Now file with name paypalmasspayment.php will be copied in directory Config/ and you can add your settings

For what to use in all the options available in this config file go to Using the Mass Payments API

Add this line at the top of any class to use PaypalMassPayment

use       PaypalMassPayment;

Array of payments looks something like this

For what parameters to use in payment array MassPay API Using NVP MassPay API Using SOAP

$receivers = array(
		  0 => array(
		    'ReceiverEmail' => "something@somewhere.com", 
		    'Amount'        => "0.01",
		    'UniqueId'      => "id_001", 
		    'Note'          => " Test Streammer 1"), 
		  1 => array(
		    'ReceiverEmail' => "something@somewhere.com",
		    'Amount'        => "0.01",
		    'UniqueId'      => "id_002", 
		    'Note'          => " Test Streammer 2"), 
		);
		
$response = PaypalMassPayment::executeMassPay('Some Subject', $receivers);

or you can directly call PaypalMassPayment without adding it at the top

$response = \PaypalMassPayment::executeMassPay('Some Subject', $receivers);

For response codes and errors visit MassPay Error Codes

Passing custom config at run time for particular object context

$config = [
    'authentication'    => 'api_signature',
    'environment'       => 'sandbox',
    'operation_type'    => 'nvp',
    'api_vesion'        => '51.0',
    'receiver_type'     => 'email',
    'currency'          => 'USD',
    'sandbox' => [
		        'api_username'    => 'random-facilitator_api1.gmail.com',
		        'api_password'    => 'FKJHS786JH3454',
		        'api_certificate' => '',
		        'api_signature'   => 'sdfrfsf3rds3435432545df3124dg34tDFG#$sG23rfSD3',
	   ],
    'live' => [
		       'api_username'    => '',
		       'api_password'    => '',
		       'api_certificate' => '',    
		       'api_signature'   => '',
		],
];
$payment    = PaypalMassPayment::setConfig($config);
$response   = $payment->executeMassPay('Some Subject', $receivers);

You can also pass just required keys to custom config

$config = [
    'environment'       => 'live',
    'live' => [
		       'api_username'    => '',
		       'api_password'    => '',
		       'api_certificate' => '',    
		       'api_signature'   => '',
		],
];
$payment    = PaypalMassPayment::setConfig($config);
$response   = $payment->executeMassPay('Some Subject', $receivers);