我正在建立一个网站,允许用户付款后将一个文件上传到我的网站。如何从Stripe中获取唯一的标识符,令牌,ID,以便将其保存在数据库中?
标识符必须是唯一的;我想将其用作运行if
语句的安全措施,以确保用户在允许他们上传之前先付款。
类似的东西:
if ($newfile->stripe_identifier === $stripe_identifier) {
// Allow the user to upload
}
答案 0 :(得分:0)
在这种情况下,您可以使用Laravel Cashier。
我认为这是我们在成功充电后返回的响应/ JSON对象:
我将定义一种付款模式,并使其与用户一对一关系:
class User
{
public function payment()
{
return $this->hasOne(Payment::class);
}
}
您可以通过以下方式向用户收费:
try {
$response = $user->charge(100);
// Persist the response object for later use.
$user->payment()->create([
'stripe_id' => $response->id,
'status' => $response->status,
]);
} catch (Exception $e) {
//
}
稍后用户实际上传文件的时间:
FilesController
{
public function store()
{
abort_unless(
optional(auth()->user()->payment)->status === 'paid',
402,
"Please pay before uploading a file."
);
// Proceed uploading the file.
}
}
这是基本思想。