سلام دوستان روز بخیر
من از درگاه زرین پال برای وبسایت استفاده میکنم
در یکی از وبسایت ها بدرستی کار میکنه بدون هیچ میشکلی ولی در سایت دیگر که از ی هاست دیگه استفاده کردم فقط صفحه سفید رو میاره بدون هیچ خطایی مشکل از کجا میتونه باشه
سواپ کلاینت هم فعال هست
سلام از پکیج زیر استفاده کنید درگاه های مختلف رو پشتیبانی میکنه و میتونید بین درگاه های مختلف بدون کدنویسی جابه جا بشید.
https://packagist.org/packages/shetabit/payment
دقت کنید که در روتر متدی که برای صفحه برگشت تنظیم کردین any باشه تا با صفحه سفید مواجه نشید. به صورت زیر
Route::any('path/to', 'controller@action');
اگه صفحه سفید میاد توی هاستتون ارور رو میزنه برین به اون پوشه که کدهای مربوطه توشه و فایل erorr رو که هاستتون به وجود آورده رو بخونین اونجا حتما حتما اررو رو نوشته.
سلام
من از 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
حسین جان ممنون از پاسخت،
در اون حالت هم باز صفحه سفید نشون میده بدون هیچ خطایی. حتی وقتی dd($payment->pay()->render()) هم میکنم همون اتفاق میوفته و میبینم که html رو نشون میده اما توی صفحه هیچ چیزی نیست. خیلی باهاش سر و کله زدم و هنوز موفق نشدم که از این مرحله جلوتر برم. ایده ای داری که چطور باید رندر بکنمش؟
دوستان دیگه هم اگر لطف کنن کمک بکنن ممنون میشم.
حسین عزیز،
بله apikey نوشتم. و با getAction() هم همچنان صفحه سفید بر میگردونه. dd هم گرفتم و لیتگ در گاه رو برمیگردونه. ممکنه مشکل از تنظیمات html یا شاید دسترسی فولدر ها باشه؟ واقعا چیز دیگه ای به ذهنم نمیرسه.
الان متوجه شدم احتمالا مشکل از روتینگ هستش، زمانی که مستقیم از فایل روتز فراخوانی میکنمش میره به سمت درگاه اما زمانی که توی فایل 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');
});
برای دوستانی که ممکنه در آینده با این مشکل مواجه بشن،
حسین جان لطف کرد و اومد درستش کرد. مشکل این بود که از کنترلر استفاده نکرده بودم.
اگر به این مشکل خوردید اول روت رو به این شکل تعریف بکنید:
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();
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