intagono / openpay
用于连接 OpenPay 支付网关的库
dev-master
2017-08-09 20:44 UTC
This package is not auto-updated.
Last update: 2024-09-14 18:31:35 UTC
README
简化 OpenPay 支付网关 API 过程的库
安装
首先通过 Composer 安装此包。
{ "require": { "intagono/openpay": "dev-master" } }
Laravel 5
注册以下 Service Provider 和别名
// config/app.php 'providers' => [ Intagono\Openpay\OpenpayServiceProvider::class, ]; 'aliases' => [ 'IntagonoOpenpay' => Intagono\Openpay\OpenpayFacade::class, ];
然后,发布默认配置。
php artisan vendor:publish
这将在以下位置添加一个新的配置文件:config/openpay.php
。您需要在 .env 文件中创建这些变量并指定适当的值。
<?php return [ /* | (Boolean) Determines if Openpay is running in production mode. */ 'production_mode' => env('OPENPAY_PRODUCTION_MODE'), /* | Your Merchant ID, found in Openpay Dashboard -- Configuration. */ 'merchant_id' => env('OPENPAY_MERCHANT_ID'), /* | Your Private Key, found in Openpay Dashboard -- Configuration. */ 'private_key' => env('OPENPAY_PRIVATE_KEY'), ];
如果您想在一个地方处理所有 Openpay 异常,请在您的异常处理程序中使用以下 trait 并修改 render 方法。
// app/Exceptions/Handler.php use Intagono\Openpay\OpenpayExceptionTrait; class Handler extends ExceptionHandler { use OpenPayExceptionTrait; ... public function render($request, Exception $e) { if ($this->isOpenPayException($e)) { return $this->renderOpenPayException($request, $e); } else { return parent::render($request, $e); } } }
默认情况下,此 trait 会捕获所有 Openpay 异常,并返回输入和错误信息。如果是 AJAX 请求,则返回包含错误信息的响应。
用法
构造函数注入。
<?php use Intagono\Openpay\Openpay; class Foo { /** * @var \Intagono\Openpay\Openpay */ protected $openpay; /** * Constructor */ public function __construct(Openpay $openpay) { $this->openpay = $openpay; } }
外观
$charge = IntagonoOpenpay::charge($chargeRequest);
Laravel 外部使用
Intagono\Openpay\Openpay
依赖于 Openpay 核心。
require 'vendor/autoload.php'; $openpayCore = \Openpay::getInstance($merchantId, $privayeKey); $intagonoOpenpay = new \Intagono\Openpay\Openpay($openpayCore);