professionalweb/paymentdrivers

此软件包已被废弃且不再维护。未建议替代软件包。

支付系统驱动程序

0.4 2016-05-18 15:37 UTC

This package is auto-updated.

Last update: 2020-08-29 04:50:53 UTC


README

http://web-development.pw/

Latest Stable Version Build Status Code Climate Coverage Status Dependency Status License Latest Unstable Version

需求

  • PHP 5.4+

依赖项

安装

模块可通过composer获取

composer require professionalweb/paymentdrivers "dev-master"

或者,您可以手动将以下内容添加到您的composer.json中的require部分

"professionalweb/paymentdrivers": "dev-master"

之后运行composer update

支付系统

示例

class PaymentDriverFabric
{
    const DRIVER_FSG       = 'fsg';
    const DRIVER_CYBERPLAT = 'cyberplat';
    const DRIVER_RAPIDA    = 'rapida';
    const DRIVER_A3        = 'a3';

    /**
     * Get driver by name
     *
     * @param string $driverName
     * @return \professionalweb\paymentdrivers\interfaces\PaymentSystem
     */
    public static function getDriver($driverName)
    {
        $result = null;
        switch ($driverName) {
            case self::DRIVER_FSG:
                $result = self::getFsgDriver();
                break;
            case self::DRIVER_CYBERPLAT:
                $result = self::getCyberplatDriver();
                break;
            case self::DRIVER_RAPIDA:
                $result = self::getRapidaDriver();
                break;
            case self::DRIVER_A3:
                $result = self::getA3Driver();
                break;
        }
        return $result;
    }

    /**
     * Get FSG payment driver
     *
     * @return \professionalweb\paymentdrivers\interfaces\PaymentSystem
     */
    public static function getFsgDriver()
    {
        $driver = new \professionalweb\paymentdrivers\FSG\FSG;
        return $driver
                ->setCertificate(FDG_CERT_PATH)
                ->setHost(FSG_HOST)
                ->setPort(FSG_PORT)
                ->setTerminalName(FSG_TERMINAL_NAME)
                ->setIsTLS(FSG_IS_TLS);
    }

    /**
     * Get cyberplat payment driver
     *
     * @return \professionalweb\paymentdrivers\interfaces\PaymentSystem
     */
    public static function getCyberplatDriver()
    {
        $driver = new \professionalweb\paymentdrivers\cyberplat\Cyberplat();
        return $driver
                ->setAP(CYBERPLAT_AP)
                ->setOP(CYBERPLAT_OP)
                ->setSD(CYBERPLAT_SD)
                ->setTermId(CYBERPLAT_TERM_ID)
                ->setSerial(CYBERPLAT_SERIAL)
                ->setSecretKey(file_get_contents(CYBERPLAT_PATH_TO_SECRET_KEY))
                ->setPublicKey(file_get_contents(CYBERPLAT_PATH_TO_PUBLIC_KEY))
                ->setSecretKeyPassword(CYBERPLAT_SSL_KEY_PASSWORD)
                ->setNoRoute(CYBERPLAT_NO_ROUTE)
                ->setPayTool(CYBERPLAT_PAY_TOOL)
                ->setAcceptedKeys(CYBERPLAT_ACCEPT_KEYS);
    }

    /**
     * Get rapida payment driver
     *
     * @return \professionalweb\paymentdrivers\interfaces\PaymentSystem
     */
    public static function getRapidaDriver()
    {
        $driver = new \professionalweb\paymentdrivers\rapida\Rapida();
        return $driver
                ->setUrl(RAPIDA_URL)
                ->setCAPath(RAPIDA_PATH_TO_CA)
                ->setSSLCertPath(RAPIDA_PATH_TO_SSL_CERT)
                ->setSSLKeyPath(RAPIDA_PATH_TO_SSL_KEY)
                ->setSSLKeyPassword(RAPIDA_SSL_KEY_PASSWORD)
                ->setTermType(RAPIDA_TERM_TYPE)
                ->setTermId(RAPIDA_TERM_ID);
    }

    /**
     * Get A3 payment driver
     *
     * @return \professionalweb\paymentdrivers\interfaces\PaymentSystem
     */
    public static function getA3Driver()
    {
        $driver = new \professionalweb\paymentdrivers\a3\A3();
        return $driver
                ->setUrl(A3_WSDL_URL)
                ->setSSLCertificatePath(A3_PATH_TO_SSL_CERT)
                ->setSSLCertificatePassword(A3_SSL_CERT_PASSWORD)
                ->setCertificatePath(A3_PATH_TO_SIGN_CERT)
                ->setCertificatePassword(A3_SIGN_CERT_PASSWORD);
    }
}

MIT许可协议(MIT)

版权所有 (c) 2016 Sergey Zinchenko,Professional web

任何人可以免费获得本软件及其相关文档副本(以下简称“软件”),不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许向软件提供方提供软件的人进行此类操作,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、适用于特定目的和无侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论源于合同、侵权或其他原因,与软件或软件的使用或其他交易有关。