carllee1983 / ecpay-einvoice-b2c
ECPay e-Invoice API wrapper with DTO-based operations, Laravel coordinator, and sandbox-ready docs
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/carllee1983/ecpay-einvoice-b2c
Requires
- php: ^8.1
- carllee1983/ecpay-core: ^1.0
Requires (Dev)
- fakerphp/faker: ^1.23
- mockery/mockery: ^1.6
- orchestra/testbench: ^8.0 || ^9.0
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^4.0
This package is auto-updated.
Last update: 2025-12-15 06:04:08 UTC
README
此套件封裝綠界電子發票(B2C)API,提供 Operations/Queries/Notifications 的一致介面、DTO-based 欄位建構、加密/解密與 Laravel 整合。
需求
- PHP
^8.3
安裝
composer require carllee1983/ecpay-einvoice-b2c
快速開始
use CarlLee\EcPayB2C\EcPayClient; use CarlLee\EcPayB2C\Operations\Invoice; use CarlLee\EcPayB2C\DTO\InvoiceItemDto; $server = 'https://einvoice-stage.ecpay.com.tw'; $merchantId = '2000132'; $hashKey = 'ejCk326UnaZWKisg'; $hashIV = 'q9jcZX8Ib9LM8wYk'; $client = new EcPayClient($server, $hashKey, $hashIV); $invoice = new Invoice($merchantId, $hashKey, $hashIV); $invoice->setRelateNumber('YEP' . date('YmdHis')) ->setCustomerEmail('demo@example.com') ->setItems([ InvoiceItemDto::fromArray(['name' => '商品範例', 'quantity' => 1, 'unit' => '個', 'price' => 100]), ]) ->setSalesAmount(100); $response = $client->send($invoice); $data = $response->getData();
命令契約(重要)
EcPayClient::send()只接受CarlLee\EcPayB2C\Contracts\SendableCommandInterface(通常直接繼承CarlLee\EcPayB2C\Content即可)。- 舊的
CarlLee\EcPayB2C\InvoiceInterface已標記 deprecated(相容層)。 - 若需自行檢視「實際送出的加密內容」,建議呼叫
Content::getTransportBody()(getContent()為相容名稱)。
文件
docs/README.md:文件索引與流程圖docs/api-overview.md:介接流程與模組總覽docs/error-codes.md:常見錯誤碼與驗證訊息