alegra / omnipay-payu

Omnipay支付处理库的Payu网关

v0.0.27 2021-03-20 09:02 UTC

README

Build Status Total Downloads Latest Stable Version License

Omnipay V3支付处理库的Payu网关

Omnipay 是一个不依赖框架的多网关支付处理库,适用于PHP 7.3及以上版本。本包实现了Omnipay对PayU在线支付网关的支持。

PayU ALU V3 API 文档

需求

  • PHP >= 7.3.x,
  • Omnipay V.3 仓库,
  • PHPUnit 运行测试

自动加载

您必须安装 Omnipay V.3

composer require league/omnipay:^3

然后您需要安装 omnipay-payu 包

composer require alegra/omnipay-payu

payment-payu 的类遵循PSR-4命名约定,这意味着您可以轻松地将 payment-payu 类加载到您自己的自动加载器中。

基本用法

  • 您可以使用 /examples 文件夹来执行示例。此文件夹仅用于展示示例,不适用于生产使用。
  • 在 /examples 文件夹中首先
composer install

购买示例

  • 您可以在 /examples 文件夹中查看 purchase.php 文件。
<?php

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->addPsr4('Examples\\', __DIR__);

use Omnipay\PayU\PayUGateway;
use Examples\Helper;

$gateway = new PayUGateway();

$helper = new Helper();
$params = $helper->getPurchaseParams();
$response = $gateway->purchase($params)->send();

$result = [
    'status' => $response->isSuccessful() ?: 0,
    'redirect' => $response->isRedirect() ?: 0,
    'message' => $response->getMessage(),
    'transactionId' => $response->getTransactionReference(),
    'requestParams' => $response->getServiceRequestParams(),
    'response' => $response->getData()
];

print("<pre>" . print_r($result, true) . "</pre>");

3D购买示例

  • 您可以在 /examples 文件夹中查看 purchase3d.php 文件。
<?php

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->addPsr4('Examples\\', __DIR__);

use Omnipay\PayU\PayUGateway;
use Examples\Helper;

$gateway = new PayUGateway();

$helper = new Helper();
$params = $helper->getPurchase3dParams();
$response = $gateway->purchase($params)->send();

$result = [
    'status' => $response->isSuccessful() ?: 0,
    'redirect' => $response->isRedirect() ?: 0,
    'redirectUrl' => $response->getRedirectUrl() ?: null,
    'message' => $response->getMessage(),
    'transactionId' => $response->getTransactionReference(),
    'requestParams' => $response->getServiceRequestParams(),
    'response' => $response->getData()
];

print("<pre>" . print_r($result, true) . "</pre>");

确认服务示例

  • 您可以在 /examples 文件夹中查看 completeAuthorize.php 文件。
  • 确认服务仅适用于正在使用预授权模式的商家,您可以联系您的销售代表获取详细信息。
<?php

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->addPsr4('Examples\\', __DIR__);

use Omnipay\PayU\PayUGateway;
use Examples\Helper;

$gateway = new PayUGateway();

$helper = new Helper();
$params = $helper->getCompleteAuthorizeParams();
$response = $gateway->completeAuthorize($params)->send();

$result = [
    'status' => $response->isSuccessful() ?: 0,
    'message' => $response->getMessage(),
    'transactionId' => $response->getTransactionReference(),
    'requestParams' => $response->getServiceRequestParams(),
    'response' => $response->getData()
];

print("<pre>" . print_r($result, true) . "</pre>");

退款示例

  • 您可以在 /examples 文件夹中查看 refund.php 文件。
<?php

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->addPsr4('Examples\\', __DIR__);

use Omnipay\PayU\PayUGateway;
use Examples\Helper;

$gateway = new PayUGateway();

$helper = new Helper();
$params = $helper->getRefundParams();
$response = $gateway->refund($params)->send();

$result = [
    'status' => $response->isSuccessful() ?: 0,
    'message' => $response->getMessage(),
    'transactionId' => $response->getTransactionReference(),
    'requestParams' => $response->getServiceRequestParams(),
    'response' => $response->getData()
];

print("<pre>" . print_r($result, true) . "</pre>");

获取交易示例

  • 您可以在 /examples 文件夹中查看 fetchTransaction.php 文件。
<?php

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->addPsr4('Examples\\', __DIR__);

use Omnipay\PayU\PayUGateway;
use Examples\Helper;

$gateway = new PayUGateway();

$helper = new Helper();
$params = $helper->getFetchTransactionParams();
$response = $gateway->fetchTransaction($params)->send();

$result = [
    'status' => $response->isSuccessful() ?: 0,
    'message' => $response->getMessage(),
    'transactionId' => $response->getTransactionReference(),
    'orderReferenceNo' => $response->getOrderReferenceNoExt(),
    'requestParams' => $response->getServiceRequestParams(),
    'response' => $response->getData()
];

print("<pre>" . print_r($result, true) . "</pre>");

卡信息V1示例

  • 您可以在 /examples 文件夹中查看 cardInfoV1.php 文件。
<?php

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->addPsr4('Examples\\', __DIR__);

use Omnipay\PayU\PayUGateway;
use Examples\Helper;

$gateway = new PayUGateway();

$helper = new Helper();
$params = $helper->getCardInfoV1Params();
$response = $gateway->cardInfoV1($params)->send();

$result = [
    'status' => $response->isSuccessful() ?: 0,
    'message' => $response->getMessage(),
    'requestParams' => $response->getServiceRequestParams(),
    'response' => $response->getData()
];

print("<pre>" . print_r($result, true) . "</pre>");

卡信息V2示例

  • 您可以在 /examples 文件夹中查看 cardInfoV2.php 文件。
<?php

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->addPsr4('Examples\\', __DIR__);

use Omnipay\PayU\PayUGateway;
use Examples\Helper;

$gateway = new PayUGateway();

$helper = new Helper();
$params = $helper->getCardInfoV2Params();
$response = $gateway->cardInfoV2($params)->send();

$result = [
    'status' => $response->isSuccessful() ?: 0,
    'message' => $response->getMessage(),
    'requestParams' => $response->getServiceRequestParams(),
    'response' => $response->getData()
];

print("<pre>" . print_r($result, true) . "</pre>");

requestParams

系统向 payU API 发送请求。它显示请求信息。

许可

GNU通用公共许可证v3.0

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.