edofre/yii2-omnikassa
Composer 安装命令:
composer require edofre/yii2-omnikassa
包简介
Yii2 component for Rabobank omnikassa payments
关键字:
README 文档
README
Installation
The preferred way to install this extension is through composer.
To install, either run
$ php composer.phar require edofre/yii2-omnikassa "V1.0.5"
or add
"edofre/yii2-omnikassa": "V1.0.5"
to the require section of your composer.json file.
Usage
Add the components to the configuration, the following configuration is the test environment for omnikassa
return [ ... 'components' => [ 'omniKassa' => [ 'class' => '\edofre\omnikassa\OmniKassa', 'automaticResponse' => false, 'currencyCode' => '978', 'interfaceVersion' => 'HP_1.0', 'keyVersion' => '1', 'merchantId' => '002020000000001', 'paymentMeanBrandList' => 'IDEAL,VISA,MASTERCARD,MAESTRO', 'secretKey' => '002020000000001_KEY1', 'testMode' => true, 'url' => 'https://payment-webinit.simu.omnikassa.rabobank.nl/paymentServlet', ], ... ], ... ];
Create the PaymentRequest object and create a form
$paymentRequest = new \edofre\omnikassa\PaymentRequest([ 'amount' => 12354, // Amount in cents, 12345 = 123,45 'orderId' => 'your-order-id', 'normalReturnUrl' => \yii\helpers\Url::to(['site/return'], true), 'transactionReference' => "your-transaction-reference", ]); Yii::$app->omniKassa->prepareRequest($paymentRequest);
<form method="post" action="<?= Yii::$app->omniKassa->url ?>"> <input type="hidden" name="Data" value="<?= Yii::$app->omniKassa->dataField ?>"> <input type="hidden" name="InterfaceVersion" value="<?= Yii::$app->omniKassa->interfaceVersion ?>"> <input type="hidden" name="Seal" value="<?= Yii::$app->omniKassa->seal ?>"> <?= \yii\helpers\Html::submitButton('Click here to make your payment', ['class' => 'btn btn-success']) ?> </form>
Create the controller action you specified in the PaymentRequest and process the request
public function actionReturn() { $response = Yii::$app->omniKassa->processRequest(); var_dump($response->attributes); var_dump('Pending', $response->isPending); var_dump('Successful', $response->isSuccessful); var_dump('Failure', $response->isFailure); }
Don't forgot to disable CSRF protection for this action as it is an external action
public function beforeAction($action) { if ($action->id == 'return') { $this->enableCsrfValidation = false; } return parent::beforeAction($action); }
统计信息
- 总下载量: 34
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-02-28