سلام وقت بخیر
من پکیج شتابیت رو نصب کردم لاراول 7 هست. و حتی تنظیمات config/app هم انجام دادم
اما خطای Error
Class 'Shetabit\Payment\Invoice' not found
میگیرم ممنون میشم راهنمایی کنید
@khanzadimahdi
کدها باید به صورت زیر نوشته بشن
// At the top of the file.
use Shetabit\Multipay\Invoice;
use Shetabit\Payment\Facade\Payment;
...
// Create new invoice.
$invoice = (new Invoice)->amount(1000);
// Purchase and pay the given invoice.
// You should use return statement to redirect user to the bank page.
return Payment::purchase($invoice, function($driver, $transactionId) {
// Store transactionId in database as we need it to verify payment in the future.
})->pay()->render();
// Do all things together in a single line.
return Payment::purchase(
(new Invoice)->amount(1000),
function($driver, $transactionId) {
// Store transactionId in database.
// We need the transactionId to verify payment in the future.
}
)->pay()->render();
// Retrieve json format of Redirection (in this case you can handle redirection to bank gateway)
return Payment::purchase(
(new Invoice)->amount(1000),
function($driver, $transactionId) {
// Store transactionId in database.
// We need the transactionId to verify payment in the future.
}
)->pay()->toJson();
لینک داکیومنت های پکیج
https://github.com/shetabit/payment
https://github.com/shetabit/payment/blob/master/README-FA.md
use Shetabit\Multipay\Invoice; بله دقیقا من از اون فراخوانی تو نمونه کدتون استفاده کرده بودم اینجور حل شد
وصل شد
فقط یه مشکلی موقع برگشت از درگاه خطا Page Expired 419 میگیرم دلیلش چیه؟
جالب اینجاست لینک برگشت هم درVerifyCsrfToken مستثنی کردم اما از حساب کاربری هم من رو بیرون انداخته
خطای 419 به این خاطر هست که برخی درگاه های با متد post به سایت شما برمیگردن و توی لاراول تمامی متد های post باید دارای csrf باشن.
شما باید csrf رو از روی لینک برگشت بردارید (منظور لینک وریفای هست)
بیرون افتادن از حساب کاربری مرتبط با پکیج نیست. حتما ایراد از جای دیگه ای هست. کدهای خودتون رو بررسی کنید.
دقیقا زمانی که برمیگرده از درگاه از حساب کاربری بیرون انداخته میشه و خطا 419 میده
@khanzadimahdi
چر بعد از اینه که پرداخت انجام مشه اطلاعات تو دیتابیس ذخیره نمیشه
return Payment::purchase(
(new Invoice)->amount($res),
function ($driver, $transactionId) {
DB::table('paymentok')->insert(['id_user'=>Auth::id(),'transactionId'=>$transactionId]);
}
)->pay()->toJson();
کارهای مربوط به دیتابیس رو خودتون باید مدیریت کنید. پکیج برای پرداخت انلاینه.
@khanzadimahdi
سلام من از پکیج شما استفاده کردم و عالی بوده مرسی
یه سوال دارم
من مرچنت کد مشتری رو توی فایل کانفیگ گذاشتم و پرداخت انجام میشه
حالا یه بخش دیگه برای شارژ پیامک توی سامانه گذاشتم که مشتری باید پول پرداخت کنه تا تعداد پیام هایی که میتونه بفرسته بیشتر شه!
این پرداخت باید به حساب من بیاد یعنی یک مرچنت کد دیگه!!!
میشه 2 تا مرچنت کد داشت؟؟؟؟ یا وقتی که مشتری برای شارژ پیام هاش میخاد به درگاه وصل شه من یه مرجنت کد دیگه برای درخواستم بفرستم جوری که اونی که توی فایل کانفیگ هست تغییر نکنه؟؟؟؟
راهی هست برای این؟
از متد config استفاده کنید. با استفاده از این متد میتونید به صورت داینامیک کانفیگ ها رو پاس بدید به درگاه.
داکیومنت های پکیج رو ببینید توضیح داده با نمونه کد.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