1. Go to this page and download the library: Download glennraya/xendivel library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
glennraya / xendivel example snippets
'queue_email' => true,
use GlennRaya\Xendivel\Xendivel;
Route::post('/pay-with-card', function (Request $request) {
$payment = Xendivel::payWithCard($request)
->getResponse();
return $payment;
});
'auto_id' => false,
use GlennRaya\Xendivel\Xendivel;
Route::get('/payment', function () {
// card charge id example: 659518586a863f003659b718
$response = Xendivel::getPayment('card-charge-id', 'card')
->getResponse();
return $response;
});
use GlennRaya\Xendivel\Xendivel;
Route::post('/pay-via-ewallet', function (Request $request) {
$response = Xendivel::payWithEwallet($request)
->getResponse();
return $response;
});
'auto_id' => false,
'webhook_url' => '/xendit/webhook', // You can change this to whatever you like.
use App\Events\eWalletEvents;
use App\Listeners\eWalletWebhookListener;
protected $listen = [
// ...
eWalletEvents::class => [
eWalletWebhookListener::class,
],
];
public function handle(eWalletEvents $event)
{
// You can inspect the returned data from the webhoook in your logs file
// storage/logs/laravel.log
logger('Webhook data received: ', $event->webhook_data);
// if($event->webhook_data['data']['status'] === 'SUCCEEDED') {
// $invoice_data = [
// // Invoice data...
// ];
// $email_invoice = new Xendivel();
// $email_invoice->emailInvoiceTo('[email protected]', $invoice_data)
// ->send();
// }
}
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'/xendit/*',
'https://your-domain.com/xendit/*',
];
}
use GlennRaya\Xendivel\Xendivel;
Route::get('/get-ewallet-charge', function (Request $request) {
$response = Xendivel::getPayment('ewc_65cbfb33-a1ea-4c32-a6f3-6f8202de9d6e', 'ewallet')
->getResponse();
return $response;
});
use GlennRaya\Xendivel\Xendivel;
Route::post('/ewallet/void', function(Request $request) {
// Example eWallet charge ID: ewc_e743d499-baa1-49f1-96c0-cc810890739b
$response = Xendivel::void($request->ewallet_charge_id)
->getResponse();
return $response;
});
use GlennRaya\Xendivel\Invoice;
Route::get('/xendivel/invoice/generate', function () {
$invoice_data = [
'invoice_number' => 1000023,
'card_type' => 'VISA',
'masked_card_number' => '400000XXXXXX0002',
'merchant' => [
'name' => 'Xendivel LLC',
'address' => '152 Maple Avenue Greenfield, New Liberty, Arcadia USA 54331',
'phone' => '+63 971-444-1234',
'email' => '[email protected]',
],
'customer' => [
'name' => 'Victoria Marini',
'address' => 'Alex Johnson, 4457 Pine Circle, Rivertown, Westhaven, 98765, Silverland',
'email' => '[email protected]',
'phone' => '+63 909-098-654',
],
'items' => [
['item' => 'iPhone 15 Pro Max', 'price' => 1099, 'quantity' => 5],
['item' => 'MacBook Pro 16" M3 Max', 'price' => 2499, 'quantity' => 3],
['item' => 'Apple Pro Display XDR', 'price' => 5999, 'quantity' => 2],
['item' => 'Pro Stand', 'price' => 999, 'quantity' => 2],
],
'tax_rate' => .12,
'tax_id' => '123-456-789',
'footer_note' => 'Thank you for your recent purchase with us! We are thrilled to have the opportunity to serve you and hope that your new purchase brings you great satisfaction.',
];
return Invoice::make($invoice_data)
->save();
});
use GlennRaya\Xendivel\Invoice;
Route::get('/xendivel/invoice/download', function () {
$invoice_data = [
// Invoice data...
];
return Invoice::make($invoice_data);
->download();
});
use GlennRaya\Xendivel\Invoice;
Route::get('/xendivel/invoice/download', function () {
$invoice_data = [
// Invoice data...
];
return Invoice::make($invoice_data)
->paperSize('A4')
->download();
});
use GlennRaya\Xendivel\Invoice;
Route::get('/xendivel/invoice/download', function () {
$invoice_data = [
// Invoice data...
];
return Invoice::make($invoice_data)
->paperSize('A4')
->orientation('landscape')
->download();
});
use GlennRaya\Xendivel\Invoice;
Route::get('/xendivel/invoice/download', function () {
$invoice_data = [
// Invoice data...
];
return Invoice::make($invoice_data)
->paperSize('A4')
->orientation('landscape')
->fileName('my-awesome-invoice-filename')
->download();
});
use GlennRaya\Xendivel\Xendivel;
Route::post('/checkout-email-invoice', function (Request $request) {
$invoice_data = [
'invoice_number' => 1000023,
'card_type' => 'VISA',
'masked_card_number' => '400000XXXXXX0002',
'merchant' => [
'name' => 'Stark Industries',
'address' => '152 Maple Avenue Greenfield, New Liberty, Arcadia USA 54331',
'phone' => '+63 971-444-1234',
'email' => '[email protected]',
],
'customer' => [
'name' => 'Mr. Glenn Raya',
'address' => 'Alex Johnson, 4457 Pine Circle, Rivertown, Westhaven, 98765, Silverland',
'email' => '[email protected]',
'phone' => '+63 909-098-654',
],
'items' => [
['item' => 'MacBook Pro 16" M3 Max', 'price' => $request->amount, 'quantity' => 1],
],
'tax_rate' => .12,
'tax_id' => '123-456-789',
'footer_note' => 'Thank you for your recent purchase with us! We are thrilled to have the opportunity to serve you and hope that your new purchase brings you great satisfaction.',
];
$payment = Xendivel::payWithCard($request)
->emailInvoiceTo('[email protected]', $invoice_data)
->send()
->getResponse();
return $payment;
});
use GlennRaya\Xendivel\Xendivel;
Route::post('/checkout-email-invoice', function (Request $request) {
$invoice_data = [
// Invoice data...
];
$payment = Xendivel::payWithCard($request)
->emailInvoiceTo('[email protected]', $invoice_data)
->subject('Thank you for your purchase!')
->send()
->getResponse();
});
use GlennRaya\Xendivel\Xendivel;
Route::post('/checkout-email-invoice', function (Request $request) {
$invoice_data = [
// Invoice data...
];
$payment = Xendivel::payWithCard($request)
->emailInvoiceTo('[email protected]', $invoice_data)
->subject('Thank you for your purchase!')
->message('We appreciate your business and look forward to serving you again. We have attached your invoice.')
->send()
->getResponse();
});
use GlennRaya\Xendivel\Xendivel;
public function handle(eWalletEvents $event)
{
// You can inspect the returned data from the webhoook in your logs file
// storage/logs/laravel.log
logger('Webhook data received: ', $event->webhook_data);
// $invoice_data = [
// Invoice data...
// ];
if($event->webhook_data['data']['status'] === 'SUCCEEDED') {
$email_invoice = new Xendivel();
$email_invoice->emailInvoiceTo('[email protected]', $invoice_data)
->send();
}
}
'queue_email' => true,
use GlennRaya\Xendivel\Xendivel;
use Illuminate\Http\Request;
Route::post('/refund', function (Request $request) {
// Example charge id: 6593a0fb82742f0056f779fd
$response = Xendivel::getPayment($request->charge_id, 'card')
->refund(3500)
->getResponse();
return $response;
});
use GlennRaya\Xendivel\Xendivel;
use Illuminate\Http\Request;
Route::post('/refund', function (Request $request) {
// Example charge id: ewc_b5baef87-d7b5-4d5c-803b-b31e80529147
$response = Xendivel::getPayment($request->charge_id, 'ewallet')
+ ->refund(3500)
+ ->getResponse();
return $response;
});
use GlennRaya\Xendivel\Xendivel;
Route::get('/get-ewallet-refund', function () {
$response = Xendivel::getEwalletRefund('ewc_65cbfb33-a1ea-4c32-a6f3-6f5202dx9d6e', 'ewr_a96f9a27-8838-43bf-88f0-c0ade0aeeee3')
->getResponse();
return $response;
});
use GlennRaya\Xendivel\Xendivel;
Route::get('/ewallet-refund-list', function () {
$response = Xendivel::getListOfEwalletRefunds('ewc_65cbfb33-a1ea-4c32-a6f3-9f8201de9d6a')
->getResponse();
return $response;
});
use GlennRaya\Xendivel\Xendivel;
Route::get('/refund', function () {
$response = Xendivel::getPayment('6595d0fg82741f0011f778fd', 'card')
->refund(3500)
->emailRefundConfirmationTo('[email protected]')
->send()
->getResponse();
return $response;
});
use GlennRaya\Xendivel\Xendivel;
Route::get('/refund', function () {
$response = Xendivel::getPayment('6595d0fg82741f0011f778fd', 'card')
->refund(3500)
->emailRefundConfirmationTo('[email protected]')
->subject('Your refund is on the way!')
->message('We have successfully processed your refund! It should reflect on your account within 3 banking days.')
->send()
->getResponse();
return $response;
});