znatali / yii2-braintree
Braintree for Yii2
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 11
Type:yii2-extension
Requires
- php: >=5.4.0
- braintree/braintree_php: *
- npm-asset/braintree-web: 2.10.*
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-05-01 08:45:44 UTC
README
Integrate a credit card payment form with Braintree's API into Yii2. Inspired by braintreeapi.
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(); ?>