ashraam/ipaidthat-php

IPaidThat PHP Api 连接器

1.0.0 2021-07-02 11:16 UTC

This package is auto-updated.

Last update: 2024-09-29 05:41:46 UTC


README

Latest Stable Version Build Status License

PHP 的 IPaidThat API(V2)包装器。

您可以管理客户、发票、发票项。

目录

安装

使用 composer

composer require ashraam/ipaidthat-php

用法

列出或筛选客户

此方法返回客户数组

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$customers = $api->customers()->list();

// With filters
$customers = $api->customers()->list([
   'last_name' => 'Doe',
   'email' => 'john.doe@gmail.com'
]);

可用筛选器: external_id, name, last_name, first_name, email, siren

有关类型和要求的更多信息,请参阅官方文档。

获取客户

此方法返回客户

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$customers = $api->customers()->get(123);

创建客户

此方法返回新创建的客户

此方法仅接受 Ashraam\IpaidthatPhp\Entity\Customer 实例

use Ashraam\IpaidthatPhp\Ipaidthat;
use Ashraam\IpaidthatPhp\Entity\Customer;

$api = new Ipaidthat('your_token');

$customer = $api->customers()->create(new Customer([
   'external_id' => 'string',
   'name' => 'string',
   'first_name' => 'string',
   'last_name' => 'string',
   'siren' => 'string',
   'vat' => 'string',
   'address' => 'string',
   'email' => 'string',
   'phone' => 'phone',
   'extra' => 'string'
]));

更新客户

此方法返回更新的客户

此方法仅接受 Ashraam\IpaidthatPhp\Entity\Customer 实例

use Ashraam\IpaidthatPhp\Ipaidthat;
use Ashraam\IpaidthatPhp\Entity\Customer;

$api = new Ipaidthat('your_token');

$customer = $api->customers()->get(123);

$customer->first_name = 'Chuck';
$customer->last_name = 'Norris';

$customer = $api->customers()->update($customer);

删除客户

此方法返回空响应

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$api->customers()->delete(123);

列出或筛选发票

此方法返回发票数组

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$invoices = $api->invoices()->list();

// With filters
$invoices = $api->invoices()->list([
    'issue_date' => '2021-01-25',
    'customer_id' => 123
])

可用筛选器: external_id, type, status, issue_date, number, generated_number, due_date, sent, customer_id, sender_id, customer, sender.

有关类型和要求的更多信息,请参阅官方文档。

获取发票

此方法通过其 ID 返回发票(不包含项)

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$invoice = $api->invoices()->get(750);

创建发票

此方法返回新创建的发票

此方法仅接受 Ashraam\IpaidthatPhp\Entity\Invoice 实例

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$invoice = $api->invoices()->create(new Invoice([
    'external_id' => 'string, nullable',
    'issue_date' => 'Y-m-d',
    'type' => 'invoice|quote|order|credit|other',
    'due_date' => 'Y-m-d',
    'shipping' => 10.5,
    'c_field_name_1' => 'string',
    'c_field_value_1' => 'string',
    'c_field_name_2' => 'string',
    'c_field_value_2' => 'string',
    'sender' => 'integer, nullable',
    'customer' => 'interger, nullable',
    'multi_page' => 'boolean',
    'status' => 'draft|updating|not paid|paid',
    'paid' => 'boolean'
]));

更新发票

此方法返回更新的发票

此方法仅接受 Ashraam\IpaidthatPhp\Entity\Invoice 实例

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$invoice = $api->invoices()->get(123);

$invoice->due_date = '2021-12-15';
$invoice->multi_page = true;

$invoice = $api->invoices()->update($invoice);

下载发票

此方法返回 PDF 的原始字符串内容

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$contents = $api->invoices()->download(123);

file_put_contents('invoice.pdf', $contents);

验证发票

此方法验证发票

如果第二个参数设置为 true,则发票将发送到客户电子邮件地址(默认设置为 false

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$invoice = $api->invoices()->validate(123, true);

删除发票

此方法返回空响应

已验证的文件无法删除

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$api->invoices()->delete(123);

列出或筛选发票项

此方法返回发票项数组

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$items = $api->invoiceItems()->list();

// With filters
$items = $api->invoiceItems()->list([
    'invoice_id' => 13255
]);

可用筛选器: invoice_id, name, additionnal_info, invoice

获取发票项

此方法通过其 ID 返回项

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$item = $api->invoiceItems()->get(455874);

向发票添加项

此方法返回新创建的项

此方法仅接受 Ashraam\IpaidthatPhp\Entity\InvoiceItem 实例

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$item = $api->invoiceItems()->create(new InvoiceItem([
    'invoice' => $invoice_id,   // Required
    'name' => 'name',           // Required
    'unit_price' => 12.15       // Required
    'quantity' => 1,
    'tax_percent' => 20,
    'discount_percent' => 5,
    'additionnal_info' => '',
    'position' => 1
]));

更新发票项

此方法返回更新的项

此方法仅接受 Ashraam\IpaidthatPhp\Entity\InvoiceItem 实例

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$item = $api->invoiceItems()->get(455874);

$item->name = 'Edited name';
$item->quantity = 6;

$item = $api->invoiceItems()->update($item);

删除发票项

此方法返回空响应

use Ashraam\IpaidthatPhp\Ipaidthat;

$api = new Ipaidthat('your_token');

$api->invoiceItems()->delete(455874);

贡献

欢迎提交拉取请求。对于主要更改,请首先打开一个问题来讨论您想要更改的内容。

请确保根据需要更新测试。

许可

MIT