composer require psr/log 1.0.0
composer require paypal/rest-api-sdk-php 1.7.*
composer require sger/laravel-paypal 0.1.0
En config.app:
Sger\Paypal\PaypalServiceProvider::class
...
'Paypal' => Sger\Paypal\Facades\Paypal::class
El siguiente comando creará dos tipos de conexiones: una sandbox y otra real:
php artisan vendor:publish
En routes/web.php:
Route::resource('payments', 'PaymentsController');
En PaymentsController.php:
$payer = new Payer;
$payer->setPaymentMethod("paypal");
$item1 = new Item();
$item1->setName('test')
->setCurrency('EUR')
->setQuantity(1)
->setPrice(10);
$itemList = new ItemList();
$itemList->setItems(array($item1));
$amount = new Amount();
$amount->setCurrency('EUR')
->setTotal(10);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description")
->setInvoiceNumber(uniqid());
$baseUrl = \URL::to('/');
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("$baseUrl/execute-payment?success=true")
->setCancelUrl("$baseUrl/execute-payment?success=false");
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
try {
$payment->create(\Paypal::connection('sandbox'));
} catch (\PPConnectionException $ex) {
return "Exception: " . $ex->getMessage() . PHP_EOL;
exit(1);
}
$approvalUrl = $payment->getApprovalLink();
// redirect user to the $approvalUrl
No hay comentarios:
Publicar un comentario