Я хочу добавить пользовательскую страницу ошибки для изображения ниже. Эта страница должна показать ошибку. Как я могу это сделать?
Я использую код, указанный ниже. В этом коде у меня есть часть try и часть catch. Этот код предоставляется 2checkout. Я пытался вернуть вид из улова, но это не сработало. Появляется та же ошибка, что и на рисунке. Что может быть решением этого?
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\TwoCheckoutAccount;
use File;
//use App\Twocheckout\lib\Twocheckout as Twocheckout;
use Twocheckout;
use Twocheckout_Charge;
use App\Price;
use App\Payment;
class PaymentsController extends Controller
{/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index($type, $id)
{
$twoCheckOut = TwoCheckoutAccount::find(1);
$price = Price::where('priceable', '=', $type)->firstOrFail();
return view('payment')->with('twoCheckOut',$twoCheckOut)->with(['type'=>$type, 'id'=>$id, 'price'=>$price->price]);
}
public function process(Request $request)
{
$twoCheckOut = TwoCheckoutAccount::find(1);
File::requireOnce(app_path() . "/Twocheckout/lib/Twocheckout.php");
Twocheckout::verifySSL(false);
Twocheckout::privateKey($twoCheckOut->private_key);
Twocheckout::sellerId($twoCheckOut->sellerid);
if ($twoCheckOut->mode == "sandbox")
Twocheckout::sandbox(true);
$payble_product_type = $request->payble_product_type;
$payble_product_id = $request->payble_product_id;
$price = Price::where('priceable', '=', $payble_product_type)->firstOrFail();try {
$charge = Twocheckout_Charge::auth(array(
"merchantOrderId" => ucfirst($payble_product_type)."#".$payble_product_id,
"token" => $_POST['token'],
"currency" => 'USD',
"total" => $price->price,
"tangible" => "N",
"li_#_name" => $payble_product_type,
"billingAddr" => array(
"name" => $request->purchaser_name,
"addrLine1" => $request->purchaser_addr1,
"addrLine2" => $request->purchaser_addr2,
"city" => $request->purchaser_city,
"state" => $request->purchaser_state,
"zipCode" => $request->purchaser_zipcode,
"country" => $request->purchaser_country,
"email" => $request->purchaser_email,
"phoneNumber" => $request->purchaser_phone
)
));
if ($charge['response']['responseCode'] == 'APPROVED') {
$payment = new Payment;
$payment->paymentable_id = $payble_product_id;
$payment->paymentable_type = "App\\".ucfirst($payble_product_type);
$payment->transactionId_2co = $charge['response']['transactionId'];
$payment->order_num_2co = $charge['response']['orderNumber'];
$payment->responseMsg_2co = $charge['response']['responseMsg'];
$payment->responseCode_2co = $charge['response']['responseCode'];
$payment->total_2co = $charge['response']['total'];
$payment->save();
return view('payment_confirmation')->with('transId', $payment->transactionId_2co);
}
} catch (Twocheckout_Error $e) {print_r($e->getMessage());}
}}
Задача ещё не решена.
Других решений пока нет …