关于支付接口:免签约发卡网源码企业和个人发卡网源码套装

4次阅读

共计 6089 个字符,预计需要花费 16 分钟才能阅读完成。

在本教程中,咱们将看到如何在开发开源发卡网源码。发卡网零碎是为互联网企业提供在线领取服务的公司。发卡网零碎是一套领取 api,反对各种规模的在线业务的商业活动,包含欺诈预防和订阅治理。发卡网零碎的领取平台,用于承受和解决易于应用的电子商务解决方案的在线领取。

残缺源码:fakaysw.top

发卡网零碎源码领取网关集成到许多网站,用于向客户收款。在这个时候很多电商网站和其余购物网站都是应用条纹领取网关。因而,在这里咱们将学习发卡网零碎领取网关集成,咱们应用的是 stripe/stripe-php 包。

那么,让咱们一步一步来看看如何在发卡网源码中集成领取网关。

步骤 1: 创立发卡网源码内核

第二步: 在 Laravel 中装置 Stripe Payment Gateway Package

步骤 3: 配置分条领取网关

步骤 4: 创立路由

步骤 5: 增加控制器

步骤 6: 创立用于查看的刀片文件

步骤 7: 执行“示例”

步骤 1: 创立发卡网源码内核

在这一步中,咱们将为这个发卡网源码内核集成各渠道领取网关

composer create-project --prefer-dist laravel/laravel laravel_8_stripe_payment_gateway

第二步: 在 Laravel 中装置 Stripe Payment Gateway Package

当初,咱们正在 laravel 8 中应用 composer 命令装置一个条纹包。

composer require stripe/stripe-php

步骤 3: 配置分条领取网关

当初,咱们正在配置条纹领取网关如下图和代码。如果你没有一个 stripe 帐户,而后创立一个帐户在 stripe。

你能够看到上面的条纹仪表板,在这个图像中你能够看到条纹的密钥和机密密钥。

stripe_payment_gateway_api_key

当初,关上.env 文件并设置 STRIPE_KEY 和 STRIPE_SECRET。

  STRIPE_KEY=pk_test_xxxxxx
  
  STRIPE_SECRET=sk_test_xxxxxx

之后,咱们须要设置条纹 API 密钥。因而,关上 config/services.php 文件并增加以下代码。

  'stripe' => ['secret' => env('STRIPE_SECRET'),
  
  ],

步骤 4: 创立路由

在此步骤中,按如下步骤创立路由。

  <?php
  
  use Illuminate\Support\Facades\Route;
  
  use App\Http\Controllers\StripeController;
  
  Route::get('stripe', [StripeController::class, 'stripe']);
  
  Route::post('stripe', [StripeController::class, 'stripePost'])->name('stripe.post');

步骤 5: 增加控制器

我曾经为这个示例创立了 StripeController。因而,在控制器中复制以下代码。

  <?php
  
  namespace App\Http\Controllers;
  
  use Session;
  
  use Stripe;
  
  use Illuminate\Http\Request;
  
  class StripeController extends Controller
  
  {public function stripe()
  
  {return view('stripe');
  
  }
  
  public function stripePost(Request $request)
  
  {Stripe\Stripe::setApiKey(env('STRIPE_SECRET'));
  
  Stripe\Charge::create ([
  
  "amount" => 100*100,
  
  "currency" => "INR",
  
  "source" => $request->stripeToken,
  
  "description" => "This is test payment",
  
  ]);
  
  Session::flash('success', 'Payment Successful !');
  
  return back();}
  
  }

步骤 6: 创立用于查看的刀片文件

