【问题标题】:PHP Variable of Stripe API [closed]Stripe API 的 PHP 变量
【发布时间】:2021-03-13 20:00:10
【问题描述】:

我需要有关 PHP 和 Stripe API 的帮助。

        $stripe->accountLinks->create([
            'account' => 'acct_1HtKYcRm0s9vfiNs',
            'refresh_url' => 'https://example.com/reauth',
            'return_url' => 'https://example.com/return',
            'type' => 'account_onboarding',
        ]);

这给了我这样的答案:

{
  "object": "account_link",
  "created": 1606772720,
  "expires_at": 1606773020,
  "url": "https://connect.stripe.com/setup/s/QaVzgu7GNGFP"
}

我需要帮助来了解如何在 PHP 中的变量中显示“url”。

我尝试过这样做,但它不起作用:

        $link = $stripe->accountLinks->create([
            'account' => 'acct_1HtKYcRm0s9vfiNs',
            'refresh_url' => 'https://example.com/reauth',
            'return_url' => 'https://example.com/return',
            'type' => 'account_onboarding',
        ]);
        $data = json_decode($link);
        $links = $data->url;

如果有人知道我能做什么,那将对我有很大帮助。谢谢:)

编辑: var_dump 返回:

object(Stripe\AccountLink)#127 (4) { ["object"]=> string(12) "account_link" ["created"]=> int(1606856512) ["expires_at"]=> int(1606856812) ["url"]=> string(47) "https://connect.stripe.com/setup/c/vD45DxCl0hZQ" }

但我只需要 url 字符串

【问题讨论】:

  • 执行var_dump($data); 并将该输出添加到您的问题中。如果 JSON 响应看起来与您发布的完全一样,那么您的代码看起来是正确的。另外,您在哪里以及如何确定$links 不包含您所期望的?在检查之前,您是否对该变量进行了处理?
  • “不起作用”太模糊了。你有错误吗?我赞同 Magnus 的评论,即发布的 JSON 可以很好地解码。如果该响应还有更多内容,请添加整个字符串。
  • @MagnusEriksson 如果我让 $data = var_dump($link);我得到了 json,但我需要在 PHP 变量中获取“url”
  • 您发布的代码应该适用于您发布的 JSON。你能分享转储而不遗漏任何内容吗?
  • 我敢打赌,$links = $data->url; 确实会为您提供 URL,但是您要么在发布代码后对该变量做一些时髦的事情,要么尝试以某种奇怪的方式输出它。但在我们也能看到该代码之前,谁知道呢。

标签: php api stripe-payments


【解决方案1】:

您不需要json_decode 生成的帐户链接对象。您需要做的就是访问 Stripe 返回的对象的 URL 属性。例如:

$link = $stripe->accountLinks->create([
    'account' => 'acct_1HtKYcRm0s9vfiNs',
    'refresh_url' => 'https://example.com/reauth',
    'return_url' => 'https://example.com/return',
    'type' => 'account_onboarding',
]);

$url = $link->url;

echo $url;

您可以在模板中使用$url 变量或执行任何其他服务器端逻辑。返回的账号链接对象的结构可以参考这里:

https://stripe.com/docs/api/account_links/object

【讨论】:

    【解决方案2】:

    我已经这样做了:

                            $link = $stripe->accountLinks->create(
                              [
                                'account' => 'acct_1HtKYcRm0s9vfiNs',
                                'refresh_url' => 'https://example.com/reauth',
                                'return_url' => 'https://example.com/return',
                                'type' => 'account_onboarding',
                              ]
                            );
    
                            $var_url = var_export($link->url, true);
                            $good_url = str_replace("'", "", $var_url);
    

    现在,当我回显“good_url”时,我成功获得了完整的 url。

    非常感谢大家,真的,你们帮了我很多。

    【讨论】:

      猜你喜欢
      • 2016-10-27
      • 1970-01-01
      • 2021-02-06
      • 2023-03-12
      • 2018-02-09
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      • 2013-03-21
      相关资源
      最近更新 更多