【发布时间】:2021-06-10 22:46:27
【问题描述】:
我在 laravel 项目中使用 srmklive/laravel-paypal v.3 包(https://github.com/srmklive/laravel-paypal 没有文档)。 有人可以解释我如何使用它吗?我该如何设置请求?
例如,当我按下支付按钮时,控制器会处理此代码:
public function payment()
{
$provider = new PayPalClient;
// Through facade. No need to import namespaces
$provider = PayPal::setProvider();
$provider->setCurrency('EUR');
$provider->createOrder([
"intent"=> "CAPTURE",
"purchase_units"=> [
"amount"=> [
"currency_code"=> "EUR",
"value"=> "100.00"
]
]
]);
}
但我有这个错误:尝试访问 null 类型值的数组偏移量
相对于这部分代码:
$this->apiUrl = collect([$this->config['api_url'], $this->apiEndPoint])->implode('/');
类 srmklive\paypal\src\Traits\PayPalAPI\Orders.php:21
这个类在我的控制器之外,因为它是一个库类,但是没有文档。
【问题讨论】:
-
你确定它适用于 L8 吗?自述文件提到 Laravel 5.1 到 5.8
-
我认为是的,对于 Laravel 5.1 到 5.8,作曲家需要 srmklive/paypal:~2.0,对于其他版本作曲家需要 srmklive/paypal:~3.0
-
config['api_url'] 为空。类 PayPal.php 具有设置 config['api_url'] 的 setOptions($credentials) 方法。这个受保护的方法永远不会被调用,这是一个错误吗?
-
您应该在问题中添加有关这些错误的信息,而不是评论。我不知道这个 pkugin,但是它看起来像一些配置文件没有填充。这个方法是一个setter,可能被动态调用。顺便说一句,自述文件提到“安装后,您需要添加您的贝宝设置。以下是您将在 config/paypal.php 中找到的代码,您应该相应地更新”您这样做了吗?
-
您好,您找到解决方案了吗?如果是,那么请将其发布为答案。我也在努力在 Laravel 8 上设置贝宝。而且我发现的所有教程都不适用于 laravel 8。如果可能的话,请分享详细的解决方案:)