在这一步中,我创立了用于查看的 stripe.blade.php。因而,将以下代码增加到您的文件中。

  <!DOCTYPE html>
  
  <html>
  
  <head>
  
  <title>How To Integrate Stripe Payment Gateway In Laravel 8 - Techsolutionstuff</title>
  
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  
  </head>
  
  <body>
  
  <div class="container">
  
  <div class="row">
  
  <h3 style="text-align: center;margin-top: 40px;margin-bottom: 40px;">How To Integrate Stripe Payment Gateway In Laravel 8 - Techsolutionstuff</h3>
  
  <div class="col-md-6 col-md-offset-3">
  
  <div class="panel panel-default credit-card-box">
  
  <div class="panel-heading" >
  
  <div class="row">
  
  <h3>Payment Details</h3>
  
  </div>
  
  </div>
  
  <div class="panel-body">
  
  @if (Session::has('success'))
  
  <div class="alert alert-success text-center">
  
  <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
  
  <p>{{Session::get('success') }}</p><br>
  
  </div>
  
  @endif
  
  <br>
  
  <form role="form" action="{{route('stripe.post') }}" method="post" class="require-validation" data-cc-on-file="false" data-stripe-publishable-key="{{env('STRIPE_KEY') }}" id="payment-form">
  
  @csrf
  
  <div class='form-row row'>
  
  <div class='col-xs-12 col-md-6 form-group required'>
  
  <label class='control-label'>Name on Card</label>
  
  <input class='form-control' size='4' type='text'>
  
  </div>
  
  <div class='col-xs-12 col-md-6 form-group required'>
  
  <label class='control-label'>Card Number</label>
  
  <input autocomplete='off' class='form-control card-number' size='20' type='text'>
  
  </div>
  
  </div>
  
  <div class='form-row row'>
  
  <div class='col-xs-12 col-md-4 form-group cvc required'>
  
  <label class='control-label'>CVC</label>
  
  <input autocomplete='off' class='form-control card-cvc' placeholder='ex. 311' size='4' type='text'>
  
  </div>
  
  <div class='col-xs-12 col-md-4 form-group expiration required'>
  
  <label class='control-label'>Expiration Month</label>
  
  <input class='form-control card-expiry-month' placeholder='MM' size='2' type='text'>
  
  </div>
  
  <div class='col-xs-12 col-md-4 form-group expiration required'>
  
  <label class='control-label'>Expiration Year</label>
  
  <input class='form-control card-expiry-year' placeholder='YYYY' size='4' type='text'>
  
  </div>
  
  </div>
  
  <div class="form-row row">
  
  <div class="col-xs-12">
  
  <button class="btn btn-primary btn-lg btn-block" type="submit">Pay Now</button>
  
  </div>
  
  </div>
  
  </form>
  
  </div>
  
  </div>
  
  </div>
  
  </div>
  
  </div>
  
  </body>
  
  </html>
  
  <script type="text/javascript" src="https://js.stripe.com/v2/"></script>
  
  <script type="text/javascript">
  
  $(function() {var $form = $(".require-validation");
  
  $('form.require-validation').bind('submit', function(e) {var $form = $(".require-validation"),
  
  inputSelector = ['input[type=email]', 'input[type=password]', 'input[type=text]', 'input[type=file]', 'textarea'].join(','),
  
  $inputs = $form.find('.required').find(inputSelector),
  
  $errorMessage = $form.find('div.error'),
  
  valid = true;
  
  $errorMessage.addClass('hide');
  
  $('.has-error').removeClass('has-error');
  
  $inputs.each(function(i, el) {var $input = $(el);
  
  if ($input.val() === '') {$input.parent().addClass('has-error');
  
  $errorMessage.removeClass('hide');
  
  e.preventDefault();}
  
  });
  
  if (!$form.data('cc-on-file')) {e.preventDefault();
  
  Stripe.setPublishableKey($form.data('stripe-publishable-key'));
  
  Stripe.createToken({number: $('.card-number').val(),
  
  cvc: $('.card-cvc').val(),
  
  exp_month: $('.card-expiry-month').val(),
  
  exp_year: $('.card-expiry-year').val()}, stripeResponseHandler);
  
  }
  
  });
  
  function stripeResponseHandler(status, response) {if(response.error) {$('.error')
  
  .removeClass('hide')
  
  .find('.alert')
  
  .text(response.error.message);
  
  }else {
  
  /* token contains id, last4, and card type */
  
  var token = response['id'];
  
  $form.find('input[type=text]').empty();
  
  $form.append("<input type='hidden'name='stripeToken'value='" + token + "'/>");
  
  $form.get(0).submit();}
  
  }
  
  });
  
  </script>

同样你会失去低于输入的后果。

  Testing Card Credential
  
  Card Name: Test // any other name you can use here
  
  Card Number: 4242424242424242
  
  Month: Any Future Month
  
  Year: Any Future Year
  
  CVV: 123
正文完
 0