此库提供PHP客户端,简化与Velo支付API的交互。


README

License npm version CircleCI\

此库提供PHP客户端,简化与Velo支付API的交互。有关API的完整详情,请访问我们的Velo支付API文档。注意:某些Velo API调用需要通过访问令牌进行授权,请参阅完整文档了解如何配置。在本文档和Velo平台中,以下术语被使用

  • 付款方。一个实体(通常是公司),希望通过支付方式向一个或多个收款人支付资金。
  • 收款人。由付款方支付资金的接收方。
  • 支付。从付款方到收款方的一次资金转移。
  • 支付批次。一组支付,通常由付款方使用,用于逻辑上分组支付(例如,按业务日)。技术上,支付批次中的支付之间不需要有关系 - 一个支付批次可以包含多个收款人的支付,或者对一个收款人进行多次支付。
  • 沙箱。Velo支付提供的一种集成环境,提供与生产环境相似的API体验,但所有资金和支付事件都是模拟的,以及许多其他服务,如OFAC制裁名单检查。

概述

Velo支付API允许付款方执行多项操作。以下是一个按执行顺序的自然顺序列出的主要功能列表

  • 通过Velo平台进行身份验证
  • 维护收款人集合
  • 查询平台内付款方的当前资金余额并执行额外融资
  • 向收款人发放支付
  • 查询平台以获取这些支付的历史记录

本文档描述了启动Velo支付平台所需的主要概念和API。它不是API的详尽参考。有关详细信息,请参阅单独的Velo支付API参考。

API注意事项

Velo支付API是基于REST的,使用JSON格式进行请求和响应。

大多数调用使用OAuth 2安全性进行加密,并需要有效的认证访问令牌才能成功操作。请参阅身份验证部分以获取详细信息。

以下示例中需要动态值时,使用{token}格式,表示调用者需要提供相应令牌的适当值(不包括{}字符)。

以下示例中给出curl示例时,使用–d @filename.json方法,表示请求正文应放置在当前目录中名为filename.json的文件中。本文档中的每个curl示例都应被视为命令行上的单行,无论它们在打印中如何显示。

通过Velo平台进行身份验证

一旦Velo后台工作人员在Velo平台沙箱中将您的组织添加为付款方,他们将为您创建付款方ID、API密钥和API密钥,并以安全的方式与您分享这些信息。

您需要使用这些值通过Velo平台进行身份验证,以便获取对API的访问权限。以下步骤将进行解释

将API密钥(例如,44a9537d-d55d-4b47-8082-14061c2bcdd8)和API密钥(例如,c396b26b-137a-44fd-87f5-34631f8fd529)组合成字符串,并用冒号分隔。例如,44a9537d-d55d-4b47-8082-14061c2bcdd8:c396b26b-137a-44fd-87f5-34631f8fd529

使用 base64 对此字符串进行编码。例如:NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ==

创建一个 HTTP Authorization 标头,值设置为例如 Basic NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ==

使用上述创建的 HTTP 标头执行 Velo 身份验证 REST 调用,例如通过 curl

  curl -X POST \\
  -H \"Content-Type: application/json\" \\
  -H \"Authorization: Basic NDRhOTUzN2QtZDU1ZC00YjQ3LTgwODItMTQwNjFjMmJjZGQ4OmMzOTZiMjZiLTEzN2EtNDRmZC04N2Y1LTM0NjMxZjhmZDUyOQ==\" \\
  'https://api.sandbox.velopayments.com/v1/authenticate?grant_type=client_credentials'

如果成功,此调用将导致一个 200 HTTP 状态代码和一个响应体,例如

  {
    \"access_token\":\"19f6bafd-93fd-4747-b229-00507bbc991f\",
    \"token_type\":\"bearer\",
    \"expires_in\":1799,
    \"scope\":\"...\"
  }

身份验证后的 API 访问

身份验证成功后,响应中 access_token 字段的值(如上图中绿色所示)应随后在所有后续 API 调用中显示,以允许 Velo 平台验证调用者是否已认证。

这通过将 HTTP Authorization 标头设置为例如 Bearer 19f6bafd-93fd-4747-b229-00507bbc991f 的值来实现,如下面的 curl 示例所示

  -H \"Authorization: Bearer 19f6bafd-93fd-4747-b229-00507bbc991f \"

如果您发出其他需要授权但缺少或无效的 Authorization 标头的 Velo API 调用,则将收到一个 401 HTTP 状态响应。

安装 & 使用

要求

PHP 7.3 及更高版本。也应该与 PHP 8.0 兼容,但尚未进行测试。

Composer

要通过 Composer 安装绑定,请将以下内容添加到 composer.json

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/velopaymentsapi/velo-php.git"
    }
  ],
  "require": {
    "velopaymentsapi/velo-php": "*@dev"
  }
}

然后运行 composer install

手动安装

下载文件并包含 autoload.php

<?php
require_once('/path/to/VeloPayments/vendor/autoload.php');

入门

请按照 安装过程 操作,然后运行以下命令

<?php
require_once(__DIR__ . '/vendor/autoload.php');



// Configure OAuth2 access token for authorization: OAuth2
$config = VeloPayments\Client\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');


$apiInstance = new VeloPayments\Client\Api\CountriesApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);

try {
    $result = $apiInstance->listPaymentChannelRulesV1();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling CountriesApi->listPaymentChannelRulesV1: ', $e->getMessage(), PHP_EOL;
}

API 端点

所有 URI 都相对于 https://api.sandbox.velopayments.com

模型

授权

OAuth2

  • 类型: OAuth
  • 流程: application
  • 授权 URL: ``
  • 作用域:
    • ** **: 不需要作用域

基本认证

  • 类型: HTTP 基本认证

OAuthVeloBackOffice

  • 类型: OAuth
  • 流程: application
  • 授权 URL: ``
  • 作用域:
    • ** **: 不需要作用域

测试

要运行测试,请使用

composer install
vendor/bin/phpunit

作者

关于此包

此 PHP 包是由 OpenAPI Generator 项目自动生成的

  • API 版本: 2.29.127
    • 包版本: 2.29.127
  • 构建包: org.openapitools.codegen.languages.PhpClientCodegen