wemakecustom/stripe-bundle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱: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.87k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 7
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

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

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固