如何获取Stripe Payments唯一标识符以保存在数据库中

时间:2019-06-11 21:39:35

标签: php laravel laravel-5 stripe-payments

我正在建立一个网站,允许用户付款后将一个文件上传到我的网站。如何从Stripe中获取唯一的标识符,令牌,ID,以便将其保存在数据库中?

标识符必须是唯一的;我想将其用作运行if语句的安全措施,以确保用户在允许他们上传之前先付款。

类似的东西:

if ($newfile->stripe_identifier === $stripe_identifier) {
    // Allow the user to upload
}

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以使用Laravel Cashier

我认为这是我们在成功充电后返回的响应/ JSON对象:

The charge object

我将定义一种付款模式,并使其与用户一对一关系:

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.
    }
}

这是基本思想。