iidestiny/spreedly

Spreedly API

2.7.1 2021-12-13 06:26 UTC

README

变更日志 !! 自2.0版本发布以来,金额必须是整数,这是Spreedly的要求。例如,1098代表10.98美元 !!

入门指南

设置/安装

通过Composer安装。

composer require tuurbo/spreedly

Laravel 4或5设置

接下来,更新app/config/app.php,在提供者数组中包含对该包提供者的引用,并在别名数组中包含外观。

'providers' => [
    ...
   'Tuurbo\Spreedly\SpreedlyServiceProvider'
]

'aliases' => [
    ...
    'Spreedly' => 'Tuurbo\Spreedly\SpreedlyFacade'
]

登录您的Spreedly账户以检索API凭据。创建第一个网关后,您可以设置默认网关。

添加到app/config/services.php配置文件。

return [

    ...

    'spreedly' => [
        'key' => '', // (required) Environment key
        'secret' => '', // (required) Signing Secret
        'gateway' => '', // (required) Default gateway
        'timeout' => '', // (optional) Default 64 seconds (recommended by Spreedly)
        'connect_timeout' => '', // (optional) Default 10 seconds
    ]

];

默认设置(非Laravel)

$config = [
    'key' => '', // (required) Environment key
    'secret' => '', // (required) Signing Secret
    'gateway' => '', // (required) Default gateway
    'timeout' => '', // (optional) Default 64 seconds (recommended by Spreedly)
    'connect_timeout' => '', // (optional) Default 10 seconds
];

$spreedly = new Tuurbo\Spreedly\Spreedly($config);

// The amount must be an integer as per required by Spreedly. E.g., 1098 for $10.98.
$resp = $spreedly->payment($paymentToken)->purchase(1098);

示例响应处理

// If the call to Spreedly is successful
if ($resp->success()) {
    return $resp->response();
    // $resp->transactionToken();
    // $resp->paymentToken();
    // $resp->message();
}

// If the call to Spreedly fails or payment declines
if ($resp->fails()) {

    // returns array
    return $resp->errors();

    // returns list of errors as a string
    return $resp->errors(true);
}

更多文档

网关

支付方式

交易

所有方法快速列表

注意:以下许多方法返回多个令牌。确保在存储令牌时,存储正确的令牌以供以后使用。

// Gateway calls.
Spreedly::gateway()->setup();
Spreedly::gateway()->all();
Spreedly::gateway()->show();
Spreedly::gateway()->create();
Spreedly::gateway()->disable();
Spreedly::gateway()->update();
Spreedly::gateway()->transactions();

// If using multiple gateways, you can set the gateway token before the payment call.
Spreedly::gateway()->payment()->purchase();
Spreedly::gateway()->payment()->authorize();

// Uses default gateway.
Spreedly::payment()->all();
Spreedly::payment()->create();
Spreedly::payment()->update();
Spreedly::payment()->disable();
Spreedly::payment()->retain();
Spreedly::payment()->recache();
Spreedly::payment()->store();
Spreedly::payment()->get();
Spreedly::payment()->transactions();
Spreedly::payment()->purchase();
Spreedly::payment()->authorize();
Spreedly::payment()->verify();
Spreedly::payment()->generalCredit();

// Transaction calls
Spreedly::transaction()->all();
Spreedly::transaction()->get();
Spreedly::transaction()->referencing();
Spreedly::transaction()->transcript();
Spreedly::transaction()->purchase();
Spreedly::transaction()->void();
Spreedly::transaction()->credit();
Spreedly::transaction()->capture();
Spreedly::transaction()->complete();

开发

克隆存储库并运行npm install。这将运行composer install

测试

测试位于spec目录中。它们使用phpspec编写。

要运行测试,只需执行npm test。如果您不想使用npm,没关系,只需运行vendor/bin/phpspec run

请确保为每个Pull Request添加了适当的测试覆盖率。

变更日志

2.4+

查看发行页面 https://github.com/tuurbo/spreedly/releases

2.3

  • 添加了对laravel 5.4的支持

2.2

  • 添加了合并配置的功能。

2.1

  • 将默认超时时间从15秒更改为64秒,这是Spreedly建议的。
  • 添加了超时方法来更改每个API调用的超时。例如,Spreedly::timeout(25)->payment()->purchase()
  • 添加了新的Tuurbo\Spreedly\Exceptions\TimeoutException以捕获超时。

2.0

  • 金额不再转换为分。
    • 金额必须是整数,这是Spreedly的要求。例如,1098代表10.98美元
  • 从Spreedly xml api切换到json api。
  • ->declined()方法重命名为->message()