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

无效的请求:条纹7.0 Laravel 5.7

燕禄
2023-03-14

描述

当尝试使用Laravel API创建条带订阅时,我得到一个错误。

在创建订阅之前,必须通过请求获得令牌,我已经成功创建了此令牌,现在使用API中的“createSubscription()”方法(在我的代码中引用),但这就是发生错误的地方。

代码

public function create()
    {
        $user = Auth::user();
        $plan = 'prod_**********';

    // Do some checks
    if ($user->subscribed('main')){
        return [
            'status' => 'failed',
            'message' => 'You are already subscribed!',
        ];
    }

    // Set the stripe Key
    Stripe::setApiKey(env('STRIPE_SECRET'));

    // Create the stripe token
    try {
        $stripeToken = Token::create([
            'card' => [
                'number' => str_replace(' ', '', Input::get('number')),
                'exp_month' => Input::get('exp_month'),
                'exp_year' => Input::get('exp_year'),
                'cvc' => Input::get('cvc')
            ]
        ]);
    }
    catch (\Stripe\Error\InvalidRequest $e)
    {
        return [
            'status' => 'failed',
            'message' => $e->getMessage(),
        ];
    }

    try{
        // This is the line thats failing
        $user->newSubscription('main', $plan)->create($stripeToken);
    } catch (\Stripe\Error\InvalidRequest $e) {
        dd($e->getMessage());
    }

    return [
        'status' => 'success',
        'message' => 'Subscription was successful!',
    ];
}

错误

完全错误是:

无效的请求。提示:检查请求参数和URL的编码(http://en.wikipedia.org/wiki/percent-encoding)。如需帮助,请发送电子邮件support@stripe.com.

  • 我已经和stripe支持人员谈过了,他们说他们认为错误在我这边,stripe端的一切似乎都很好

共有1个答案

马野
2023-03-14

奇怪的是我是如何解决这个问题的。似乎传递整个条纹令牌不起作用,相反,我只需要传递令牌ID。

简单地改变

$user->newSubscription('main', $plan)->create($stripeToken);

对这个

$user->newSubscription('main', $plan)->create($stripeToken->id);

解决了这个错误

无效的请求。提示:检查请求参数和URL的编码(http://en.wikipedia.org/wiki/percent-encoding)。如需帮助,请发送电子邮件support@stripe.com.

我确信这两个文档中都没有说明这就是解决方案?也许我在什么地方忽略了这个。。。但这对我来说已经解决了。

 类似资料:
  • 问题内容: 我正在学习AngularJS,并尝试构建从Wordpress获取数据的前端系统。 在后端,一切似乎都已正确设置,当我使用jQuery ajax请求时,它可以毫无问题地获取数据。 但是,当我尝试使用AngularJS做同样的事情时,它不起作用。我正在尝试使用以下代码复制ajax请求: 如果我将其记录下来,它将输出0。我缺少什么? 谢谢你的帮助。 PS控制器如下所示: 问题答案: 在ang

  • 再一次在布罗斯沃尔,一切都很完美。在PhoneGap应用程序上仅GET request有效

  • 我刚刚开始使用Postman测试我正在集成到的API。 我有以下错误不断出现 无效的CORS请求 注意以下几点: API使用承载令牌身份验证(OAuth2)。我有这个工作没有问题 到目前为止,我发现: 使用邮递员与Http POST请求-我没有得到粗体的部分 以防其他人遇到同样的问题,以下是解决方法。在chrome浏览器中https://www.getpostman.com/docs/captur

  • 我试图通过PHP实现AAA Cooper的SOAP API。当我将XML请求发送到http://wsportal.aaacooper.com:8188/wsportal20/wsGenEst,它通过邮递员,工作正常,但使用CURL时,它不会返回任何内容 我使用直接url(来自wsdl文件),因为他们的wsdl文件似乎已损坏,并且无法使用:http://wsportal.aaacooper.com:

  • 概述 我将使用API网关作为基于Spring Security性的身份验证。我刚刚按照https://spring.io/guides/tutorials/spring-security-and-angular-js/链接中的步骤创建了一个基于其对应的github项目的“对双”模块的项目https://github.com/spring-guides/tut-spring-security-and