Mohammad Mirzavand
4 سال پیش توسط Mohammad Mirzavand مطرح شد
14 پاسخ

خطا در افزونه shetabit

سلام وقت بخیر

من پکیج شتابیت رو نصب کردم لاراول 7 هست. و حتی تنظیمات config/app هم انجام دادم

اما خطای Error
Class 'Shetabit\Payment\Invoice' not found

میگیرم ممنون میشم راهنمایی کنید
@khanzadimahdi


ثبت پرسش جدید
میثم فلاح
تخصص : برنامه نویس
@meysamfallah 4 سال پیش مطرح شد
1

سلام
بالای صفحه کنترلر مورد نیاز use کنید

use Shetabit\Payment\Invoice;

mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 4 سال پیش مطرح شد
0

کدها باید به صورت زیر نوشته بشن

// 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


Mohammad Mirzavand
@m.mirzavand1992 4 سال پیش مطرح شد
0

use Shetabit\Multipay\Invoice; بله دقیقا من از اون فراخوانی تو نمونه کدتون استفاده کرده بودم اینجور حل شد
وصل شد

فقط یه مشکلی موقع برگشت از درگاه خطا Page Expired 419 میگیرم دلیلش چیه؟


Mohammad Mirzavand
@m.mirzavand1992 4 سال پیش آپدیت شد
0

جالب اینجاست لینک برگشت هم درVerifyCsrfToken مستثنی کردم اما از حساب کاربری هم من رو بیرون انداخته

@khanzadimahdi


mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 4 سال پیش مطرح شد
0

خطای 419 به این خاطر هست که برخی درگاه های با متد post به سایت شما برمیگردن و توی لاراول تمامی متد های post باید دارای csrf باشن.

شما باید csrf رو از روی لینک برگشت بردارید (منظور لینک وریفای هست)


mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 4 سال پیش مطرح شد
0

بیرون افتادن از حساب کاربری مرتبط با پکیج نیست. حتما ایراد از جای دیگه ای هست. کدهای خودتون رو بررسی کنید.


Mohammad Mirzavand
@m.mirzavand1992 4 سال پیش مطرح شد
0

میشه راهنمایی کنید از کجا ؟ که بررسی کنم


Mohammad Mirzavand
@m.mirzavand1992 4 سال پیش آپدیت شد
0

دقیقا زمانی که برمیگرده از درگاه از حساب کاربری بیرون انداخته میشه و خطا 419 میده

@khanzadimahdi


Mohammad Mirzavand
@m.mirzavand1992 4 سال پیش مطرح شد
0

token را در لینک ارسالی به بانک ارسال کنیم نظرتون چیه؟


عباس
تخصص : طراح و برنامه نویس
@sabbabbas909 4 سال پیش مطرح شد
0

@khanzadimahdi
چر بعد از اینه که پرداخت انجام مشه اطلاعات تو دیتابیس ذخیره نمیشه

return Payment::purchase(
            (new Invoice)->amount($res),
            function ($driver, $transactionId) {
                DB::table('paymentok')->insert(['id_user'=>Auth::id(),'transactionId'=>$transactionId]);
            }
        )->pay()->toJson();

mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 4 سال پیش مطرح شد
0

@sabbabbas909

کارهای مربوط به دیتابیس رو خودتون باید مدیریت کنید. پکیج برای پرداخت انلاینه.


میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 4 سال پیش آپدیت شد
0

@khanzadimahdi
سلام من از پکیج شما استفاده کردم و عالی بوده مرسی
یه سوال دارم
من مرچنت کد مشتری رو توی فایل کانفیگ گذاشتم و پرداخت انجام میشه
حالا یه بخش دیگه برای شارژ پیامک توی سامانه گذاشتم که مشتری باید پول پرداخت کنه تا تعداد پیام هایی که میتونه بفرسته بیشتر شه!
این پرداخت باید به حساب من بیاد یعنی یک مرچنت کد دیگه!!!
میشه 2 تا مرچنت کد داشت؟؟؟؟ یا وقتی که مشتری برای شارژ پیام هاش میخاد به درگاه وصل شه من یه مرجنت کد دیگه برای درخواستم بفرستم جوری که اونی که توی فایل کانفیگ هست تغییر نکنه؟؟؟؟
راهی هست برای این؟


mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 4 سال پیش مطرح شد
0

@miladparsi1070

از متد config استفاده کنید. با استفاده از این متد میتونید به صورت داینامیک کانفیگ ها رو پاس بدید به درگاه.
داکیومنت های پکیج رو ببینید توضیح داده با نمونه کد.


میلاد هدایت پور
تخصص : در حال پیشرفت
@miladparsi1070 4 سال پیش مطرح شد
1

@khanzadimahdi
خیلی ممنون اره مشکلم با همون متد config حل شد 👍👍


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام