close مشكلة عدم التحويل الي صفحة البايبال

هذا السؤال غير مجاب عنه برجاء المساعدة في الاجابات





ايرور عند التحويل لصفحة البايبال
PayPalConnectionException in PayPalHttpConnection.php line 154:
Got Http response code 400 when accessing https://api.sandbox.paypal.com/v1/payments/payment.
namespace App\Http\Controllers;

use App\Products;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\PaymentExecution;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
use PayPal\Auth\OAuthTokenCredential;
use PayPal\Rest\ApiContext;

class ProductsController extends Controller
{
    protected $apiContext;

    protected function setContext(){

        $this->apiContext = new ApiContext(
            new OAuthTokenCredential(config('payment.accounts.client_id') , config('payment.accounts.secret'))
        );

        $this->apiContext->setConfig(config('payment.setting'));

    }


    public function index()
    {
        $products = Products::get();
        return view('products' , compact('products'));
    }

    public function pay(Request $request)
    {
        $selectProducts = $request->product;
        $totalPrice = 0;

        $payer = new Payer();
        $payer->setPaymentMethod("paypal");

        $items_List = [];

        if(count($selectProducts) > 0)
        {
            $this->setContext();
            foreach ($selectProducts as $select)
            {
                $selectPro = Products::findOrFail($select);

                if ($selectPro)
                {
                    $item = new Item();
                    $item->setName($selectPro->name)
                        ->setCurrency('USD')
                        ->setQuantity(1)
                        ->setSku($selectPro->id) // Similar to `item_number` in Classic API
                        ->setPrice($selectPro->price);

                    $items_List[] = $item; // push new select item in item list
                    $totalPrice = $totalPrice + $selectPro->price;
                }
            }
        }else{
            return Redirect::back();
        }
        $itemList = new ItemList();
        $itemList->setItems($items_List);

        $details = new Details();
        $details->setShipping(0)
            ->setTax(0)
            ->setSubtotal($totalPrice);

        $amount = new Amount();
        $amount->setCurrency("USD")
            ->setTotal($totalPrice)
            ->setDetails($details);

        $transaction = new Transaction();
        $transaction->setAmount($amount)
            ->setItemList($itemList)
            ->setDescription("Test Payment description")
            ->setInvoiceNumber(uniqid(random_bytes(5)));

        $baseUrl = url('/');
        $redirectUrls = new RedirectUrls();
        $redirectUrls->setReturnUrl($baseUrl."/success/true")
            ->setCancelUrl($baseUrl."/success/false");

        $payment = new Payment();
        $payment->setIntent("sale")
            ->setPayer($payer)
            ->setRedirectUrls($redirectUrls)
            ->setTransactions(array($transaction));
        $request = clone $payment;

        try
        {
            $payment->create($this->apiContext);
        }
        catch (Exception $ex)
        {
            // ResultPrinter::printError("Created Payment Using PayPal. Please visit the URL to Approve.", "Payment", null, $request, $ex);
            exit(1);
        }

        $approvalUrl = $payment->getApprovalLink();
        session(['totalPrice' => $totalPrice]);
        return Redirect::away($approvalUrl);

        // dd($itemList);
        //  return view('products' , compact('products'));
    }


    public function makePayment($status , Request $request)
    {
        if ($status == 'true'){

            if (
                isset($request->paymentId )&& $request->paymentId != '' &&
                isset($request->token )&& $request->token != '' &&
                isset($request->PayerID )&& $request->PayerID != ''
            ){

                $this->setContext();
                $totalPrice = session('totalPrice');
                session()->forget('totalPrice');
                $paymentId = $request->paymentId;
                $payment = Payment::get($paymentId, $this->apiContext);

                $execution = new PaymentExecution();
                $execution->setPayerId($request->PayerID);

                $transaction = new Transaction();
                $amount = new Amount();
                $details = new Details();
                $details->setShipping(0)
                    ->setTax(0)
                    ->setSubtotal($totalPrice);
                $amount->setCurrency('USD');
                $amount->setTotal($totalPrice);
                $amount->setDetails($details);
                $transaction->setAmount($amount);
                $execution->addTransaction($transaction);

                try {
                    $result = $payment->execute($execution, $this->apiContext);
                    try {
                        $payment = Payment::get($paymentId, $this->apiContext);
                    } catch (Exception $ex) {

                        // ResultPrinter::printError("Get Payment", "Payment", null, null, $ex);
                        exit(1);
                    }
                } catch (Exception $ex) {
                    //  ResultPrinter::printError("Executed Payment", "Payment", null, null, $ex);
                    exit(1);
                }

                // ResultPrinter::printResult("Get Payment", "Payment", $payment->getId(), null, $payment);

                dd($payment);
            }
        }

        return Redirect::back();

    }
}


