定制 wemakecustom/stripe-bundle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 7
  • Watchers: 6
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2014-09-24