راکت

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

14 پاسخ

سلام وقت بخیر

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

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

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

ثبت پرسش جدید

پاسخ‌ها

14
میثم فلاح
میثم فلاح
@meysamfallah

تخصص: برنامه نویس

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

use Shetabit\Payment\Invoice;
mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

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

// 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
Mohammad Mirzavand
@m.mirzavand1992

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

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

Mohammad Mirzavand
Mohammad Mirzavand
@m.mirzavand1992

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

@khanzadimahdi

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

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

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

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

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

Mohammad Mirzavand
Mohammad Mirzavand
@m.mirzavand1992

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

Mohammad Mirzavand
Mohammad Mirzavand
@m.mirzavand1992

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

@khanzadimahdi

Mohammad Mirzavand
Mohammad Mirzavand
@m.mirzavand1992

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

عباس
عباس
@sabbabbas909

تخصص: طراح و برنامه نویس

@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
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

@sabbabbas909

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

میلاد هدایت پور
میلاد هدایت پور
@miladparsi1070

تخصص: در حال پیشرفت

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

mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

@miladparsi1070

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

میلاد هدایت پور
میلاد هدایت پور
@miladparsi1070

تخصص: در حال پیشرفت

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

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

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