首页 > 解决方案 > 返回“无法发布 /index.php”的 HTML 按钮

问题描述

我正在尝试激活作为 Stripe Connect 功能的 index.php 文件。但是,当我按下我的 HTML 页面上的按钮来激活该功能时,它会导致Cannot POST /pages/index.php. HTML 和 PHP 文件都在同一个文件夹中。我想要做的是自动化这个:https ://stripe.com/docs/connect/express-accounts#token-request

代码

<form action="input.php" method="post">
  <input type="submit" class="bg-transparent text-grey-darkest font-bold uppercase tracking-wide py-3 px-6 border-2 border-grey-light hover:border-grey rounded-lg" value="Continue">
</form>

PHP代码

    <?php
  define('CLIENT_ID', 'ca_xxxxxxx');
  define('API_KEY', 'sk_xxxxxxx');

  define('TOKEN_URI', 'https://connect.stripe.com/oauth/token');
  define('AUTHORIZE_URI', 'https://connect.stripe.com/oauth/authorize');

  if (isset($_GET['code'])) { // Redirect w/ code
    $code = $_GET['code'];

    $token_request_body = array(
      'client_secret' => API_KEY,
      'grant_type' => 'authorization_code',
      'client_id' => CLIENT_ID,
      'code' => $code,
    );

    $req = curl_init(TOKEN_URI);
    curl_setopt( $ch, CURLOPT_USERAGENT, '' );
    curl_setopt($req, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($req, CURLOPT_POST, true);
    curl_setopt($req, CURLOPT_POSTFIELDS, http_build_query($token_request_body));

    // TODO: Additional error handling
    $respCode = curl_getinfo($req, CURLINFO_HTTP_CODE);
    $resp = json_decode(curl_exec($req), true);
    curl_close($req);

    echo $resp['access_token'];
  } else if (isset($_GET['error'])) { // Error
    echo $_GET['error_description'];
  } else { // Show OAuth link
    $authorize_request_body = array(
      'response_type' => 'code',
      'scope' => 'read_write',
      'client_id' => CLIENT_ID
    );

    $url = AUTHORIZE_URI . '?' . http_build_query($authorize_request_body);
    echo "<a href='$url'>Connect with Stripe</a>";
  }
?>

标签: phphtmlcurloauth-2.0stripe-payments

解决方案


推荐阅读