Mohmd Zamli

Mohmd Zamli
2017-01-07 19:48:30

الاجابات (3) من (3)

68 # Mohmd Zamli
07 جانفي 2017 / 08:52

بيانات البايبال صحيحة لانه اشتغل معي مرة وخصم المبلغ وعرض بيانات العملية عن طريق ميثود dd()


67 # Abdel Aziz Hassan
07 جانفي 2017 / 08:00

المشكلة مش في الكود المشكلة ممكن تكون في البينات الخاصة بباي بال في الاتصال بتاعك او حتي في الابلكش اللي انت عملتى
علي باي بال راجع كل الخطوات الاول لانه هو بيبقلك في مشكلة في accessing

Got Http response code 400 when accessing https://api.sandbox.paypal.com/v1/payments/payment.

66 # Mohmd Zamli
07 جانفي 2017 / 07:55

تم التحويل لمرة واحدة وتم خصم المبلغ وبعدها يظهر الايرور بالرغم من عدم تعديل الكود


1

اجابة

15 # استفسار بخصوص الـ recurring payment
قسم : Laravel 5.3 بواسطة : Ahmed Hussien

بعد اذن حضرتك ممكن مجموعة شروحات لطريقة الدفع الشهري او السنوي باستخدام stripe او paypal مع وجود خاصية الاعضاء وهكذا مثل ما هو متبع هنا في موقع 5dmat-..

1

اجابة

52 # مكتبة تدعم الدراج و الدروب فى لارا..
قسم : Laravel 5.3 بواسطة : أحمد مصطفى

is there any package support laravel that handle many pictures to upload (drag-drop) and also i can receive it from request ?

3

اجابة

16 # استخدام ال blade template بدون ال..
قسم : Laravel 5.3 بواسطة : ضياء هشام

هل يمكن ان استخدم ال blade بدون اللارافل اي طريقه

1

اجابة

40 # vue-router
قسم : Laravel 5.3 بواسطة : MOhamed Reda

تطبيق ولو بسيط على تشغيل vue-router على اخر اصدار فى لارافل اخر تحديث لية او لوفية فديو موجود يبقى كويس بس اتمنى من حضرتك يكون على اخر تحديث ل لارافل..

2

اجابة

46 # بحث
قسم : Laravel 5.3 بواسطة : Ahmed Farid

بدور على لينك سلسله دروس حضرتك بتاع شرح الجديد فى laravel 5.3 و هل اقدر اشتغل و اطبقها على كورس العقارات الخاص بك هو و كورس الشات ام يحدث مشكلة

5

اجابة

39 # مشكلة في Middlewareفي ملف ال A..
قسم : Laravel 5.3 بواسطة : ضياء هشام

انا منصب لارافل و شغال بمشروع و وصلت لجزيئية المستخدمين وكلمت كل شئ لكن لا يوجد كلاس ال Authenticate في مجلد ال midellware على عكس كلاس RedirectIfAut..

3

اجابة

44 # مشكلة عدم التحويل الي صفحة البايبال
قسم : Laravel 5.3 بواسطة : Mohmd Zamli

ايرور عند التحويل لصفحة البايبال PayPalConnectionException in PayPalHttpConnection.php line 154: Got Http response code 400 when accessing https://a..

1

اجابة

38 # شرح طريقة عمل التنبيهات على لارافل..
قسم : Laravel 5.3 بواسطة : Mohamed Elkomy

مثلًا لو جاءه طلب معين أو طلبين يعطيه تنبيه أنه في طلبات جديدة أو استفسارات جديدة

1

اجابة

11 # ملف gulp
قسم : Laravel 5.3 بواسطة : MOhamed Reda

cant work in cmd and say 'gulp' is not recognized as an internal or external command,operable program or batch file picture cmd: http://pictub.clu..

1

اجابة

31 # laravel 5.3+vue 2.0
قسم : Laravel 5.3 بواسطة : Mohaned Mohamed

شكرا لمجهودك