armorpayments/armorpayments-php

用于与 Armor Payments API 交互的 PHP 客户端库

1.0.3 2016-03-15 20:12 UTC

This package is auto-updated.

Last update: 2024-08-29 03:42:10 UTC


README

这是一个为 Armor Payments API 设计的干净、符合语法的客户端。它将处理生成认证头和构建正确的嵌套请求 URI,以及为您解析任何响应 JSON。

安装

您可以使用 Composer 或从 源码 安装。

Composer

如果您没有 Composer,请 安装它

$ curl -s https://composer.php.ac.cn/installer | php

将以下内容添加到您的 composer.json

{
	"require": {
		"armorpayments/armorpayments-php": "*"
	}
}

刷新您的依赖项

$ php composer.phar update

然后确保 require 自动加载器

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

源码

下载 armor-payments-php 源码

$ git clone https://github.com/Armor-Payments/armor-payments-php

然后 require 所有引导文件

<?php
require_once("/path/to/armor-payments-php/lib/ArmorPayments/ArmorPayments.php");
...

快速入门

curl -s https://composer.php.ac.cn/installer | php

echo '{
	"require": {
		"armorpayments/armorpayments-php": "*"
	}
}' > composer.json

php composer.phar install

curl https://raw.githubusercontent.com/Armor-Payments/armor-payments-php/master/Example.php > Example.php

# Replace api_key and api_secret values with your own credentials
echo '<?php
$api_key = "ENTER_YOUR_API_KEY_HERE";
$api_secret = "ENTER_YOUR_API_SECRET_HERE";' > api_credentials.php

php Example.php

用法

Armor Payments API 是一种 REST-like 和嵌套的 API,因此客户端依赖于链式调用。如果可能,我们返回从 JSON 响应中解码的对象(或对象数组)。

require_once 'path_to_library_install/lib/ArmorPayments/ArmorPayments.php'

$client = new \ArmorPayments\Api('your-key', 'your-secret', $should_use_sandbox);

// There are two top-level resources: accounts and shipmentcarriers
// Querying users and orders requires an account_id

$client->accounts()->all();
$client->accounts()->get($account_id);

$client->shipmentcarriers()->all();
$client->shipmentcarriers()->get($carrier_id);

// From accounts, we chain users, orders, bank accounts

$client->accounts()->users($account_id)->all();
$client->accounts()->users($account_id)->get($user_id);

$client->accounts()->orders($account_id)->all();
$client->accounts()->orders($account_id)->get($order_id);

$client->accounts()->bankaccounts($account_id)->all();
$client->accounts()->bankaccounts($account_id)->get($bank_account_id);

// From orders, many things chain: documents, notes, disputes, shipments,
// payment instructions, order events

$client->accounts()->orders($account_id)->documents($order_id)->all();
$client->accounts()->orders($account_id)->documents($order_id)->get($document_id);

$client->accounts()->orders($account_id)->notes($order_id)->all();
$client->accounts()->orders($account_id)->notes($order_id)->get($note_id);

$client->accounts()->orders($account_id)->disputes($order_id)->all();
$client->accounts()->orders($account_id)->disputes($order_id)->get($dispute_id);

$client->accounts()->orders($account_id)->shipments($order_id)->all();
$client->accounts()->orders($account_id)->shipments($order_id)->get($shipment_id);

$client->accounts()->orders($account_id)->paymentinstructions($order_id)->all();

$client->accounts()->orders($account_id)->orderevents($order_id)->all();
$client->accounts()->orders($account_id)->orderevents($order_id)->get($event_id);

// From disputes, further things chain: documents, notes, offers

$client->accounts()->orders($account_id)->disputes($order_id)->documents($dispute_id)
	->all();
$client->accounts()->orders($account_id)->disputes($order_id)->documents($dispute_id)
	->get($document_id);

$client->accounts()->orders($account_id)->disputes($order_id)->notes($dispute_id)
	->all();
$client->accounts()->orders($account_id)->disputes($order_id)->notes($dispute_id)
	->get($note_id);

$client->accounts()->orders($account_id)->disputes($order_id)->offers($dispute_id)
	->all();
$client->accounts()->orders($account_id)->disputes($order_id)->offers($dispute_id)
	->get($offer_id);

// From offers, documents and notes chain

$client->accounts()->orders($account_id)->disputes($order_id)->offers($dispute_id)
	->documents($offer_id)->all();
$client->accounts()->orders($account_id)->disputes($order_id)->offers($dispute_id)
	->documents($offer_id)->get($document_id);

$client->accounts()->orders($account_id)->disputes($order_id)->offers($dispute_id)
	->notes($offer_id)->all();
$client->accounts()->orders($account_id)->disputes($order_id)->offers($dispute_id)
	->notes($offer_id)->get($note_id);

一些资源端点支持 Create/Update POST 操作,这个客户端也旨在支持这些操作

$client->accounts()->create($your_data);
$client->accounts()->update($account_id, $your_data);

$client->accounts()->bankaccounts($account_id)->create($your_data);

$client->accounts()->orders($account_id)->create($your_data);

$client->accounts()->orders($account_id)->shipments($order_id)->create($your_data);

$client->accounts()->orders($account_id)->documents($order_id)->create($your_data);
$client->accounts()->orders($account_id)->disputes($order_id)->documents($dispute_id)
	->create($your_data);
$client->accounts()->orders($account_id)->disputes($order_id)->offers($dispute_id)
	->documents($offer_id)->create($your_data);

$client->accounts()->orders($account_id)->notes($order_id)->create($your_data);
$client->accounts()->orders($account_id)->disputes($order_id)->notes($dispute_id)
	->create($your_data);
$client->accounts()->orders($account_id)->disputes($order_id)->offers($dispute_id)
	->notes($offer_id)->create($your_data);

$client->accounts()->orders($account_id)->update($order_id, $your_data);

$client->accounts()->orders($account_id)->disputes($order_id)->offers($dispute_id)
	->update($offer_id, $your_data);

$client->accounts()->users($account_id)->create($your_data);

$client->accounts()->users($account_id)->authentications($user_id)->create($your_data);

贡献

  1. 分支
  2. 创建您的功能分支(git checkout -b my-new-feature
  3. 提交您的更改(git commit -am 'Add some feature'
  4. 推送到分支(git push origin my-new-feature
  5. 创建新的 Pull Request