minhaentrada/plexo-sdk

Plexo SDK for PHP

2 2021-10-06 20:19 UTC

This package is not auto-updated.

Last update: 2024-09-20 08:56:34 UTC


README

Build Status

Plexo 是一个支付媒介的仓库。它的目标是简化这些工具的使用,通过解耦与支付媒介集成的所有复杂性。

要求

为了运行 SDK,您的系统必须安装 PHP >= 5.6 并编译了 openssl 模块。

第一步

安装

通过 Composer 安装 SDK。

$ composer require plexophp/php-sdk

证书

客户端可以开发并注册自己的证书存储类。这个类必须实现接口 Plexo\Sdk\Certificate\CertificateStoreInterface

这样就可以避免向 API 发出额外的请求,让客户有权选择最方便的存储方式和位置(数据库、文件系统、API 等)。

查看示例

Plexo\Sdk\Certificate\Certificate 类

表示一个证书,包含其指纹、公钥和/或私钥。

  • fingerprint (string) 十六进制 SHA1。
  • cert (string) Base 64 编码的公钥,包含 "-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----" 的声明。
  • pkey (string) Base 64 编码的私钥,包含 "-----BEGIN PRIVATE KEY-----" 和 "END PRIVATE KEY" 的声明。

凭证

通过用户名和签名验证进行身份验证。所有请求都使用由 Plexo 发出的私钥签名。

用户名

用户名可以通过设置环境变量 PLEXO_CREDENTIALS_CLIENT 或在实例化 Plexo\Sdk\Client 类时通过选项 client 来指定。

私钥

私钥的配置可以通过以下三种方式之一进行,无论是作为环境变量还是实例化 Plexo\Sdk\Client 类时的代码

选项 1. 指纹:如果您已注册自己的证书存储类,SDK 将调用 getByFingerprint 方法,传递指纹作为参数,以获取存储的私钥。您的类必须返回一个包含从 pfx 文件中提取的私钥的 Plexo\Sdk\Certificate\Certificate 对象。

  • 环境变量
    • PLEXO_CREDENTIALS_PRIVKEY_FINGERPRINT
  • 构造函数选项
    • privkey_fingerprint

选项 2. PEM/指纹:如果私钥已从 pfx 文件提取到 pem 文件,请添加文件路径,SDK 将使用包含的密钥。

  • 环境变量
    • PLEXO_CREDENTIALS_PEM_FILENAME
    • PLEXO_CREDENTIALS_PRIVKEY_FINGERPRINT
  • 构造函数选项
    • pem_filename
    • privkey_fingerprint

选项 3. PFX/密码短语(较慢):如果您尚未从 pfx 文件提取数据,可以指定该文件的路径及其安装密码。

  • 环境变量
    • PLEXO_CREDENTIALS_PFX_FILENAME
    • PLEXO_CREDENTIALS_PFX_PASSPHRASE
  • 构造函数选项
    • pfx_filename
    • pfx_passphrase
示例:使用环境变量。
<?php
// Require the Composer autoloader.
require_once 'vendor/autoload.php';

use Plexo\Sdk;

$client = new Sdk\Client();
示例:在实例化 Client 时指定凭证。
<?php
// Require the Composer autoloader.
require_once 'vendor/autoload.php';

use Plexo\Sdk;

$client = new Sdk\Client([
    'client' => $client_name,
    'pem_filename' => $pem_filename,
    'privkey_fingerprint' => $fingerprint,
]);

Plexo\Sdk\Client 类

方法