lzaplata / certitrade
该软件包最新版本(dev-master)没有可用的许可信息。
Certitrade包装器,用于Nette框架。
dev-master
2018-02-05 08:30 UTC
Requires
- php: >=5.4
- nette/application: ~2.3
- nette/di: ~2.3
- nette/utils: ~2.3
This package is auto-updated.
Last update: 2024-09-25 07:38:19 UTC
README
这是一个用于Certitrade网关的小型Nette框架包装器。
安装
安装库最简单的方法是使用Composer。
$ composer require lzaplata/certitrade: dev-master
或者编辑项目中composer.json
文件
"require": { "lzaplata/certitrade": "dev-master" }
您需要在config.neon
文件中将库注册为扩展。
extensions: payu: LZaplata\Certitrade\DI\Extension
现在您可以设置参数...
certitrade: merchantId : * apiKey : * sandbox : true language : en // must be 2 digits language code currency : SEK // must be 3 digits uppercase currency code
...并将库自动连接到演示者
use LZaplata\Certitrade\Service; /** @var Service @inject */ public $certitrade;
使用方法
支付前
第一步您必须创建新的支付。
$payment = $this->certitrade->createOrder([ "description" => $description, "amount" => $price, // order price in lowest currency unit (1 CZK = 100) "reference" => $id, // eshop unique id "return_url" => $returnUrl, // return url from gateway (no matter of payment result) "callback_url" => $callbackUrl, // url to report back via POST call while payment is under way ]);
第二步决定创建订单是否成功...
try { $response = $this->certitrade->pay($payment); } catch (\Exception $e) { print $e->getMessage(); }
...在重定向到网关之前,您可以获取Certitrade ID并将其与您的订单合并
$certitradeId = $response->id; // updates order $this->updateOrder($certitradeId);
...最终您可以重定向到网关。
$this->sendResponse($response);
支付后
您可以通过Certitrade ID获取支付...
$payment = $this->certitrade->getPayment($certitradeId);
...最终判断支付是否已完成。
if ($this->certitrade->isPaid($payment)) { // do something } else { // otherwise do something else }