当前位置: 首页 > 知识库问答 >
问题:

PayPalLaravel 8集成使用srmklive错误

宋耀
2023-03-14

我想将PayPal集成到我的Laravel网站中,但我遇到了以下错误:

传递给Symfony\Component\HttpFoundation\RedirectResponse::\uu construct()的参数1必须是在C:\xampp\htdocs\Delta\vendor\laravel\framework\src\illighte\Routing\Redirector中调用的字符串类型(给定null)。php在线233

控制器文件

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Srmklive\PayPal\Services\ExpressCheckout;

class PayPalController extends Controller {
    public function __construct() {
        $this->provider = new ExpressCheckout();
    }

    public function payment() {
        $data = [];
        $data['items'] = [
            [
                'name' => 'codechief.org',
                'price' => 100,
                'desc'  => 'Description goes herem',
                'qty' => 1
            ]
        ];

        $data['invoice_id'] = 1;
        $data['invoice_description'] = "Order #{$data['invoice_id']} Invoice";
        $data['return_url'] = route('payment.success');
        $data['cancel_url'] = route('payment.cancel');
        $data['total'] = 100;
        $provider = new ExpressCheckout;
        $response = $provider->setExpressCheckout($data);
        $response = $provider->setExpressCheckout($data, true);
        return redirect()->away($response['paypal_link']);
    }

请给我一个解决方案!

共有1个答案

洪哲彦
2023-03-14

实际上,您的问题是,$响应['paypal\u link']没有返回链接。替换行:

return redirect()->away($response['paypal_link']);

代码如下:

if($response['paypal_link'] == null){
   // custom redirection
   return redirect()->back()->with(['error'=>'paypal link no set'])
}
return redirect()->away($response['paypal_link']);

有关更多信息,请访问laravel paypal

 类似资料:
  • 我已经使用最新的可用版本建立了一个新的Spring Boot Spring Integration Spring Integration Java DSL项目。项目构建正常,但当我运行应用程序时,我得到: 当前使用的依赖项如下: 错误可能是由于jar版本的错误组合吗?我不确定如何调试此错误。

  • 登录后,它生成了一个哈希值,但仍然给出错误“Some problem currened!try tain”。

  • 对于迁移管理,我决定使用Prisma Migrate,而不是节点pg Migrate(PostgreSQL)。我按照此链接中的说明操作,一切正常。然而,主要的挑战是,我的集成测试在尝试在测试数据库(而不是开发数据库)上运行迁移时失败。如何覆盖测试数据库的配置? 在节点pg migrate中,我可以在运行集成测试之前简单地提供配置:

  • 我正在尝试在我的应用程序中集成stripe连接,这里是参考url(https://stripe.com/docs/connect/oauth)。在这里,他们指定在用户创建帐户后发布授权代码 curl-X柱https://connect.stripe.com/oauth/token\-d client_secret=sk_test_bqokikjovbi2hlwgh4olfq2 \-d code=A

  • 我有一个用例,用户将多个csv文件放到远程目录中,然后放置ready.txt来指示文件已准备好使用。当我们的applcation在远程目录中看到ready.txt文件时,它应该开始使用sftp文件入站通道适配器将所有文件复制到本地目录,包括ready.txt。是否有办法确保readt.txt文件是最后一个要复制到本地目录的文件? 因为当文件从远程目录复制到本地目录时,我有另一个文件入站通道适配器在

  • 我使用jest和supertest进行集成测试。在后面的每一节中我关闭了服务器: 但通过运行,我得到以下错误:listen eaddrinuse:address已经在使用:::3200 当我只使用一个something.test.js文件时,一切正常。问题是当我添加一个新的something.test.js时。怎么了? 下面是package.json: