حسین صادقی
5 سال پیش توسط حسین صادقی مطرح شد
17 پاسخ

صفحه سفید هنگام پرداخت در لاراول

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


ثبت پرسش جدید
علی فرمانی
تخصص : فرانت اند
@farmani 5 سال پیش مطرح شد
1

@mr.pangh
نسخه php سرور جدید رو بالا ببرید یا پایین بیارید چک کنید با ورژن های مختلف


حسین صادقی
@Hossein.sadeGHi 5 سال پیش مطرح شد
0

@ali.farmani
چک کردم حل نشد


mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 5 سال پیش آپدیت شد
1

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

https://packagist.org/packages/shetabit/payment

دقت کنید که در روتر متدی که برای صفحه برگشت تنظیم کردین any باشه تا با صفحه سفید مواجه نشید. به صورت زیر

Route::any('path/to', 'controller@action');

ali salimi
@salim 5 سال پیش مطرح شد
1

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


arazsalmasi
@araz2salmasi 5 سال پیش مطرح شد
0

این مشکل رو دقیقا من هم دارم و نمیدونم چطور رفعش کنم
ممنون میشم اگر کسی بتونه کمکمون کنه


احسان
تخصص : مدیر
@khebkhah 3 سال پیش مطرح شد
0

سلام
من از shetabit/payment استفاده میکنم. وقتی به رندر کردن میرسه صفحه سفید نمایش میده و جلوتر نمیره. کسی میدونه چه باید کرد؟

$invoice = new Invoice;
$invoice->amount(1000);

$invoice->detail(['detailName' => 'test']);
$payment = Payment::purchase($invoice, function ($driver, $transactionId) {
    return;
});
return $payment->pay();

@farhadi @mehranmarandi90 @Alimotreb @mhyeganeh @mobinasattari7 @ali.bayat @gomnam @mehdi.mahdavi97 @hesammousavi @websaz @tehraniy


hussein
تخصص : طراحی وب
@husseinhashim1133 3 سال پیش مطرح شد
0

@khebkhah

بعد از pay باید رندر کنی اینجوری

return $payment->pay()->render();

احسان
تخصص : مدیر
@khebkhah 3 سال پیش آپدیت شد
0

حسین جان ممنون از پاسخت،
در اون حالت هم باز صفحه سفید نشون میده بدون هیچ خطایی. حتی وقتی dd($payment->pay()->render()) هم میکنم همون اتفاق میوفته و میبینم که html رو نشون میده اما توی صفحه هیچ چیزی نیست. خیلی باهاش سر و کله زدم و هنوز موفق نشدم که از این مرحله جلوتر برم. ایده ای داری که چطور باید رندر بکنمش؟
دوستان دیگه هم اگر لطف کنن کمک بکنن ممنون میشم.

@mehdi.mahdavi97 @hesammousavi @ali.bayat


hussein
تخصص : طراحی وب
@husseinhashim1133 3 سال پیش آپدیت شد
0

اون return; خط 6 پاک کن وdd نگیر بعد api key نوشتی ؟
@khebkhah

بعد این dd بگیر ببین لینک درگاه میده یانه

$payment->pay()->getAction();

احسان
تخصص : مدیر
@khebkhah 3 سال پیش مطرح شد
0

حسین عزیز،‌
بله apikey نوشتم. و با getAction() هم همچنان صفحه سفید بر میگردونه. dd هم گرفتم و لیتگ در گاه رو برمیگردونه. ممکنه مشکل از تنظیمات html یا شاید دسترسی فولدر ها باشه؟ واقعا چیز دیگه ای به ذهنم نمیرسه.


hussein
تخصص : طراحی وب
@husseinhashim1133 3 سال پیش مطرح شد
0

@khebkhah

Anydesk داری ؟


احسان
تخصص : مدیر
@khebkhah 3 سال پیش آپدیت شد
0

الان متوجه شدم احتمالا مشکل از روتینگ هستش، زمانی که مستقیم از فایل روتز فراخوانی میکنمش میره به سمت درگاه اما زمانی که توی فایل blade قرارش میدم صفحه سفید میده. ایده ای داری از چی میتونه باشه ؟

در این حالت کار میکنه (فایل web.php)

Route::any('/pay', function () {
    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();
});

در این حالت کار نمیکنه :

Route::any('/pay', function () {
    return view('pay');
});

احسان
تخصص : مدیر
@khebkhah 3 سال پیش مطرح شد
0

اره حسین جان.


hussein
تخصص : طراحی وب
@husseinhashim1133 3 سال پیش مطرح شد
0

@khebkhah
خب دوست عزیز شما به کنترلر وصلش نکردی خب معلومه نشنون نمیده
باید روت post کنی وادرس کنترلر بدی بهش


hussein
تخصص : طراحی وب
@husseinhashim1133 3 سال پیش مطرح شد
0

@khebkhah
لطفا کد بهم بدید بیام درستش کنم


hussein
تخصص : طراحی وب
@husseinhashim1133 3 سال پیش مطرح شد
0

به موس وکیبورد نمیتونم تکون بدم چرا ؟
@khebkhah


احسان
تخصص : مدیر
@khebkhah 3 سال پیش مطرح شد
0

برای دوستانی که ممکنه در آینده با این مشکل مواجه بشن،
حسین جان لطف کرد و اومد درستش کرد. مشکل این بود که از کنترلر استفاده نکرده بودم.
اگر به این مشکل خوردید اول روت رو به این شکل تعریف بکنید:

Route::post('/pay', [\App\Http\Controllers\Order::class, 'payment'])->name('payment');

در فایل کنترلر به این صورت عمل بکنید :

use Shetabit\Multipay\Invoice;
use Shetabit\Payment\Facade\Payment;

class Order extends Controller
{

    public function payment()
    {
        $invoice = (new Invoice)->amount(1000);
        return Payment::purchase($invoice, function ($driver, $transactionId) {
            // Store transactionId in database as we need it to verify payment in the future.
        })->pay()->render();
    }
}

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

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