PaymentController:
class PaymentController extends Controller
{
public function paymentProcess()
{
\Stripe\Stripe::setApiKey("sk_test_1M123Dge214GicrsW30adwG12X1");
$token=$_POST['stripetoken'];
$charge=\Stripe\Charge::create([
'amount'=>1000,
'currency'=>'usd',
'description'=>'Example charge',
'source'=>$token,
]);
}
}
index.blade.php:
<div class="content">
<div class="title m-b-md">
Laravel + Stripe
</div>
<div class="links">
<form action="/api/payment" method="POST">
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key='pk_test_zWfsa5k3D21cq1hPA39FmIdMJfkG3Taf74LD'
data-amount="100000"
data-name="My Name"
data-description="Test"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto"
data-currency="USD">
</script>
</form>
</div>
</div>
api.php:
Route::post('/payment','PaymentController@paymentProcess');
它一直给我这个错误Undefined index: stripetoken,在我的stripe测试仪表板上,它仍然是0,没有添加任何钱。任何帮助是非常感激的,谢谢你在前面。
你可以使用Laravel请求来获取POST数据到你的控制器:
use Illuminate\Http\Request;
class PaymentController extends Controller
{
public function paymentProcess(Request $request)
{
\Stripe\Stripe::setApiKey("sk_test_1M123Dge214GicrsW30adwG12X1");
$token = $request->get('stripetoken');
$charge = \Stripe\Charge::create([
'amount' => 1000,
'currency' => 'usd',
'description' => 'Example charge',
'source' => $token,
]);
注意: 你可以使用Laravel请求来获取POST数据到你的Controller: 注
你应该始终验证你的请求,以确保数据在那里。