{"id":27564,"date":"2021-05-18T10:26:00","date_gmt":"2021-05-18T07:26:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27564"},"modified":"2021-10-18T04:11:32","modified_gmt":"2021-10-18T01:11:32","slug":"authorize-net-payment-gateway-integration-no-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/authorize-net-payment-gateway-integration-no-laravel\/","title":{"rendered":"Authorize.Net Payment Gateway Integration no Laravel"},"content":{"rendered":"<p><a href=\"https:\/\/www.authorize.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Authorize.Net<\/a> \u00e9 sem d\u00favida uma das solu\u00e7\u00f5es de pagamento populares e confi\u00e1veis \u200b\u200bna Internet. Se voc\u00ea administra uma loja online e deseja receber pagamentos usando cart\u00f5es de cr\u00e9dito \/ d\u00e9bito, o Authorize.Net \u00e9 a sua escolha. Neste artigo, mostrarei como integrar o gateway de pagamento Authorize.Net em seu aplicativo Laravel.<\/p>\n<p>Para come\u00e7ar, voc\u00ea deve ter uma conta no <a href=\"https:\/\/www.authorize.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Authorize.Net<\/a>. Voc\u00ea deve primeiro testar seus pagamentos no modo sandbox e se tudo funcionar conforme o esperado, v\u00e1 para o modo ao vivo. Para aceitar o pagamento usando Authorize.Net, voc\u00ea precisa obter suas credenciais de API. Entre na sua <a href=\"https:\/\/developer.authorize.net\/hello_world\/sandbox\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">conta de sandbox<\/a> e voc\u00ea pode obter essas chaves de API de <strong>Conta-&gt; Credenciais e chaves de API<\/strong>.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20566-608205b6e3c01.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20566-608205b6e3c01.png\" alt=\"Authorize.Net Payment Gateway Integration no Laravel\" ><\/a><\/p>\n<p>Na pr\u00f3xima p\u00e1gina, voc\u00ea obter\u00e1 seu &#8216;ID de login da API&#8217; e criar\u00e1 uma nova chave de transa\u00e7\u00e3o na se\u00e7\u00e3o &#8216;Criar nova (s) chave (s)&#8217;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20566-608205b73dc1a.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20566-608205b73dc1a.png\" alt=\"Authorize.Net Payment Gateway Integration no Laravel\" ><\/a><\/p>\n<h3>Configura\u00e7\u00e3o b\u00e1sica no Laravel para aceitar pagamento usando Authorize.Net<\/h3>\n<p>Quando seus clientes compram produtos, voc\u00ea deve armazenar seus detalhes de pagamento no banco de dados. Dito isso, vamos criar uma tabela de &#8216;pagamentos&#8217; para armazenar os detalhes da transa\u00e7\u00e3o.<\/p>\n<pre><code>php artisan make:migration create_payments_table<\/code><\/pre>\n<p>No arquivo de migra\u00e7\u00e3o gerado, adicione o c\u00f3digo abaixo ao m\u00e9todo up.<\/p>\n<pre><code>&lt;?php\n...\n...\npublic 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('transaction_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>Em seguida, execute o comando migrate que adicionar\u00e1 esta tabela ao seu banco de dados.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>Para interagir com a tabela de &#8216;pagamentos&#8217; voc\u00ea precisar\u00e1 ter um modelo de &#8216;Pagamento&#8217;. Crie-o usando o comando:<\/p>\n<pre><code>php artisan make:model Payment<\/code><\/pre>\n<p>Voc\u00ea copiou as credenciais da API Authorize.Net. Vamos coloc\u00e1-lo em seu <code>.env<\/code>arquivo da seguinte maneira.<\/p>\n<pre><code>ANET_API_LOGIN_ID=PASTE_HERE_API_LOGIN_ID\nANET_TRANSACTION_KEY=PASTE_HERE_TRANSACTION_KEY<\/code><\/pre>\n<p>Certifique-se de substituir os marcadores pelos valores reais. Depois disso, limpe o cache de configura\u00e7\u00e3o.<\/p>\n<pre><code>php artisan config:clear<\/code><\/pre>\n<p>Durante o processamento do pagamento, no Laravel voc\u00ea deve definir as rotas. Ent\u00e3o, vamos definir rotas para isso.<\/p>\n<p><strong>rotas \/ web.php<\/strong><\/p>\n<pre><code>&lt;?php\n...\n...\nRoute::get('payment', 'PaymentController@index');\nRoute::post('charge', 'PaymentController@charge');<\/code><\/pre>\n<h3>Authorize.Net Payment Gateway Integration no Laravel<\/h3>\n<p>J\u00e1 se foi o tempo em que os desenvolvedores precisavam ler a documenta\u00e7\u00e3o de API dos provedores de gateway de pagamento para integrar seus servi\u00e7os. <a href=\"https:\/\/github.com\/thephpleague\/omnipay\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Omnipay<\/a> \u00e9 uma biblioteca de processamento de pagamentos para PHP e eles fazem todo o trabalho duro para tornar a vida de nossos desenvolvedores mais f\u00e1cil. Eles fornecem suporte para servi\u00e7os de gateway de m\u00faltiplos pagamentos. Tamb\u00e9m vamos usar o Omnipay para a integra\u00e7\u00e3o do Authorize.Net no Laravel. Junto com o Omnipay, tamb\u00e9m usamos sua outra biblioteca para a implementa\u00e7\u00e3o da API Authorize.Net.<\/p>\n<p>Dito isso, instale essas 2 bibliotecas usando o comando Composer:<\/p>\n<pre><code>composer require league\/omnipay:^3 \"academe\/omnipay-authorizenetapi: ~3.0\"<\/code><\/pre>\n<p>Agora, crie um controlador que chamar\u00e1 o arquivo de visualiza\u00e7\u00e3o, processar\u00e1 o pagamento e armazenar\u00e1 os detalhes da transa\u00e7\u00e3o no banco de dados.<\/p>\n<pre><code>php artisan make:controller PaymentController<\/code><\/pre>\n<p>Para este controlador, adicione o c\u00f3digo abaixo, pois ele ir\u00e1 lidar com todas as coisas relacionadas ao pagamento.<\/p>\n<p><strong>PaymentController.php<\/strong><\/p>\n<pre><code>&lt;?php\nnamespace AppHttpControllers;\n\u00a0\u00a0\nuse IlluminateHttpRequest;\nuse OmnipayOmnipay;\nuse AppPayment;\n\u00a0\nclass PaymentController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0public $gateway;\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0public function __construct()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;gateway = Omnipay::create('AuthorizeNetApi_Api');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;gateway-&gt;setAuthName(env('ANET_API_LOGIN_ID'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;gateway-&gt;setTransactionKey(env('ANET_TRANSACTION_KEY'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$this-&gt;gateway-&gt;setTestMode(true); \/\/comment this line when move to 'live'\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\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\n\u00a0\u00a0\u00a0\u00a0public function charge(Request $request)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0try {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$creditCard = new OmnipayCommonCreditCard([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'number' =&gt; $request-&gt;input('cc_number'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'expiryMonth' =&gt; $request-&gt;input('expiry_month'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'expiryYear' =&gt; $request-&gt;input('expiry_year'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'cvv' =&gt; $request-&gt;input('cvv'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Generate a unique merchant site transaction ID.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$transactionId = rand(100000000, 999999999);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$response = $this-&gt;gateway-&gt;authorize([\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; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'transactionId' =&gt; $transactionId,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'card' =&gt; $creditCard,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0])-&gt;send();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if($response-&gt;isSuccessful()) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Captured from the authorization response.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$transactionReference = $response-&gt;getTransactionReference();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$response = $this-&gt;gateway-&gt;capture([\n\u00a0\u00a0\u00a0\u00a0\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\u00a0\u00a0\u00a0\u00a0'currency' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'transactionReference' =&gt; $transactionReference,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0])-&gt;send();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$transaction_id = $response-&gt;getTransactionReference();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$amount = $request-&gt;input('amount');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ Insert transaction data into the database\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$isPaymentExist = Payment::where('transaction_id', $transaction_id)-&gt;first();\n\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;transaction_id = $transaction_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 = $request-&gt;input('amount');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$payment-&gt;currency = 'USD';\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 = 'Captured';\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\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return \"Payment is successful. Your transaction id is: \". $transaction_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\/\/ not successful\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} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return $e-&gt;getMessage();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Este controlador pega o valor, os detalhes do cart\u00e3o do formul\u00e1rio HTML e processa o pagamento. No pagamento bem-sucedido, ele armazena todos os detalhes da transa\u00e7\u00e3o na tabela de &#8216;pagamentos&#8217;.<\/p>\n<p>Por fim, crie uma visualiza\u00e7\u00e3o <code>payment.blade.php<\/code>e ela conter\u00e1 o c\u00f3digo a seguir.<\/p>\n<p><strong>pagamento.blade.php<\/strong><\/p>\n<pre><code>&lt;form action=\"{{ url('charge') }}\" method=\"post\"&gt;\n\u00a0\u00a0\u00a0\u00a0{{ csrf_field() }}\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"email\" name=\"email\" placeholder=\"Enter Email\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"amount\" placeholder=\"Enter Amount\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"cc_number\" placeholder=\"Card Number\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"expiry_month\" placeholder=\"Month\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"expiry_year\" placeholder=\"Year\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"cvv\" placeholder=\"CVV\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Ao enviar este formul\u00e1rio, o controle vai para a <code>charge<\/code>fun\u00e7\u00e3o no <code>PaymentController<\/code>e o controlador faz o restante do processo de pagamento. <a href=\"https:\/\/developer.authorize.net\/hello_world\/testing_guide.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Clique aqui<\/a> para obter n\u00fameros de cart\u00e3o de cr\u00e9dito fict\u00edcios para testar o pagamento sandbox. O usu\u00e1rio tamb\u00e9m pode ver sua transa\u00e7\u00e3o no painel do Authorize.Net. A princ\u00edpio, as transa\u00e7\u00f5es s\u00e3o listadas como &#8216;Transa\u00e7\u00f5es n\u00e3o liquidadas&#8217;. Posteriormente, Authorize.Net estabelece a transa\u00e7\u00e3o por conta pr\u00f3pria.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20566-608205b73dc1a.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20566-608205b73dc1a.png\" alt=\"Authorize.Net Payment Gateway Integration no Laravel\" ><\/a><\/p>\n<h3>Fa\u00e7a o pagamento ao vivo<\/h3>\n<p>Depois de testar com \u00eaxito seus pagamentos no modo sandbox, voc\u00ea pode alternar para o modo de produ\u00e7\u00e3o. Tudo o que voc\u00ea precisa fazer \u00e9 substituir as credenciais do sandbox pelos detalhes de produ\u00e7\u00e3o no <code>.env<\/code>arquivo. Comente tamb\u00e9m a linha abaixo do <code>__construct<\/code>m\u00e9todo de <code>PaymentController<\/code>.<\/p>\n<pre><code>$this-&gt;gateway-&gt;setTestMode(true); \/\/comment this line when move to 'live'<\/code><\/pre>\n<p>Isso \u00e9 tudo! Espero que voc\u00ea entenda a integra\u00e7\u00e3o do Authorize.Net Payment Gateway no Laravel. Eu gostaria de ouvir suas opini\u00f5es ou sugest\u00f5es na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/integracao-de-gateway-de-pagamento-paypal-no-laravel\/\" title=\"Integra\u00e7\u00e3o de gateway de pagamento PayPal no Laravel\">Integra\u00e7\u00e3o de gateway de pagamento PayPal no Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/integracao-do-stripe-payment-gateway-no-laravel\/\" title=\"Integra\u00e7\u00e3o do Stripe Payment Gateway no Laravel\">Integra\u00e7\u00e3o do Stripe Payment Gateway no Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste artigo, mostrarei como integrar o gateway de pagamento Authorize.Net no Laravel. Usando este gateway, voc\u00ea pode aceitar pagamentos com cart\u00f5es de cr\u00e9dito \/ d\u00e9bito em<\/p>\n","protected":false},"author":1,"featured_media":20567,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[502],"tags":[848],"class_list":["post-27564","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=27564"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27564\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/20567"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=27564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=27564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=27564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}