如何解决条纹create-checkout-sesson 404
我正在开发Stripe客户端-服务器系统,并且遇到此错误。我认为这是apache重写的错误,但我检查了httpd.conf,并且AllowOverride处于打开状态。
我已经安装了:Composer的条纹,苗条和Dotenv。
非常感谢您的帮助和时间。
Index.html:
<html>
<head>
<title>Buy cool new product</title>
<script src="https://js.stripe.com/v3/"></script>
</head>
<body>
<button id="checkout-button">Checkout</button>
<script type="text/javascript">
// Create an instance of the Stripe object with your publishable API key
var stripe = Stripe('pk_test_XXX');
var checkoutButton = document.getElementById('checkout-button');
checkoutButton.addEventListener('click',function() {
// Create a new Checkout Session using the server-side endpoint you
// created in step 3.
fetch('./create-checkout-session',{
method: 'POST',})
.then(function(response) {
return response.json();
})
.then(function(session) {
return stripe.redirectToCheckout({
sessionId: session.id
});
})
.then(function(result) {
// If `redirectToCheckout` fails due to a browser or network
// error,you should display the localized error message to your
// customer using `error.message`.
if (result.error) {
alert(result.error.message);
}
})
.catch(function(error) {
console.error('Error:',error);
});
});
</script>
</body>
</html>
create-checkout-session.php
<?php
// This example sets up an endpoint using the Slim framework.
// Watch this video to get started: https://youtu.be/sGcNPFX1Ph4.
use Slim\Http\Request;
use Slim\Http\Response;
use Stripe\Stripe;
require 'vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$app = new \Slim\App;
$app->add(function ($request,$response,$next) {
// Set your secret key. Remember to switch to your live secret key in production.
// See your keys here: https://dashboard.stripe.com/account/apikeys
Stripe::setApiKey('sk_test_XXX');
return $next($request,$response);
});
$app->post('/create-checkout-session',function (Request $request,Response $response) {
$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],'line_items' => [[
'price_data' => [
'currency' => 'usd','product_data' => [
'name' => 'T-shirt',],'unit_amount' => 2000,'quantity' => 1,]],'mode' => 'payment','success_url' => 'https://example.com/success','cancel_url' => 'https://example.com/cancel',]);
return $response->withJson([ 'id' => $session->id ])->withStatus(200);
});
$app->run();
访问 create-checkout-session.php 时出现错误:
Page Not Found
The page you are looking for could not be found. Check the address bar to ensure your URL is spelled correctly. If all else fails,you can visit our home page at the link below.
现场演示: https://daixie.online/checkout/test2/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。