issei-m/spike-php

此包已被 弃用 并不再维护。没有建议的替代包。

PHP 对 https://spike.cc REST API 的客户端。

v1.0-BETA5 2017-11-22 06:28 UTC

This package is auto-updated.

Last update: 2022-02-01 12:43:26 UTC


README

[已弃用]

由于 SPIKE 支付服务关闭,该项目已被弃用,您无法再访问其 API 端点。

最新版本: v1.0-BETA5

PHP (5.4+, 7+, HHVM) 对 https://spike.cc REST API 的客户端。

基本用法

首先,使用您的 API 密钥 初始化 Spike 对象。它是访问所有 API 接口的入口点

$spike = new \Issei\Spike\Spike('your_api_secret_key');

创建新的收费

要创建新的收费,您必须构建一个 ChargeRequest 对象。它可以指定 卡令牌金额货币 和一些相关产品。然后,使用它调用 charge() 方法。如果收费成功,此方法将返回由 REST API 生成的新的 Charge 对象

// The token's id is retrieved by SPIKE Checkout (client side script) usually.
$token = new \Issei\Spike\Model\Token('tok_xxxxxxxxxxxxxxxxxxxxxxxx');

$request = new \Issei\Spike\ChargeRequest();
$request
    ->setToken($token)
    ->setAmount(123.45, 'USD')
    ->setCapture(true) // If you set false, you can delay capturing.
;

$product = new \Issei\Spike\Model\Product('my-product-00001');
$product
    ->setTitle('Product Name')
    ->setDescription('Description of Product.')
    ->setPrice(123.45, 'USD')
    ->setLanguage('EN')
    ->setCount(3)
    ->setStock(97)
;

// The product can be added any times.
$request->addProduct($product);

/** @var $createdCharge \Issei\Spike\Model\Charge */
$createdCharge = $spike->charge($request);

提示:您可以直接传递 Token 的 id,而不是生成新的 Token 对象

$request->setToken('tok_xxxxxxxxxxxxxxxxxxxxxxxx');

注意:如果您想了解如何获取 卡令牌,请参阅 请求令牌 部分。

查找收费

使用收费 id 调用 getCharge() 方法

/** @var $charge \Issei\Spike\Model\Charge */
$charge = $spike->getCharge('20150101-100000-xxxxxxxxxx');

捕获收费

如果您有一个尚未捕获的收费,您可以使用 capture() 方法来捕获它

/** @var $charge \Issei\Spike\Model\Charge */
$capturedCharge = $spike->capture($charge);

退款

使用您想要退款的 Charge 对象调用 refund() 方法

/** @var $charge \Issei\Spike\Model\Charge */
$refundedCharge = $spike->refund($charge);

提示:您可以直接传递 Charge 的 id,而不是生成/检索 Charge 对象

$refundedCharge = $spike->refund('20150101-100000-xxxxxxxxxx');

检索所有收费

调用 getCharges() 方法。它返回一个包含 Charge 对象的数组。

/** @var $charges \Issei\Spike\Model\Charge[] */
$charges = $spike->getCharges();

分页

您可以在第一个参数中指定记录数的限制(默认为 10 条记录)

$charges = $spike->getCharges(5);

如果您将 Charge 对象(或直接作为字符串的 ID)传递到第二个参数中,您可以检索比传递的收费更早的收费(传递的收费不包括在列表中)

$nextCharges = $spike->getCharges(5, $charges[count($charges) - 1]);

在第三个参数中,如果您想检索比传递的收费更新的收费,也可以指定收费(或直接作为字符串的 ID)对象

$nextCharges = $spike->getCharges(5, $charges[count($charges) - 1], ...);

请求令牌

如果您与 https://spike.cc 签订合同以请求新的令牌,您可以使用 TokenRequest 通过 requestToken() 方法获取新的令牌

$request = new \Issei\Spike\TokenRequest();
$request
    ->setCardNumber('4444333322221111')
    ->setExpirationMonth(12)
    ->setExpirationYear(19)
    ->setHolderName('Taro Spike')
    ->setSecurityCode('123')
    ->setCurrency('JPY')
    ->setEmail('test@example.jp')
;

/** @var $charge \Issei\Spike\Model\Token */
$token = $spike->requestToken($request);

当然,您可以使用它创建新的收费

$request = new \Issei\Spike\ChargeRequest();
$request
    ->setToken($token)
    // ...
;

/** @var $charge \Issei\Spike\Model\Charge */
$charge = $spike->charge($request);

查找令牌

使用带有令牌 ID 的 getToken() 方法

/** @var $token \Issei\Spike\Model\Token */
$token = $spike->getToken('tok_xxxxxxxxxxxxxxxxxxxxxxxx');

安装

使用 Composer 安装该包

$ composer require issei-m/spike-php

贡献

  1. 进行分支复制
  2. 创建您的功能分支
  3. 提交您的更改并推送
  4. 创建新的拉取请求