有人熟悉條紋sdk嗎?我正在嘗試創建一個客戶,然后對客戶進行收費。創建客戶位可以正常作業,但不會產生費用...有人可以指出我正確的方向嗎.... public function onCharge() {
$stripe = new \Stripe\StripeClient(env('STRIPE_SECRET'));
$user = Auth::getUser();
$course = CourseMeta::where('id', $this->param('id'))->first();
$customer = $stripe->customers->create([
'description' => $user->name,
'email' => $user->email,
'payment_method' => 'pm_card_visa',
]);
$charge = $stripe->charges->create([
'amount' => $course->price,
'currency' => 'usd',
'source' => $customer->token,
'description' => $course->course->name,
'customer' => $customer,
]);
Session::flash('success', 'Payment successful!');
return back();
}
uj5u.com熱心網友回復:
這一行是您的實際代碼還是您編輯過它?
'payment_method' => 'pm_card_visa',
要稍后向卡收費,您需要向客戶添加卡令牌。
這看起來像您正在應用一個不正確的靜態字串,而不是條帶回傳的一次性唯一令牌。
創建客戶后嘗試此操作。
$stripe->customers->createSource(
'cus_KzSew4AQXyTNTG',
['source' => $request->token_from_js]
);
https://stripe.com/docs/api/cards/create
uj5u.com熱心網友回復:
你的代碼對我來說看起來不錯。只是你傳入的支付方式是一種測驗方式,你只是為了方便測驗用的。
而且 Charge 是一個舊的 API,如果你是 Stripe 的新手,你應該看看新的 Payment Intent API。這是我推薦的流程
- 使用姓名和電子郵件創建客戶物件
$customer = $stripe->customers->create([ 'name' => 'John', 'email' => '[email protected]', 'description' => 'My First Test Customer (created for API docs)', ]);
- 使用您剛剛創建的客戶創建一個 Payment Intent 物件
$paymentIntent = $stripe->paymentIntents->create([ 'amount' => 2000, 'currency' => 'usd', 'payment_method_types' => ['card'], 'customer' => $customer->id ]);
回傳
$paymentIntent->client_secret到您的前端網頁,并使用它來呈現付款元素,以便您可以從客戶那里收集付款詳細資訊客戶完成付款詳細資訊后,請致電
stripe.confirmPayment前臺確認付款
有關完整的集成指南,請查看此檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/416432.html
標籤:
上一篇:Laravel:提交后表單沒有更改URL,導致我無法在web.php中進行另一個POST
下一篇:Laravel8-限制連接表
