@mgsmus
Hocam, HTTP 500 error hatası oluyor.
aamarpay ile ilgili örnek verecek olursam(BU SİSTEMDE ÇALIŞIYOR AMA ENABLE'Yİ "0" Yaptım(checkout.blade.php içinde) şu an
;
@if($gsetting->aamarpay_enable == 0)
<div class="card">
<div class="card-header" id="headingaamar">
<div class="panel-title">
<label for='aamar'>
<input type='radio' id='aamar' name='occupation' value='Working' required />
<a data-toggle="collapse" data-parent="#accordion" href="#aamar_pay"></a>
<img src="{{ url('images/payment/aamarpay.png') }}" class="img-fluid" alt="aamarpay">
</label>
</div>
</div>
<div id="aamar_pay" class="panel-collapse collapse in">
<div class="card-body">
<div class="payment-proceed-btn">
@php
$user_name = Auth::user()->fname;
$user_email = Auth::user()->email;
$user_mobile = Auth::user()->email;
@endphp
<div class="aamar-pay-btn">
{!!
aamarpay_post_button([
'cus_name' => $user_name, // Customer name
'cus_email' => $user_email, // Customer email
'cus_phone' => $user_mobile // Customer Phone
], $mainpay, 'Proceed', 'btn btn-sm btn-primary')
!!}
</div>
</div>
</div>
</div>
</div>
@endif
`
Şimdi Hocam öncelikle /routes web.php'de,
``` Route::post('payment/success', 'AamarPayController@paymentSuccess')->name('payment.success');
Route::post('payment/failed', 'AamarPayController@paymentFailed')->name('payment.failed');
Route::get('payment/cancel', 'AamarPayController@paymentCancel')->name('payment.cancel');
```
app/Http/Controllers/AamarPayController.php'de de
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Shipu\Aamarpay\Facades\Aamarpay;
use Session;
use Redirect;
use DB;
use Auth;
use App\Cart;
use App\Wishlist;
use App\Order;
use App\Currency;
use Mail;
use App\Mail\SendOrderMail;
use App\User;
use Notification;
use Carbon\Carbon;
use App\Mail\AdminMailOnOrder;
use TwilioMsg;
use App\Setting;
class AamarPayController extends Controller
{
public function paymentSuccess(Request $request)
{
if($request->get('pay_status') == 'Failed') {
\Session::flash('delete', trans('flash.PaymentFailed'));
return redirect('/');
}
if($request->get('pay_status') == 'Successful') {
$txn_id = $request->pg_txnid;
$payment_method = 'AamarPay';
$checkout = new OrderStoreController;
return $checkout->orderstore($txn_id, $payment_method);
} else {
\Session::flash('delete', trans('flash.PaymentFailed'));
return redirect('/');
}
return redirect('/');
}
public function paymentFailed()
{
\Session::flash('delete', trans('flash.PaymentFailed'));
return redirect('/');
}
public function paymentCancel()
{
\Session::flash('delete', 'Payment Canceled');
return redirect('all/cart');
}
}
**Sistemim bu şekildedir. Yukarıdaki Success ve fail fonksiyonları standarttır (\Session...... olarak
Ben checkout.blade'in içine iframe'i direkt attım.Çünkü sadece paytr'yi Kullanacağım. (Oralarda problem yok, Bildirimde de problem yok. onu da paytr mağaza panelinden giriyorum domain.com/bildirim.php
sadece, success ve fail olarak iframe'in içindeki merchant url ok ve fail olarak girmem gerekiyor. Tabi onu da yukarıdaki
**
if($request->get('pay_status') == 'Successful')..........
kısmındaki gibi onaylanması gerekiyor. çünkü iframe sayfasında (checkout.blade) random tokenler oluşturuluyor. ödeme onaylanıyor. en son success.php de http 500 hatası veriyor.
ayrıca diğer ödeme sistemlerinde de yukarıdaki gibi success ve fail aşağıdaki gibidir.;
success'te
....... return $checkout->orderstore($txn_id, $payment_method);
fail'de ise
public function paymentFailed()
{
\Session::flash('delete', trans('flash.PaymentFailed'));
return redirect('/');
}
Saygılarımla