gifty/gifty-php

PHP 库,用于与 Gifty API 交互。

V1.8.0 2024-05-01 12:34 UTC

This package is auto-updated.

Last update: 2024-10-01 00:07:57 UTC


README

Latest Stable Version CI License

PHP 库,用于与 Gifty API 交互。此 SDK 使用公共 Gifty API 并允许您

  • 在您的网店接受礼品卡
  • 在您的 POS 系统中兑换和发行礼品卡
  • 检索礼品卡包
  • 检索门店位置

需求

  • PHP 8.0 及以上
  • 有效的 API 密钥,您可以在 Gifty 控制面板中 生成

安装

SDK 已发布在 Packagist 上,可以使用 Composer 进行安装。

composer require gifty/gifty-php

入门指南

在开始之前,建议您阅读底层 Gifty API 的文档,其中描述了所有可能的包含选项。

初始化客户端并执行 API 调用的方式如下。

$gifty = new \Gifty\Client\GiftyClient('eyJ0eXAi....');
$giftCard = $gifty->giftCards->get('ABCDABCDABCDABCD');

您也可以向客户端传递额外的头部信息。

$gifty = new \Gifty\Client\GiftyClient('eyJ0eXAi....', ['api_headers' => [
  'Accept-Language' => 'en',
  'X-Gifty-Location' => 'lc_123456789'
]]);
$giftCard = $gifty->giftCards->get('ABCDABCDABCDABCD');

检索位置

$locations = $gifty->locations->all();

检索包

$packages = $gifty->packages->all();

检索一个包

$package = $gifty->packages->get('gp_ABCDABCD');

检索礼品卡

$giftCard = $gifty->giftCards->get('ABCDABCDABCDABCD');

发行礼品卡

$transaction = $gifty->giftCards->issue(
  'ABCDABCDABCDABCD',
  [
    "amount" => 1250,
    "currency" => "EUR",
    "promotional" => false
  ]
);

兑换礼品卡

$transaction = $gifty->giftCards->redeem(
  'ABCDABCDABCDABCD',
  [
    "amount" => 1250,
    "currency" => "EUR",
    "capture" => false
  ]
);

延长礼品卡有效期

$transaction = $gifty->giftCards->extend(
  'ABCDABCDABCDABCD',
  [
    "expires_at" => "2027-09-15T12:42:42+00:00"
  ]
);

检索所有交易

$transactions = $gifty->transactions->all(['limit' => 5]);

根据礼品卡 ID 过滤检索所有交易

$transactions = $gifty->transactions->all(['giftcard' => 'gc_123456789']);

检索一个交易

$transaction = $gifty->transactions->get('tr_BV94pGgqRvgobxvrLX28jEl0');

捕获交易

$transaction = $gifty->transactions->capture('tr_BV94pGgqRvgobxvrLX28jEl0');

释放交易

$transaction = $gifty->transactions->release('tr_BV94pGgqRvgobxvrLX28jEl0');

开发

克隆 Git 仓库,以便您拥有本地工作副本。

git clone https://github.com/giftyhq/gifty-php

使用 Composer 安装所需的(开发)依赖项。

composer install

运行并为您所做的修改创建 PHPUnit 测试。

composer test

请确保您遵循 PSR12 编码标准。

composer phpstan & composer phpcs