payTR CallBackUrl de üye ıd sini nasıl gönderebiliriz?
aslında siparişin başına veya sonuna üye id sini gnderip ordaki id den substr ile parlaçarız ama
oda 2 3 4 5 haneli id lere gelince biz atıyorum 3 belirleriz aşınca sorun olur.
sonuçta sipariş url sini üyeye tanımlamamız gerekiyor.
ben atıyorum söyle bir yapı bakiye yükleme olsun.
tutar sipno ve üye ıd yi bakiye tablosundan işlemlerini tutup
üyeye işlem geçmişi sunmak
ve o üyeye işlem sonucu başarılı ise yüklemek istediği tutarı hesabına yüklemek istiyorum
fakat bir türlü o sayfaya üye ıd bilgisini gönderemiyorum
herşeyde son php sayfasında takılı kalıyorum nasıl bir yol izlemeliyiz veya
farklı bir yöntemi varmı bunun
// ben bu işlemleri öncesinde sipariş oluşturmadan yapmak istiyorum.
// zaten o yüzden yapamadım bir türlü :))
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
PayTR CallBackUrl için, öncelikle uyeId bilgisini bir query parametresi olarak URL'ye eklemeniz gerekmektedir.
Örneğin:
(https://www.example.com/bakiye-yukleme?siparisNo=12345 &uyeId=98765)
Bu sayfa üzerinden işleminizi gerçekleştirin ve işlem sonucunda, uyeId bilgisini kullanarak bakiye tablosundaki kaydı güncelleyebilir ve üye'ye işlem geçmişi sunabilirsiniz.
Örnek olarak, aşağıdaki adımları takip edebilirsiniz:
1- Öncelikle bakiye yükleme sayfasına erişmek için bir URL oluşturun ve query parametrelerini ekleyin.
Örnek URL: (https://www.example.com/bakiye-yukleme?siparisNo=12345 &uyeId=98765)
2- Bu URL'yi payTR'ye göndererek, işlemi başlatın ve üye'nin ödeme yapmasını sağlayın.
3- PayTR tarafından gönderilen CallBackUrl üzerinden işlem sonucunu kontrol edin.
Örnek Kod:
// CallBackUrl üzerinden gelen parametreleri alın
$siparisNo = $_GET['siparisNo'];
$uyeId = $_GET['uyeId'];
// Bakiye tablosundaki kaydı güncelleyin
$bakiye = Bakiye::find($uyeId);
$bakiye->tutar += $siparisNo;
$bakiye->save();
// Üye'ye işlem geçmişini sunun
$uye = Uye::find($uyeId);
$uye->transactions()->create([
'siparisNo' => $siparisNo,
'tutar' => $bakiye->tutar,
'durum' => 'basarili'
]);
Bu şekilde, uyeId bilgisi sayesinde bakiye yükleme işleminizi gerçekleştirebilirsiniz. inşâAllah yardımı dokunur :)