A PHP package for working w/ the Paypal API.
Normal install via Composer.
Call the desired method and pass the params as a single array. Be sure to include a $credentials array as the first argument.
$credentials = array(
'username' => '',
'password' => '',
'signature' => '',
'is_sandbox' => true// default is false
);
$response = Travis\Paypal::do_direct_payment($credentials, array(
// ip address'IPADDRESS' => '',
// credit card'CREDITCARDTYPE' => '',
'ACCT' => '',
'EXPDATE' => '',
'CVV2' => '',
// name'FIRSTNAME' => '',
'LASTNAME' => '',
// email'EMAIL' => '',
// address'COUNTRYCODE' => 'US',
'STREET' => '',
'CITY' => '',
'STATE' => '',
'ZIP' => '',
// payment'INVNUM' => '',
'AMT' => 100,
'DESC' => '',
));Read the PayPal API docs for a list of available methods.
You can accept and verify IPN communications. Just setup a route where you'll receive the IPN post data and run the ipn() method.
A Laravel example:
Route::post('ipn', function()
{
// capture input$input = Input::all();
// submit back to paypal$verify = Travis\Paypal::ipn($input);
// For sandbox mode, add an addition argument:// $verify = Travis\Paypal::ipn($input, array('is_sandbox' => true));// if data verifies...if ($verify)
{
// do something w/ data// ...
}
});Note that the IPN communication is always a POST request to your server.