composer require shaz3e/peach-payment
'providers' => [
Shaz3e\PeachPayment\Providers\PeachPaymentServiceProvider::class,
]
php artisan vendor:publish --tag=peach-payment-config
php artisan update:peach-payment-config
Watch YouTube Video Tutorials with details instructions and customization
use Shaz3e\PeachPayment\Helpers\PeachPayment;
// Use the following code within your controller method
/**
* Update in .env previously and get it from config
*/
$entityId = config('peach-payment.entity_id');
/**
* Dynamic amount should be float
* It can be passed via request
*/
$amount = (float) $request->amount;
/**
* Return URL is optional
* If you want user to redirect to another URL of your approved domain you can use the following
* Do not use / at the beginnig of the $return_url as it will generate URL i.e. config('peach-payment.domain').'/'.$return_url.'/?PeachPaymentOrder='.$order_number
*/
$return_url = 'after-main-domain/route/sub-route/?PeachPaymentOrder=OID123456789'; // Optional
/**
* Create new request for PeachPayment helper
*/
$peachPayment = new PeachPayment();
/**
* Generate token and initiate the request
*/
$checkoutData = $peachPayment->createCheckout($amount);
/**
* Optional
* Get Order Number if you want to update record in database
* suggest me this is just for reconcile purpose
* $checkoutData['order_number'] = OID.time()
*/
$order_number = $checkoutData['order_number'];
/**
* CheckoutId is unique id generated by PeachPayment
* This should be passed to render the form in blade template
*/
$checkoutId = $checkoutData['checkoutId'];
return view('your.view', compact('entityId', 'checkoutId'));
In your.view use the following code.
<div id="payment-form"></div>
<script src="{{ config('peach-payment.' . config('peach-payment.environment') . '.embedded_checkout_url') }}"></script>
<script>
const checkout = Checkout.initiate({
key: "{{ $entityId }}",
checkoutId: "{{ $checkoutId }}",
});
checkout.render("#payment-form");
</script>
When you run php artisan update:peach-payment-config
it will ask you the following.
- What is your PEACHPAYMENT_ENVIRONMENT?
- What is your PEACHPAYMENT_ENTITY_ID?
- What is your PEACHPAYMENT_CLIENT_ID?
- What is your PEACHPAYMENT_CLIENT_SECRET?
- What is your PEACHPAYMENT_MERCHANT_ID?
- What is your PEACHPAYMENT_DOMAIN?
- What is your PEACHPAYMENT_CURRENCY?
After updating env data visit yourwebsite.com/peachpayment
and it will fatch token and initiate the checkout at PeachPayment
Test Credit Cards https://developer.peachpayments.com/docs/reference-test-and-go-live
- If you have any suggestions please let me know : https://github.com/Shaz3e/peach-payment/pulls.
- Please help me improve code https://github.com/Shaz3e/peach-payment/pulls
Peach Payment Embed Checkout with Laravel is licensed under the MIT license. Enjoy!