amirkhh / savano
Savano 支付网关扩展 for Yii2
1.0
2018-02-13 18:59 UTC
Requires
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-09-29 05:01:46 UTC
README
Savano 支付网关扩展 for Yii2
安装
安装此扩展的首选方式是通过 composer。
运行
php composer.phar require amirkhh/savano
或将以下内容添加到您的 composer.json
文件的 require 部分:
"amirkhh/savano": "^1.0"
如何使用此扩展
例如,假设您有一个名为 PaymentController 的控制器,最初您需要两个操作,一个是请求支付,另一个是验证支付。
您需要使用存储来保存您的支付和支付状态。
PaymentController.php
.....
<?php
public function actionRequest()
{
/* Your Data */
$pin = 'Your Pin';
$callback = 'Your Callback Url';// 'http://www.xxxx.com/payment/verify';
/* Save Price, OrderId and Authority In Your Storage */
$price = 100;
$orderId = 1;
$savano = new Savano;
$savano->pin = $pin;
if($request = $savano->request($price, $orderId, $callback)->getResult() === 1)
{
// $authority = $savano->getAuthority();
// You can save your payment request data to the database in here before redirect user to bank
return $this->redirect($savano->getRedirectUrl());
}
else
{
// Show Error.
echo $savano->getErrorMessage();
}
}
public function actionVerify($au, $order_id)
{
$pin = 'Your Pin';
/* Fetch Price, OrderId and Authority in Your Storage */
$authority = $au;
$price = 100;
$orderId = $order_id;
$savano = new Savano;
$savano->pin = $pin;
if(($verify = $savano->verify($authority, $price, $orderId)->getResult()) === 1)
{
// Payment Successfully
echo 'Payment Successfully';
}
else
{
// Show Error
echo $savano->getErrorMessage();
}
}
public function beforeAction($action)
{
if ($action->id == 'verify') {
$this->enableCsrfValidation = false;
}
return parent::beforeAction($action);
}
.....