dwolla/dwollaswagger

1.9.0 2023-06-30 01:23 UTC

README

此存储库包含由swagger-codegen的此分支生成的Dwolla基于PHP的SDK的源代码,允许开发人员通过PHP API与Dwolla的服务器端API进行交互。任何可以通过HTTP请求执行的操作,都可以在服务器端环境中使用此SDK执行。

注意: 使用这些替换添加了对PHP 7.4的临时支持

  • \$this\->([a-z0-9\_]+) = \$data\["([a-z0-9\_]+)"\]\; 转换为 \$this->$1 = \$data\["$2"\] ?? null;

目录

入门

安装

要开始使用此SDK,您首先需要将其下载到您的机器上。我们使用Packagist来分发此包,它允许通过Composer下载。

$ composer require dwolla/dwollaswagger
$ composer install

要使用,只需require您的Composer autoload.php文件。

require("../path/to/vendor/autoload.php");

初始化

在可以发出任何API请求之前,您必须首先确定您将使用哪种环境,并获取应用程序密钥和密码。要获取应用程序密钥和密码,请访问以下链接之一

最后,在配置了usernamepassword值(分别对应您从上述链接之一获取的应用程序密钥和密码)后,您可以创建一个ApiClient实例。

DwollaSwagger\Configuration::$username = "API_KEY";
DwollaSwagger\Configuration::$password = "API_SECRET";

# For Sandbox
$apiClient = new DwollaSwagger\ApiClient("https://api-sandbox.dwolla.com");

# For Production
$apiClient = new DwollaSwagger\ApiClient("https://api.dwolla.com");

令牌

应用程序访问令牌用于代表应用程序对API进行身份验证。应用程序令牌可用于访问属于应用程序本身(webhookseventswebhook-subscriptions)或拥有应用程序的Dwolla账户(accountscustomersfunding-sources等)的资源。应用程序令牌通过使用client_credentials OAuth授权类型获得。

$tokensApi = new DwollaSwagger\TokensApi($apiClient);
$appToken = $tokensApi->token();

应用程序访问令牌是短暂的:1小时。它们不包含refresh_token。当它过期时,使用$tokensApi->token()生成一个新的。

发送请求

Dwolla客户端提供了与Dwolla API交互的高级方法。

高级请求

高级方法通过在SDK本身中嵌入您通常在Dwolla API参考中引用的信息来简化开发,例如端点、请求参数和响应反序列化。DwollaSwagger包含API模块,允许用户发出请求,以及models,这些是库用来反序列化响应的数据访问对象

每个模型代表可以与Dwolla API一起发出的不同类型的请求和响应。查看完整列表,请参阅models目录

以下API模块可用

设置头部信息

您可以根据 API 模型的模式在请求中传递自定义头信息。以下是一个创建带有 Idempotency-Key 头信息的客户的示例。

$customersApi = new DwollaSwagger\CustomersApi($apiClient);

$customer = $customersApi->create([
  "firstName" => "Jane",
  "lastName" => "Merchant",
  "email" => "jmerchant@nomail.net",
  "type" => "receive-only",
  "businessName" => "Jane Corp llc",
  "ipAddress" => "99.99.99.99"
], [
  "Idempotency-Key" => "51a62-3403-11e6-ac61-9e71128cae77"
]);
$customer; # => "https://api-sandbox.dwolla.com/customers/fc451a7a-ae30-4404-aB95-e3553fcd733f"

响应

成功

# Retrieve an Account by ID
$accountsApi = new DwollaSwagger\AccountsApi($apiClient);
$account = $accountsApi->id("8a2cdc8d-629d-4a24-98ac-40b735229fe2");

# Retrieve a Customer by ID
$customerUrl = 'https://api-sandbox.dwolla.com/customers/07d59716-ef22-4fe6-98e8-f3190233dfb8';
$customersApi = new DwollaSwagger\CustomersApi($apiClient);
$customer = $customersApi->getCustomer($customerUrl);

