amirkhh/savano

Savano 支付网关扩展 for Yii2

安装: 11

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 2

分支: 1

开放问题: 0

类型:yii2-extension

1.0 2018-02-13 18:59 UTC

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);
}

.....