HTML按钮返回“无法发布/index.php”

时间:2018-11-20 02:19:07

标签: php html curl oauth-2.0 stripe-payments

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

HTML代码

<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>";
  }
?>

0 个答案:

没有答案