# Create a customer funding source
$customerUrl = "https://api-sandbox.dwolla.com/customers/AB443D36-3757-44C1-A1B4-29727FB3111C";
$fsApi = new DwollaSwagger\FundingsourcesApi($apiClient);

$fundingSource = $fsApi->createCustomerFundingSource([
  "routingNumber" => "222222226",
  "accountNumber" => "123456789",
  "bankAccountType" => "checking",
  "name" => "Jane Doe’s Checking"
], $customerUrl);
$fundingSource; # => "https://api-sandbox.dwolla.com/funding-sources/375c6781-2a17-476c-84f7-db7d2f6ffb31"

错误

您可以将请求包裹在 try/catch 块中来处理错误。

try{
    $new_customer = $customersApi->create([
        //request_body
    ]);
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getResponseBody(), "\n";
}

变更日志

  • 1.9.0:添加支持使用 plaidToken 为客户创建银行资金来源。
  • 1.8.0:添加交易所和交易所合作伙伴 API 方法。
  • 1.7.1:修复按需授权未正确解析 Dwolla 响应的漏洞。
  • 1.7.0:在 CustomersAPI 中添加了新的 getCustomerCardToken 方法,用于为客户创建卡片资金来源令牌。
  • 1.6.0:新添加了 TokenApi,以支持应用程序访问令牌和客户端令牌请求。
  • 1.5.0:更新 API 架构,将 CustomersApi 更新为在列出客户时支持 email 参数。
  • 1.4.1:修复了在 #43 中用向后兼容的三元运算符替换空合并运算符的漏洞。
  • 1.4.0:为 PHP 7.4 添加临时支持修复。 问题 #41。(感谢,@oprypkhantc!)
  • 1.3.0:在所有请求中添加自定义头信息支持。(例如,Idempotency-Key 头信息)
  • 1.2.0:添加 KbaApi。有关更多信息,请参阅 GitHub 发布版本。
  • 1.1.0:添加 LabelsApiLabelreallocationsApiLedgerentriesApi
  • 1.0.20:修复了 ApiClient 中解析 201 响应 Location 头信息的问题。
  • 1.0.19:修复了 ApiClient 中的 201 响应问题。
  • 1.0.18:修复了 CreateCustomer 模型中的控制器漏洞。
  • 1.0.17:更新 CustomersApi 以更新受益所有人支持。更新现有模型。
  • 1.0.16:有关更多信息,请参阅 GitHub 发布版本。
  • 1.0.15:可选参数设置为 null。
  • 1.0.14:在初始化时从主机 URL 中删除尾随斜杠。
  • 1.0.13:添加对IPv4和IPv6连接的控制。
  • 1.0.12:更新CustomersApi以允许null的limitoffsetsearch
  • 1.0.11:允许暂停webhook订阅暂停;添加了对removed资金来源查询参数的支持;等等。
  • 1.0.10:修复软删除以使用FundingSource模型反序列化。
  • 1.0.9:添加布尔类型以修复反序列化。
  • 1.0.8:在FundingSourcesApi中添加余额检查端点。修复了转账模型中转账失败的反序列化。
  • 1.0.7:更新API模式,CustomersAPI支持客户搜索,在FundingSourcesApi中添加了新的软删除方法。
  • 1.0.6:更新TransfersApi以包括取消和获取转账费用。添加了一些新的模型并更新了一些现有模型。
  • 1.0.5:修复API模式错误,FundingSource对象现在具有_embedded键以修复序列化问题。避免使用保留的PHP函数名。CustomersApi获得IAV验证的端点。添加了VerificationToken模型。
  • 1.0.3:添加了RootApi。将auth_token更改为access_token以符合RFC-6749命名约定。
  • 1.0.2:为FundingsourcesApi添加了新方法。对HTTP 201响应的更自然的响应逻辑。
  • 1.0.1:更新API模式,在CustomersApiTransfersApi中添加了新方法。
  • 1.0.0:初始版本。

社区

其他资源

要了解更多关于Dwolla以及如何将我们的产品集成到您的应用程序中,请考虑访问以下资源并成为我们社区的一员!

致谢

此包装器由swagger-codegen的分支通过语义生成swagger-codegen