wemakecustom/stripe-bundle
最新稳定版本:v0.3
Composer 安装命令:
composer require wemakecustom/stripe-bundle
包简介
Symfony 2 StripeBundle, a wrapper for Stripe Api
关键字:
README 文档
README
Provides a simple Symfony 2 Bundle to Wrap the Stripe PHP SDK - https://github.com/stripe/stripe-php
Installation
composer.json
{
"require": {
"wemakecustom/stripe-bundle": "dev-master"
}
}
app/AppKernel.php
public function registerBundles() { $bundles = array( // ... new WMC\StripeBundle\WMCStripeBundle(), ); }
Configuration
Edit your symfony config.yml file and add, at a minimum, the following lines:
wmc_stripe:
api_secret_key: stripe_secret_key
api_publishable_key: stripe_publishable_key
Utilisation
Authentification
In Stripe you have two form of authentication. The one by your server and the one by your client.
To authenticate your server with the stripe secret key
$this->container->get('wmc_stripe.stripe')->auth(); // Instead of : Stripe::setApiKey("sk_somekey");
To authenticate your client with the stripe publishable key
Include all js at once in twig
{% include "WMCStripeBundle::stripe.js.html.twig" %}
If you want to do it manually you have a twig extension to get the stripe_publishable_key
<script type="text/javascript">Stripe.setPublishableKey('{{stripe_publishable_key}}');</script>
Example
If you want to do a basic card submission https://stripe.com/docs/tutorials/forms https://stripe.com/docs/tutorials/charges#saving-credit-card-details-for-later
Basic saving of clients (card details), controller and a view :
public function newPaymentMethodAction(Request $request) { $this->container->get('wmc_stripe.stripe')->auth(); $form = $this->createForm(new CardFormType()); $formHandler = new CardFormHandler($form, $request, $stripeClientDescription); if($formHandler->process()){ //Persist flush the customerId somewhere $stripeCustomerId = $formHandler->getCustomer()->id; } return array('form' => $form->createView()); }
{% extends "::base.html.twig" %}
{% block content %}
{{ form_start(form) }}
{{ form_errors(form) }}
{{ form_widget(form) }}
<button type="submit">Submit</button>
{{ form_end(form) }}
{% endblock %}
{% block foot_script %}
{{ parent() }}
{% include "WMCStripeBundle::stripe.js.html.twig" %}
{% endblock %}
Charge a client
\Stripe\Charge::create(array( "amount" => round($price * 100), "currency" => "usd", "customer" => $customerId) );
##TODO:
- Declare Form type and Handler as services
统计信息
- 总下载量: 33.6k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 7
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-09-24