shetabit / payment

simple laravel payment package , supports multiple drivers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Using $this when not in object context

mohammad79-ch opened this issue · comments

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

Using $this when not in object context

App\vendor\shetabit\multipay\src\Payment.php:206

return Pay::purchase(
    (new Invoice)->amount(1000),  <- اینجا از کار میفته
        function ($driver, $transactionId)  {
            // something
        }
)->pay()->render();

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

سلام. کد کامل خودتون رو قرار بدید اینجا هیچی مشخص نیست

این همه کدی هس که برای اتصال به درگاه پرداخت نوشته شده ، فقط یه سری کد در فانکشن نوشته شد که مربوط به ذخیره سازی ترانزیشن آیدی هس ، وگرنه همه کد همینه که فرستادم

همه کد قطعا همین نیست. مثلا فضای نامی که استفاده میکنید چیه؟
کد رو کامل بزارید. من الان نمیدونم Pay اصلا از کجا اومده. همچین چیزی نداریم توی پکیج

use Shetabit\Multipay\Payment as pay;

چون خودم هم مدل مشابه دارم برای همین از فضای نام استفاده کردم

شما دارید به اشتباه از فضای نام نامناسب استفاده میکنید. داکیومنت های پکیج رو یکبار دیگه مطالعه کنید

آها درسته باید از فساد فراخونی بشه ، حل شد
فقط اینکه یه مشکلی که هس

Shetabit\Multipay\Receipt {#1556 ▼ #referenceId: "70022011102" #driver: "payping" #date: Carbon\Carbon @1638946504 {#1557 ▶} #details: [] }

این تمام دیتاهایی هس که در زمان برگشت از درگاه بهم داده میشه ولی ترانزیشن آیدی رو برنمیگردونه با اینکه برای وریفای کردن به ترانزیشن آیدی نیاز هس

$receipt = Payment::amount(1000)->transactionId($transaction_id)->verify();

ترانزکشن ایدی رو باید خودتون ذخیره کنید توی دیتابیس و موقع برگشت ازش استفاده کنید

بصورت کوئری استرینگ باید به کالبک پاس داده بشه ؟ این روش امنی هس؟