首页 > 解决方案 > 调用未定义的方法 Srmklive\PayPal\Services\PayPal::setExpressCheckout()

问题描述

大家好,我有一个 laravel 8 项目和会员系统。现在很简单,我想将价格传递给函数并将我的用户发送到贝宝支付价格。我正在使用这个包并遵循这个教程:

https://github.com/srmklive/laravel-paypal
https://www.positronx.io/how-to-integrate-paypal-payment-gateway-in-laravel/
https://www.codecheef.org/article/how-to-integrate-paypal-payment-gateway-in-laravel

当我点击支付路线时,我收到此错误:

Call to undefined method Srmklive\PayPal\Services\PayPal::setExpressCheckout()

我阅读了用于表示结帐使用版本 1 的问题。现在我有一些问题。1-因为我使用的是 laravel 8 可以使用这个包的版本 1 吗?2-不幸的是,我对贝宝知之甚少,据我所知,快速结帐让用户在您的网站上付款。所以如果我将用户重定向到贝宝并回电到我的网站,我很好。那么这样做的功能是什么?如果注意setExpressCheckout()。目前这是我的控制器:

   public function handlePayment()
    {
        $product = [];
        $product['items'] = [
            [
                'name' => 'Nike Joyride 2',
                'price' => 112,
                'desc'  => 'Running shoes for Men',
                'qty' => 2
            ]
        ];

        $product['invoice_id'] = 1;
        $product['invoice_description'] = "Order #{$product['invoice_id']} Bill";
        $product['return_url'] = route('success.payment');
        $product['cancel_url'] = route('cancel.payment');
        $product['total'] = 224;

//        $paypalModule = new PayPal::setProvider;
       $paypalModule = new PayPalClient;

        $res = $paypalModule->c($product);
        $res = $paypalModule->setExpressCheckout($product, true);

        return redirect($res['paypal_link']);
    }

标签: phplaravelpaypalpaypal-sandbox

解决方案


在 composer.json 中使用它

srmklive/paypal: "~1.0"

推荐阅读