.php uzantılı bir dosya içerisinden controllerdaki metodu çalıştırmak

Merhabalar çok mantıklı bir yaklaşım olamayabilir ama laravelde paytr ödeme sistemi kullanıyorum.Ödeme sistemi ödeme yapıldığında asenkron olarak ulaşabileceği bir sayfaya post dizisi gönderiyor.Bu sayfayı public klasörü içinde Bildirim_Islemleri.php olarak tutuyorum.Benim bu sayfa üzerinden bir controllera ulaşmam ve o controller içerisindeki mail gönderme metodumu çağırmam gerekiyor bunu nasıl yapabilirim acaba?Sayfa asenkron olduğu için ben veya bir kullanıcı urlye girdiğinde zaten çalışmıyor.Paytrnin sistemi tarafından tetikleniyor.Birden fazla resim veya kod atamadığım için sorunun stackoverflow linkini paylaşıyorum.Orda sorunu ya ben net anlatamadım yada oradakiler anlamadılar o yüzden çözemedik.Türk bir arkadaşın çözüm önerisi queue kullanmaktı ama yapılacak işlemler asenkron değil sadece bana veri asenkron şekilde geliyor.Bu da bir çözüm olmadı maalesef.Bu konu hakkında yardımcı olabilecek arkadaşlar olabilirse çok sevinirim.

Stackoverflow sorun linki

Dışarıdan gelecek talepler için de rota açabilirsiniz. Direkt routes/web.php dosyası içinde bir rota tanımlayıp, rotayı bir Controller’ın bir methoduna işaret edebilir ve callback işlemlerini o methoda yazabilirsiniz. Ancak bu talep bir POST olarak geliyorsa web.php içinde tanımladığınızda csrf middleware’ine takılabilir. Bu yüzden dışarıdan gelecek bu callbackler için rota tanımını routes/api.php içine yazabilirsiniz.

Böylece şöyle bir durum doğuyor:

routes/api.php

use App\Http\Controllers\PayTRController;

Route::post('paytrcallback', [PayTRController::class, 'callback']);

app/Http/Controllers/PayTRController.php

// varsayılan bir controller dosyası, içine callback methodu açılacak
public function callback()
{
    // buraya daha önceden Bildirim_Islemleri.php dosyasında bulunan işlemleri taşıyacaksınız
}

Böylece https://uygulamaadresiniz.com/api/paytrcallback adresini callback için iletebileceksiniz.

Buna benzer bir yanıt Stackoverflow’da da verilmiş ama neden eksi puan verdiğinizi anlamadım :slight_smile:

1 Beğeni

Selamlar, Sana yardımcı olurdum ama eksi verirsin diye korkuyorum. Umarım çözememişsindir