{"id":28409,"date":"2021-05-22T17:14:00","date_gmt":"2021-05-22T14:14:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28409"},"modified":"2025-02-12T05:47:16","modified_gmt":"2025-02-12T02:47:16","slug":"integracija-shljuzovogo-platizhnogo-shljuzu-v-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/uk\/integracija-shljuzovogo-platizhnogo-shljuzu-v-laravel\/","title":{"rendered":"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f \u0448\u043b\u044e\u0437\u043e\u0432\u043e\u0433\u043e \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u043e\u0433\u043e \u0448\u043b\u044e\u0437\u0443 \u0432 Laravel"},"content":{"rendered":"<p>\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0406\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d \u0430\u0431\u043e \u044f\u043a\u0430\u0441\u044c \u043f\u043b\u0430\u0442\u043d\u0430 \u043f\u043e\u0441\u043b\u0443\u0433\u0430, \u0442\u043e, \u043c\u043e\u0436\u043b\u0438\u0432\u043e, \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u043f\u0440\u0438\u0439\u043c\u0430\u0442\u0438 \u043f\u043b\u0430\u0442\u0435\u0436\u0456 \u0437\u0430 \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u043e\u044e \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u043e\u0457 \u043a\u0430\u0440\u0442\u043a\u0438 \u0443 \u0441\u0432\u043e\u0457\u0439 \u0437\u0430\u044f\u0432\u0446\u0456. <a href=\"https:\/\/stripe.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Stripe<\/a> &#8211; \u043e\u0434\u0438\u043d \u0437 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0438\u0445 \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u0438\u0445 \u0448\u043b\u044e\u0437\u0456\u0432, \u0449\u043e \u043f\u0440\u0438\u0439\u043c\u0430\u0454 \u043f\u043b\u0430\u0442\u0435\u0436\u0456 \u0437\u0430 \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u043e\u044e \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u0438\u0445 \u0430\u0431\u043e \u0434\u0435\u0431\u0435\u0442\u043e\u0432\u0438\u0445 \u043a\u0430\u0440\u0442\u043e\u043a \u0447\u0435\u0440\u0435\u0437 \u0406\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u041a\u0440\u0456\u043c \u0442\u043e\u0433\u043e, \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0435\u0432\u0456 \u043d\u0435 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0437\u0430\u043b\u0438\u0448\u0430\u0442\u0438 \u0432\u0430\u0448 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442, \u0449\u043e\u0431 \u0437\u0434\u0456\u0439\u0441\u043d\u0438\u0442\u0438 \u043e\u043f\u043b\u0430\u0442\u0443 \u043a\u0430\u0440\u0442\u043a\u043e\u044e. \u0423 \u0446\u0456\u0439 \u0441\u0442\u0430\u0442\u0442\u0456 \u043c\u0438 \u0432\u0438\u0432\u0447\u0430\u0454\u043c\u043e \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044e \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u0438\u0445 \u0448\u043b\u044e\u0437\u0456\u0432 Stripe \u0443 Laravel.<\/p>\n<p>\u0414\u043b\u044f \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457 \u0448\u043b\u044e\u0437\u0443 Stripe \u0432 Laravel \u043c\u0438 \u0431\u0443\u0434\u0435\u043c\u043e \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0456\u0431\u043b\u0456\u043e\u0442\u0435\u043a\u0443 <a href=\"https:\/\/github.com\/thephpleague\/omnipay\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Omnipay,<\/a> \u044f\u043a\u0430 \u0454 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u044e \u0441\u0435\u0440\u0435\u0434 \u0440\u043e\u0437\u0440\u043e\u0431\u043d\u0438\u043a\u0456\u0432. \u0422\u043e\u0436 \u0431\u0435\u0437 \u0431\u0443\u0434\u044c-\u044f\u043a\u0438\u0445 \u043f\u043e\u0434\u0430\u043b\u044c\u0448\u0438\u0445 \u0437\u0430\u0442\u0440\u0438\u043c\u043e\u043a \u043f\u043e\u0447\u043d\u0435\u043c\u043e \u0437 \u043d\u0430\u0448\u043e\u0457 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457.<\/p>\n<h3>\u041e\u0442\u0440\u0438\u043c\u0430\u0439\u0442\u0435 \u043a\u043b\u044e\u0447\u0456 API \u0434\u043b\u044f \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457 \u0441\u043c\u0443\u0436\u043e\u043a<\/h3>\n<p>\u0421\u043f\u043e\u0447\u0430\u0442\u043a\u0443 \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0441\u0442\u0432\u043e\u0440\u0438\u0442\u0438 <a href=\"https:\/\/dashboard.stripe.com\/login\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u043e\u0431\u043b\u0456\u043a\u043e\u0432\u0438\u0439 \u0437\u0430\u043f\u0438\u0441 Stripe,<\/a> \u044f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0439\u043e\u0433\u043e \u0449\u0435 \u043d\u0435\u043c\u0430\u0454. \u0414\u043b\u044f \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457 \u0448\u043b\u044e\u0437\u0443 Stripe \u0441\u043f\u043e\u0447\u0430\u0442\u043a\u0443 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0432\u0437\u044f\u0442\u0438 \u0441\u0432\u0456\u0439 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u0438\u0439 \u043a\u043b\u044e\u0447, \u044f\u043a\u0438\u0439 \u043c\u043e\u0436\u043d\u0430 \u043e\u043f\u0443\u0431\u043b\u0456\u043a\u0443\u0432\u0430\u0442\u0438. \u0412\u0438 \u043e\u0442\u0440\u0438\u043c\u0430\u0454\u0442\u0435 \u0446\u0456 \u043a\u043b\u044e\u0447\u0456 \u043d\u0430 \u0441\u0442\u043e\u0440\u0456\u043d\u0446\u0456 <strong>\u0420\u043e\u0437\u0440\u043e\u0431\u043d\u0438\u043a\u0438-&gt; \u041a\u043b\u044e\u0447\u0456 API<\/strong>.<\/p>\n<p>\u0417\u0430\u0432\u0436\u0434\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0454\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u044f\u0442\u0438 \u043e\u043d\u043b\u0430\u0439\u043d-\u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0456\u0457 \u0441\u043f\u043e\u0447\u0430\u0442\u043a\u0443 \u0437\u0430 \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u043e\u044e \u043a\u043b\u0430\u0432\u0456\u0448 \u043f\u0456\u0441\u043e\u0447\u043d\u0438\u0446\u0456, \u0456 \u044f\u043a\u0449\u043e \u0432\u0441\u0435 \u043f\u0440\u0430\u0446\u044e\u0454 \u0434\u043e\u0431\u0440\u0435, \u043f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0437\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0438\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438.<\/p>\n<h3>\u0411\u0430\u0437\u043e\u0432\u0435 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0432 Laravel \u0434\u043b\u044f \u0441\u043c\u0443\u0433\u043e\u0432\u043e\u0457 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457<\/h3>\n<p>\u041f\u0435\u0440\u0448 \u043d\u0456\u0436 \u043f\u0440\u0438\u0439\u043c\u0430\u0442\u0438 \u043e\u043d\u043b\u0430\u0439\u043d-\u043f\u043b\u0430\u0442\u0435\u0436\u0456 \u0437\u0430 \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u043e\u044e Stripe, \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0432\u0438\u043a\u043e\u043d\u0430\u0442\u0438 \u0431\u0430\u0437\u043e\u0432\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443. \u041f\u0456\u0434 \u0447\u0430\u0441 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457 API \u043d\u0430\u043c \u0437\u043d\u0430\u0434\u043e\u0431\u043b\u044f\u0442\u044c\u0441\u044f \u0441\u043c\u0443\u0433\u0430\u0441\u0442\u0456 \u043a\u043b\u044e\u0447\u0456, \u0442\u043e\u043c\u0443 \u0434\u043e\u0434\u0430\u0439\u0442\u0435 \u0446\u0456 \u043a\u043b\u044e\u0447\u0456 \u0443 <code>.env<\/code>\u0444\u0430\u0439\u043b.<\/p>\n<pre><code>STRIPE_PUBLISHABLE_KEY=PASTE_PUBLISHABLE_KEY\nSTRIPE_SECRET_KEY=PASTE_SECRET_KEY\nSTRIPE_CURRENCY=USD<\/code><\/pre>\n<p>\u041a\u043e\u0436\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0443, \u043a\u043e\u043b\u0438 \u043c\u0438 \u0434\u043e\u0434\u0430\u0454\u043c\u043e \u043d\u043e\u0432\u0456 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0438 \u0443 \u0444\u0430\u0439\u043b \u0441\u0435\u0440\u0435\u0434\u043e\u0432\u0438\u0449\u0430, \u043c\u0438 \u043f\u043e\u0432\u0438\u043d\u043d\u0456 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u0438 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0443 \u043d\u0438\u0436\u0447\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443, \u0449\u043e\u0431 \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043a\u0435\u0448 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0457.<\/p>\n<pre><code>php artisan config:cache<\/code><\/pre>\n<p>\u0429\u043e \u0441\u0442\u043e\u0441\u0443\u0454\u0442\u044c\u0441\u044f \u043e\u043d\u043b\u0430\u0439\u043d-\u043f\u043b\u0430\u0442\u0435\u0436\u0456\u0432, \u0441\u043b\u0456\u0434 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0434\u0435\u0442\u0430\u043b\u0456 \u0442\u0440\u0430\u043d\u0441\u0430\u043a\u0446\u0456\u0457 \u0432 \u0431\u0430\u0437\u0456 \u0434\u0430\u043d\u0438\u0445. \u0414\u043b\u044f \u0446\u044c\u043e\u0433\u043e \u0441\u0442\u0432\u043e\u0440\u0456\u0442\u044c \u043c\u0456\u0433\u0440\u0430\u0446\u0456\u044e \u0437\u0430 \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u043e\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0438:<\/p>\n<pre><code>php artisan make:migration create_payments_table<\/code><\/pre>\n<p>\u0423 \u0444\u0430\u0439\u043b\u0456 \u043c\u0456\u0433\u0440\u0430\u0446\u0456\u0457 \u0432\u0456\u0434\u0440\u0435\u0434\u0430\u0433\u0443\u0439\u0442\u0435 <code>up<\/code>\u043c\u0435\u0442\u043e\u0434 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u043c \u0447\u0438\u043d\u043e\u043c:<\/p>\n<pre><code>public function up()\n{\n\u00a0\u00a0\u00a0\u00a0Schema::create('payments', function (Blueprint $table) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;bigIncrements('id');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('payment_id');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('payer_email');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;float('amount', 10, 2);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('currency');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('payment_status');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;timestamps();\n\u00a0\u00a0\u00a0\u00a0});\n}<\/code><\/pre>\n<p>\u041f\u043e\u0442\u0456\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043d\u0438\u0436\u0447\u0435, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u043d\u0430\u0442\u0438 \u043c\u0456\u0433\u0440\u0430\u0446\u0456\u044e.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>\u041d\u0430\u043c \u0437\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0444\u043e\u0440\u043c\u0430 HTML, \u0434\u0435 \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043c\u043e\u0436\u0435 \u0432\u0432\u0435\u0441\u0442\u0438 \u0434\u0430\u043d\u0456 \u0441\u0432\u043e\u0454\u0457 \u043a\u0430\u0440\u0442\u043a\u0438 \u0442\u0430 \u0456\u043d\u0448\u0443 \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u044e. \u0421\u0442\u0432\u043e\u0440\u0456\u0442\u044c <code>payment.blade.php<\/code>\u0444\u0430\u0439\u043b \u0456 \u0434\u043e\u0434\u0430\u0439\u0442\u0435 \u0432 \u043d\u044c\u043e\u0433\u043e \u043a\u043e\u0434 \u043d\u0438\u0436\u0447\u0435.<\/p>\n<pre><code>&lt;link rel=\"stylesheet\" href=\"{{ asset('\/css\/style.css') }}\" \/&gt;\n&lt;script src=\"https:\/\/js.stripe.com\/v3\/\"&gt;&lt;\/script&gt;\n&lt;form action=\"{{ url('charge') }}\" method=\"post\" id=\"payment-form\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-row\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"text\" name=\"amount\" placeholder=\"Enter Amount\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"email\" name=\"email\" placeholder=\"Enter Email\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"card-element\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Credit or debit card\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div id=\"card-element\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;!-- A Stripe Element will be inserted here. --&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;!-- Used to display form errors. --&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div id=\"card-errors\" role=\"alert\"&gt;&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;button&gt;Submit Payment&lt;\/button&gt;\n\u00a0\u00a0\u00a0\u00a0{{ csrf_field() }}\n&lt;\/form&gt;\n&lt;script&gt;\nvar publishable_key = '{{ env('STRIPE_PUBLISHABLE_KEY') }}';\n&lt;\/script&gt;\n&lt;script src=\"{{ asset('\/js\/card.js') }}\"&gt;&lt;\/script&gt;<\/code><\/pre>\n<p>\u0423 \u0444\u0430\u0439\u043b \u043b\u0435\u0437\u0430 \u043c\u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0431\u0435\u0437\u043f\u043e\u0441\u0435\u0440\u0435\u0434\u043d\u044c\u043e \u0444\u0430\u0439\u043b\u0438 CSS \u0442\u0430 JS. \u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0438 \u0439\u043e\u0433\u043e \u0456\u043d\u0448\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u043d\u043e \u0434\u043e \u043f\u043e\u0442\u043e\u043a\u0443 \u0432\u0430\u0448\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0443. \u041d\u0430\u0440\u0435\u0448\u0442\u0456, \u0432\u0438\u0437\u043d\u0430\u0447\u0442\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u043c \u0447\u0438\u043d\u043e\u043c.<\/p>\n<p><strong>routes \/ web.php<\/strong><\/p>\n<pre><code>Route::get('\/payment', 'PaymentController@index');\nRoute::post('\/charge', 'PaymentController@charge');<\/code><\/pre>\n<p><code>PaymentController<\/code>\u041d\u0430 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u0445 \u043a\u0440\u043e\u043a\u0430\u0445 \u043c\u0438 \u0441\u0442\u0432\u043e\u0440\u0438\u043c\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u0440 .<\/p>\n<h3>\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0456\u0432 \u043a\u0430\u0440\u0442\u043a\u0438 \u0432 \u0441\u043c\u0443\u0436\u043a\u0443<\/h3>\n<p>Stripe \u043f\u0440\u043e\u043f\u043e\u043d\u0443\u0454 \u0432\u043b\u0430\u0441\u043d\u0456 \u043f\u043e\u043f\u0435\u0440\u0435\u0434\u043d\u044c\u043e \u0432\u0431\u0443\u0434\u043e\u0432\u0430\u043d\u0456 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438 \u0456\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443, \u044f\u043a\u0456 \u043d\u0430\u0434\u0456\u0439\u043d\u043e \u0437\u0431\u0438\u0440\u0430\u044e\u0442\u044c \u0434\u0430\u043d\u0456 \u043a\u0430\u0440\u0442\u043a\u0438 \u043a\u043b\u0456\u0454\u043d\u0442\u0430 \u0431\u0435\u0437 \u043e\u0431\u0440\u043e\u0431\u043a\u0438 \u043a\u043e\u043d\u0444\u0456\u0434\u0435\u043d\u0446\u0456\u0439\u043d\u0438\u0445 \u0434\u0430\u043d\u0438\u0445. \u0414\u0430\u043d\u0456 \u043a\u0430\u0440\u0442\u043a\u0438 \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u044e\u044e\u0442\u044c\u0441\u044f \u0443 &quot;Token&quot;, \u044f\u043a\u0438\u0439 \u043f\u043e\u0442\u0456\u043c \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0432\u0456\u0434\u043f\u0440\u0430\u0432\u0438\u0442\u0438 \u043d\u0430 \u0432\u0430\u0448\u0456 \u0441\u0435\u0440\u0432\u0435\u0440\u0438. \u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u044e\u0447\u0438 \u0446\u0435\u0439 &quot;\u0442\u043e\u043a\u0435\u043d&quot;, \u0432\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0442\u044f\u0433\u0443\u0432\u0430\u0442\u0438 \u043f\u043b\u0430\u0442\u0443 \u0437 \u043a\u043b\u0456\u0454\u043d\u0442\u0456\u0432. \u0426\u0435 \u0431\u0435\u0437\u043f\u0435\u0447\u043d\u0438\u0439 \u0441\u043f\u043e\u0441\u0456\u0431, \u043e\u0441\u043a\u0456\u043b\u044c\u043a\u0438 \u0432\u0430\u0448\u0456\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0456 \u043d\u0435 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0434\u0430\u043d\u0456 \u0432\u0437\u0430\u0454\u043c\u043e\u0434\u0456\u0457 \u0437 \u043a\u0430\u0440\u0442\u043a\u043e\u044e \u043a\u043b\u0456\u0454\u043d\u0442\u0430 \u0442\u0430 \u0432\u0437\u0430\u0454\u043c\u043e\u0434\u0456\u044f\u0442\u0438 \u0437 \u043d\u0438\u043c\u0438.<\/p>\n<p>\u041c\u043e\u0436\u043b\u0438\u0432\u043e, \u0432\u0438 \u043f\u043e\u043c\u0456\u0442\u0438\u043b\u0438 \u0443 \u0444\u0430\u0439\u043b\u0456 \u043b\u0435\u0437\u0430, \u044f\u043a\u0438\u0439 \u043c\u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0443 <code>card.js<\/code>\u0444\u0430\u0439\u043b. \u0421\u0442\u0432\u043e\u0440\u0456\u0442\u044c \u0446\u0435\u0439 \u0444\u0430\u0439\u043b JS \u0443 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u043e\u043c\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0437\u0456 \u0442\u0430 \u0434\u043e\u0434\u0430\u0439\u0442\u0435 \u0434\u043e \u043d\u044c\u043e\u0433\u043e \u043a\u043e\u0434 \u043d\u0438\u0436\u0447\u0435.<\/p>\n<p><strong>js \/ card.js<\/strong><\/p>\n<pre><code>\/\/ Create a Stripe client.\nvar stripe = Stripe(publishable_key);\n\u00a0\u00a0\n\/\/ Create an instance of Elements.\nvar elements = stripe.elements();\n\u00a0\u00a0\n\/\/ Custom styling can be passed to options when creating an Element.\n\/\/ (Note that this demo uses a wider set of styles than the guide below.)\nvar style = {\n\u00a0\u00a0\u00a0\u00a0base: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0color: '#32325d',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fontSmoothing: 'antialiased',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fontSize: '16px',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'::placeholder': {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0color: '#aab7c4'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0},\n\u00a0\u00a0\u00a0\u00a0invalid: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0color: '#fa755a',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0iconColor: '#fa755a'\n\u00a0\u00a0\u00a0\u00a0}\n};\n\u00a0\u00a0\n\/\/ Create an instance of the card Element.\nvar card = elements.create('card', {style: style});\n\u00a0\u00a0\n\/\/ Add an instance of the card Element into the `card-element` &lt;div&gt;.\ncard.mount('#card-element');\n\u00a0\u00a0\n\/\/ Handle real-time validation errors from the card Element.\ncard.addEventListener('change', function(event) {\n\u00a0\u00a0\u00a0\u00a0var displayError = document.getElementById('card-errors');\n\u00a0\u00a0\u00a0\u00a0if (event.error) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0displayError.textContent = event.error.message;\n\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0displayError.textContent = '';\n\u00a0\u00a0\u00a0\u00a0}\n});\n\u00a0\u00a0\n\/\/ Handle form submission.\nvar form = document.getElementById('payment-form');\nform.addEventListener('submit', function(event) {\n\u00a0\u00a0\u00a0\u00a0event.preventDefault();\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0stripe.createToken(card).then(function(result) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (result.error) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Inform the user if there was an error.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0var errorElement = document.getElementById('card-errors');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0errorElement.textContent = result.error.message;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Send the token to your server.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0stripeTokenHandler(result.token);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0});\n});\n\u00a0\u00a0\n\/\/ Submit the form with the token ID.\nfunction stripeTokenHandler(token) {\n\u00a0\u00a0\u00a0\u00a0\/\/ Insert the token ID into the form so it gets submitted to the server\n\u00a0\u00a0\u00a0\u00a0var form = document.getElementById('payment-form');\n\u00a0\u00a0\u00a0\u00a0var hiddenInput = document.createElement('input');\n\u00a0\u00a0\u00a0\u00a0hiddenInput.setAttribute('type', 'hidden');\n\u00a0\u00a0\u00a0\u00a0hiddenInput.setAttribute('name', 'stripeToken');\n\u00a0\u00a0\u00a0\u00a0hiddenInput.setAttribute('value', token.id);\n\u00a0\u00a0\u00a0\u00a0form.appendChild(hiddenInput);\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Submit the form\n\u00a0\u00a0\u00a0\u00a0form.submit();\n}<\/code><\/pre>\n<p>\u0424\u0430\u0439\u043b \u043b\u0435\u0437\u0430 \u0442\u0430\u043a\u043e\u0436 \u0432\u043a\u043b\u044e\u0447\u0430\u0454 <code>style.css<\/code>\u0444\u0430\u0439\u043b. \u0421\u0442\u0432\u043e\u0440\u0438\u0442\u0438 <code>style.css<\/code>\u0432\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0456 \u0437\u0430\u0433\u0430\u043b\u044c\u043d\u043e\u0457 \u043f\u0430\u043f\u043a\u0438. \u0426\u0435\u0439 CSS \u043c\u0430\u0442\u0438\u043c\u0435 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u043d\u0438\u0436\u0447\u0435 \u043a\u043e\u0434.<\/p>\n<p><strong>css \/ style.css<\/strong><\/p>\n<pre><code>.StripeElement {\n\u00a0\u00a0\u00a0\u00a0box-sizing: border-box;\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0height: 40px;\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0padding: 10px 12px;\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0border: 1px solid transparent;\n\u00a0\u00a0\u00a0\u00a0border-radius: 4px;\n\u00a0\u00a0\u00a0\u00a0background-color: white;\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0box-shadow: 0 1px 3px 0 #e6ebf1;\n\u00a0\u00a0\u00a0\u00a0-webkit-transition: box-shadow 150ms ease;\n\u00a0\u00a0\u00a0\u00a0transition: box-shadow 150ms ease;\n}\n\u00a0\u00a0\n.StripeElement--focus {\n\u00a0\u00a0\u00a0\u00a0box-shadow: 0 1px 3px 0 #cfd7df;\n}\n\u00a0\u00a0\n.StripeElement--invalid {\n\u00a0\u00a0\u00a0\u00a0border-color: #fa755a;\n}\n\u00a0\u00a0\n.StripeElement--webkit-autofill {\n\u00a0\u00a0\u00a0\u00a0background-color: #fefde5 !important;\n}<\/code><\/pre>\n<p>Stripe \u043d\u0430\u0434\u0430\u0454 \u0440\u0456\u0437\u043d\u0456 \u0432\u0438\u0434\u0438 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0456\u0432 \u0456\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u0434\u043b\u044f \u0441\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0444\u043e\u0440\u043c\u0438 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u044f \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u043d\u044f \u0437 \u0434\u0430\u043d\u0438\u043c\u0438 \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u043e\u0457 \u043a\u0430\u0440\u0442\u043a\u0438. \u0414\u043e\u043a\u043b\u0430\u0434\u043d\u0456\u0448\u0435 \u043f\u0440\u043e \u0446\u0435 \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0432 \u0457\u0445\u043d\u0456\u0439 <a href=\"https:\/\/stripe.com\/en-in\/payments\/elements\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0456\u0457<\/a>.<\/p>\n<h3>\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f \u0448\u043b\u044e\u0437\u043e\u0432\u043e\u0433\u043e \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u043e\u0433\u043e \u0448\u043b\u044e\u0437\u0443 \u0432 Laravel<\/h3>\n<p>\u041c\u0438 \u0432\u0441\u0435 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 \u0437 \u043d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u043e\u044e \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0454\u044e. \u0422\u0435\u043f\u0435\u0440 \u043c\u0438 \u043c\u043e\u0436\u0435\u043c\u043e \u043f\u0440\u043e\u0434\u043e\u0432\u0436\u0443\u0432\u0430\u0442\u0438 \u0456\u043d\u0442\u0435\u0433\u0440\u0443\u0432\u0430\u0442\u0438 \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u0438\u0439 \u0448\u043b\u044e\u0437 Stripe \u0432 Laravel. \u0412\u0438\u043a\u043e\u043d\u0430\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043d\u0438\u0436\u0447\u0435, \u0449\u043e\u0431 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0438 \u0431\u0456\u0431\u043b\u0456\u043e\u0442\u0435\u043a\u0443 Omnipay \u0443 \u0441\u0432\u0456\u0439 \u043f\u0440\u043e\u0435\u043a\u0442.<\/p>\n<pre><code>composer require league\/omnipay omnipay\/stripe<\/code><\/pre>\n<p>\u0429\u043e\u0431 \u0432\u0438\u043a\u043b\u0438\u043a\u0430\u0442\u0438 \u0444\u0430\u0439\u043b \u043b\u0435\u0437\u0430 \u0456 \u0437\u0430\u0440\u044f\u0434\u0438\u0442\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0456\u044e, \u0441\u0442\u0432\u043e\u0440\u0456\u0442\u044c <code>PaymentController<\/code>\u043a\u043e\u043c\u0430\u043d\u0434\u0443 artisan:<\/p>\n<pre><code>php artisan make:controller PaymentController<\/code><\/pre>\n<p>\u041e\u0441\u043a\u0456\u043b\u044c\u043a\u0438 \u043c\u0438 \u043f\u043e\u0432\u0438\u043d\u043d\u0456 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0434\u0435\u0442\u0430\u043b\u0456 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0456\u0439 \u0443 \u0431\u0430\u0437\u0456 \u0434\u0430\u043d\u0438\u0445, \u0441\u0442\u0432\u043e\u0440\u0456\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c, <code>Payment<\/code>\u044f\u043a\u0430 \u043f\u043e\u0432&#8217;\u044f\u0437\u0430\u043d\u0430 \u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u044e \u043f\u043b\u0430\u0442\u0435\u0436\u0456\u0432 \u0443 \u0431\u0430\u0437\u0456 \u0434\u0430\u043d\u0438\u0445.<\/p>\n<pre><code>php artisan make:model Payment<\/code><\/pre>\n<p>\u041d\u0430\u0440\u0435\u0448\u0442\u0456, <code>PaymentController.php<\/code>\u043c\u0430\u0442\u0438\u043c\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u0439 \u043a\u043e\u0434, \u044f\u043a\u0438\u0439 \u0441\u0442\u044f\u0433\u0443\u0454 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0456\u044e \u0442\u0430 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0454 \u0434\u0435\u0442\u0430\u043b\u0456 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0456\u0457 \u0443 \u0432\u0430\u0448\u0443 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u0438\u0445.<\/p>\n<p><strong>PaymentController.php<\/strong><\/p>\n<pre><code>&lt;?php\n\u00a0\u00a0\nnamespace AppHttpControllers;\n\u00a0\u00a0\nuse IlluminateHttpRequest;\nuse OmnipayOmnipay;\nuse AppModelsPayment;\n\u00a0\u00a0\nclass PaymentController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0public function index()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return view('payment');\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0public function charge(Request $request)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if ($request-&gt;input('stripeToken')) {\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$gateway = Omnipay::create('Stripe');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$gateway-&gt;setApiKey(env('STRIPE_SECRET_KEY'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$token = $request-&gt;input('stripeToken');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$response = $gateway-&gt;purchase([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'amount' =&gt; $request-&gt;input('amount'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'currency' =&gt; env('STRIPE_CURRENCY'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'token' =&gt; $token,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0])-&gt;send();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if ($response-&gt;isSuccessful()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ payment was successful: insert transaction data into the database\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$arr_payment_data = $response-&gt;getData();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$isPaymentExist = Payment::where('payment_id', $arr_payment_data['id'])-&gt;first();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if(!$isPaymentExist)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$payment = new Payment;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$payment-&gt;payment_id = $arr_payment_data['id'];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$payment-&gt;payer_email = $request-&gt;input('email');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$payment-&gt;amount = $arr_payment_data['amount']\/100;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$payment-&gt;currency = env('STRIPE_CURRENCY');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$payment-&gt;payment_status = $arr_payment_data['status'];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$payment-&gt;save();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return \"Payment is successful. Your payment id is: \". $arr_payment_data['id'];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ payment failed: display message to customer\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return $response-&gt;getMessage();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>\u0414\u043b\u044f \u0440\u0435\u0436\u0438\u043c\u0443 \u043f\u0456\u0441\u043e\u0447\u043d\u0438\u0446\u0456 Stripe \u043d\u0430\u0434\u0430\u0454 <a href=\"https:\/\/stripe.com\/docs\/testing\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u0444\u0456\u043a\u0442\u0438\u0432\u043d\u0456 \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u0456 \u043a\u0430\u0440\u0442\u043a\u0438<\/a> \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0456\u0457.<\/p>\n<p>\u0417\u0430\u043a\u0456\u043d\u0447\u0438\u0432\u0448\u0438 \u0442\u0435\u0441\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0440\u0435\u0436\u0438\u043c\u0443 \u043f\u0456\u0441\u043e\u0447\u043d\u0438\u0446\u0456, \u0437\u0430\u043c\u0456\u043d\u0456\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u0456 \u043a\u043b\u044e\u0447\u0456 API \u043d\u0430 \u0434\u0456\u044e\u0447\u0456, \u0456 \u0432\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430 \u043f\u043e\u0447\u043d\u0435 \u043f\u0440\u0438\u0439\u043c\u0430\u0442\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u0456 \u043f\u043b\u0430\u0442\u0435\u0436\u0456 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e.<\/p>\n<p>\u0426\u0435 \u0432\u043e\u043d\u043e! \u0412\u0438 \u0437\u0430\u043a\u0456\u043d\u0447\u0438\u043b\u0438 \u0437 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0454\u044e \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u043e\u0433\u043e \u0448\u043b\u044e\u0437\u0443 Stripe \u0432 Laravel. \u042f \u0445\u043e\u0442\u0456\u0432 \u0431\u0438 \u043f\u043e\u0447\u0443\u0442\u0438 \u0432\u0430\u0448\u0456 \u0434\u0443\u043c\u043a\u0438 \u0442\u0430 \u043f\u0440\u043e\u043f\u043e\u0437\u0438\u0446\u0456\u0457 \u0443 \u0440\u043e\u0437\u0434\u0456\u043b\u0456 \u043a\u043e\u043c\u0435\u043d\u0442\u0430\u0440\u0456\u0432 \u043d\u0438\u0436\u0447\u0435.<\/p>\n<h4>\u041f\u043e\u0432\u2019\u044f\u0437\u0430\u043d\u0456 \u0441\u0442\u0430\u0442\u0442\u0456<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/uk\/intehratsiia-platizhnoho-shliuzu-paypal-u-laravel\/\" title=\"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u043e\u0433\u043e \u0448\u043b\u044e\u0437\u0443 PayPal \u0443 Laravel\">\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u043e\u0433\u043e \u0448\u043b\u044e\u0437\u0443 PayPal \u0443 Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/uk\/authorize-net-intehratsiia-platizhnykh-shliuziv-u-laravel\/\" title=\"Authorize.Net \u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u0438\u0445 \u0448\u043b\u044e\u0437\u0456\u0432 \u0443 Laravel\">Authorize.Net \u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f \u043f\u043b\u0430\u0442\u0456\u0436\u043d\u0438\u0445 \u0448\u043b\u044e\u0437\u0456\u0432 \u0443 Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/uk\/integracija-paykun-payment-gateway-u-laravel\/\" title=\"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f PayKun Payment Gateway \u0443 Laravel\">\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f PayKun Payment Gateway \u0443 Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0414\u0436\u0435\u0440\u0435\u043b\u043e \u0437\u0430\u043f\u0438\u0441\u0443: artisansweb.net<\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0423 \u0446\u0456\u0439 \u0441\u0442\u0430\u0442\u0442\u0456 \u043c\u0438 \u0432\u0438\u0432\u0447\u0430\u0454\u043c\u043e \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044e Stripe Payment Gateway \u0443 Laravel. \u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u044e\u0447\u0438 \u0448\u043b\u044e\u0437 Stripe, \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043c\u043e\u0436\u0435 \u043f\u0440\u0438\u0439\u043c\u0430\u0442\u0438 \u043f\u043b\u0430\u0442\u0435\u0436\u0456 \u0437\u0430 \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u043e\u044e \u043a\u0440\u0435\u0434\u0438\u0442\u043d\u043e\u0457 \u043a\u0430\u0440\u0442\u043a\u0438 \u043d\u0430<\/p>\n","protected":false},"author":1,"featured_media":20112,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[504],"tags":[851],"class_list":["post-28409","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-uk"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/posts\/28409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/comments?post=28409"}],"version-history":[{"count":1,"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/posts\/28409\/revisions"}],"predecessor-version":[{"id":513102,"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/posts\/28409\/revisions\/513102"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/media\/20112"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/media?parent=28409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/categories?post=28409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/uk\/wp-json\/wp\/v2\/tags?post=28409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}