tuyakhov/yii2-braintree

Braintree for Yii2

Installs: 469

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 5

Forks: 11

Open Issues: 3

Type:yii2-extension

1.0.2 2014-05-27 00:00 UTC

This package is auto-updated.

Last update: 2024-11-29 04:08:55 UTC


README

Integrate a credit card payment form with Braintree's API into Yii2. Inspired by braintreeapi

Latest Stable Version Scrutinizer Code Quality Code Coverage Build Status Total Downloads

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist tuyakhov/yii2-braintree "*"

or add

"tuyakhov/yii2-braintree": "*"

to the require section of your composer.json file.

Usage

You should add Braintree component to your yii config first:

'components' => [
    'braintree' => [
        'class' => 'tuyakhov\braintree\Braintree',
        'merchantId' => 'YOUR_MERCHANT_ID',
        'publicKey' => 'YOUR_PUBLIC_KEY',
        'privateKey' => 'YOUR_PRIVATE_KEY',
    ],
]

Once the extension is installed, simply use it in your code by :

BraintreeForm provide all basic operations for sales and stores customer info. Operation name equals scenario name. Available scenarios:

creditCard - create a credit card doc
address - create an address doc
customer - create a customer doc
sale - create a transaction doc
saleFromVault - create a transaction from your Vault doc

Action example:

public function actionSale() {
    $model = new BraintreeForm();
    $model->setScenario('sale');
    if ($model->load(Yii::$app->request->post()) && $model->send()) {
        // do something
    }
    return $this->render('purchase', ['model' => $model]);
}

Form widget for your view:

    <?php $form = \tuyakhov\braintree\ActiveForm::begin() ?>
    <?= $form->field($model, 'creditCard_number'); ?>
    <?= $form->field($model, 'creditCard_cvv'); ?>
    <?= $form->field($model, 'creditCard_expirationDate')->widget(\yii\widgets\MaskedInput::className(), [
           'mask' => '99/9999',
       ]) ?>
    <?= $form->field($model, 'amount'); ?>
    <?= \yii\helpers\Html::submitButton()?>
    <?php \tuyakhov\braintree\ActiveForm::end(); ?>