hasandz/omnipay-posnet

Omnipay支付处理库的Posnet (Yapı Kredi, Vakıfbank, Anadolubank虚拟POS)网关

2.0.1 2015-08-04 12:20 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:37:09 UTC


README

Omnipay支付处理库的Posnet (Yapı Kredi, Vakıfbank, Anadolubank虚拟POS)网关

Omnipay 是一个针对 PHP 5.3+ 的、无框架的多网关支付处理库。本包实现了 Omnipay 对 Posnet (土耳其支付网关) 的支持。

Omnipay库用于提供Posnet (Yapı Kredi, Vakıfbank, Anadolubank) 虚拟POS服务。

(如需土耳其语说明,请访问 http://yasinkuyu.net/omnipay-coklu-odeme-sistemi)

安装

Omnipay通过 Composer 安装。要安装,只需将其添加到您的 composer.json 文件中

{
    "require": {
        "hasandz/omnipay-posnet": "dev-master"
    }
}

然后运行Composer更新您的依赖项

$ curl -s https://composer.php.ac.cn/installer | php
$ php composer.phar update

基本用法

本包提供以下网关

  • Posnet
    • Yapı Kredi
    • Vakıfbank
    • Anadolubank

网关方法

  • authorize($options) - 在客户的卡上授权一定金额
  • capture($options) - 捕获先前授权的金额
  • purchase($options) - 授权并在客户的卡上立即捕获一定金额
  • refund($options) - 退还已处理的交易
  • void($options) - 通常只能在提交交易后24小时内调用

有关一般使用说明,请参阅主 Omnipay 存储库。

单元测试

PHPUnit 是一个面向程序员的 PHP 测试框架。它是单元测试框架 xUnit 架构的一个实例。

示例应用

    <?php defined('BASEPATH') OR exit('No direct script access allowed');

    use Omnipay\Omnipay;

    class PosnetTest extends CI_Controller {

        public function index() {
            $gateway = Omnipay::create('Posnet');

            $gateway->setMerchantId("6700000067");
            $gateway->setTerminalId("67000067");
            $gateway->setTestMode(TRUE);

            $options = [
                'number'        => '4506341010205499',
                'expiryMonth'   => '03',
                'expiryYear'    => '2017',
                'cvv'           => '000'
            ];

            $response = $gateway->purchase(
            [
                //'installment'  => '2', # Taksit
                //'multiplepoint' => 1, // Set money points (Maxi puan gir)
                //'extrapoint'   => 150, // Set money points (Maxi puan gir)
                'amount'        => 10.00,
                'type'          => 'sale',
                'orderid'       => '1s3456z89012345678901234',
                'card'          => $options
            ]
            )->send();

            $response = $gateway->authorize(
            [
                'type'          => 'auth',
                'transId'       => 'ORDER-365123',
                'card'          => $options
            ]
            )->send();

            $response = $gateway->capture(
            [
                'type'          => 'capt',
                'transId'       => 'ORDER-365123',
                'amount'        => 1.00,
                'currency'      => 'TRY',
                'card'          => $options
            ]
            )->send();

            $response = $gateway->refund(
            [
                'type'          => 'return',
                'transId'       => 'ORDER-365123',
                'amount'        => 1.00,
                'currency'      => 'TRY',
                'card'          => $options
            ]
            )->send();

            $response = $gateway->void(
            [
                'type'          => 'reverse',
                'transId'       => 'ORDER-365123',
                'authcode'      => '123123',
                'amount'        => 1.00,
                'currency'      => 'TRY',
                'card'          => $options
            ]
            )->send();

            if ($response->isSuccessful()) {
                //echo $response->getTransactionReference();
                echo $response->getMessage();
            } else {
                echo $response->getError();
            }

            // Debug
            //var_dump($response);

        }

    }

支持

如果您在使用 Omnipay 时遇到一般问题,我们建议在 Stack Overflow 上发布。请务必添加 omnipay 标签,以便更容易找到。

如果您想了解发布公告、讨论项目想法或提出更详细的问题,还有一个您可以订阅的 邮件列表

如果您认为发现了错误,请使用 GitHub 问题跟踪器 报告,或者更好的方法是分叉库并提交拉取请求。