lzaplata/csobpaymentgateway

为Nette框架提供的ČSOB支付网关包装器。

dev-master 2021-12-09 08:32 UTC

This package is auto-updated.

Last update: 2024-09-09 13:58:44 UTC


README

这是一个为ČSOB支付网关提供的Nette框架小包装器。

安装

安装库的最简单方法是通过Composer。

$ composer require lzaplata/csobpaymentgateway: dev-master

或者在您的项目中的composer.json文件中进行编辑

"require": {
        "lzaplata/csobpaymentgateway": "dev-master"
}

您需要在config.neon文件中将库注册为扩展。

extensions:
        csobPaymentGateway: LZaplata\CsobPaymentGateway\DI\Extension

现在您可以设置参数...

csobPaymentGateway:
        merchantId      : *
        sandbox         : true
        currency        : CZK
        privateKey:
            path        : *                        
            password    : *
        publicKey       : *                      

...并将库自动注入到展示器中

use LZaplata\CsobPaymentGateway\Service;

/** @var Service @inject */
public $csobPaymentGateway;

用法

创建购物车实例并添加项目。

$cart = new Cart();
$cart->setItem(
        $name,                          
        $quantity,                      
        $amount,                        // item price * quantity in lowest currency unit (1 CZK = 100)
        $description
);

创建支付。

$payment = $this->csobPaymentGateway->createPayment(
        $orderNo,          
        $totalAmount,                    // payment price + transport price in lowest currency unit (1 CZK = 100)
        $returnUrl,                  
        $cart,                           // cart instace from step above
        $payOperation                    // type of payment operation - default Payment::NORMAL_PAYMENT
);

发送支付。

$response = $payment->send();

获取支付ID并将其保存到数据库中。

$payId = $response->getPayId();

重定向到支付网关。

$this->sendResponse($response->getRedirectResponse());

...或获取重定向URL。

$response->getRedirectUrl();

从网关返回后

获取响应并检查支付是否成功

$response = $this->csobPaymentGateway->getReturnResponse();

if ($response->isOk()) {
    // do something
}

撤销支付

有时您必须撤销您的支付

$response = $this->csobPaymentGateway->reversePayment($payId);

if ($response->isReversed()) {
    // do something
}