shetabit / payment

simple laravel payment package , supports multiple drivers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

تعریف چند کال بک از یک درگاه

amir-habibi-dev opened this issue · comments

درود بر شما
چطور برای یک درگاه بتونیم روت های کال بک متعدد تعریف کنیم؟
برای مثال برای خرید محصول روت کال بک متفاوت از روت کال بک برای زمانی باشه که کاربر ولت رو شارژ میکنه یا برای پرداخت حق اشتراک به یه کال بک دیگه ای از یک درگاه ردیدایرکت بشه؟
لطفا اگر تجربه ای در این زمینه دارید یا این امکان در پکیج فراهم هست راهنمایی بفرمایید.
با سپاس

اصولا Callback‌ همواره برای یه جا صورت میگیره نه چند روت متفاوت
برای اینکار بهتر هست که یه تابع پرداخت داشته باشین که علاوه بر پارامتر مبلغ پارامتر calback_url رو هم بگیره و بعدش از طریق اون نسبت به ایجاد صورتحساب و پرداخت اقدام کنید.
برای مثال این تابع رو در نظر بگیرید

public function payment_request(Request $request)
    {
        $gateway ='nextpay';
        $amount = 10000;
        $callback = route('calback-api');
        if( $request->has('gateway') && $request->gateway == null)
            $gateway = $request->gateway;
        if( $request->has('amount') && $request->amount == null)
            $amount = $request->amount;
        if( $request->has('callback') && $request->callback == null)
            $callback = $request->callback;

        return Payment::via($gateway)->callbackUrl($callback)->purchase(
            (new Invoice)->amount($amount),
            function($driver, $transactionId) use ($amount) {
                $transaction = new Transaction();
                $transaction->price = $amount;
                $transaction->transaction_id = $transactionId;
                $transaction->description = "افزایش اعتبار به مبلغ " . $amount . " تومان در سایت تست";
                $transaction->save();
            }
        )->pay()->toJson();
    }

commented

@salamzadeh
درود و سپاس از راهنمایی شما
بله به نتیجه مورد نظر رسیدم
پیروز باشید