Laravel服务提供者,使用chargley chargify SDK v0.1.3对chargify API进行操作。

v0.0.2 2018-02-18 01:42 UTC

This package is auto-updated.

Last update: 2024-09-21 20:59:09 UTC


README

这是一个使用chargley chargify SDK v0.1.4的包装器。它创建了一个服务提供者和外观,用于自动加载到Laravel中。

如何安装

Laravel 5.+

  1. 安装nikjaysix/laravel-chargify

    $ composer require nikjaysix/laravel-chargify
  2. 更新config/app.php以激活LaravelChargify包

    # Add `LaravelChargifyServiceProvider` to the `providers` array
    'providers' => array(
        ...
        NikJaySix\LaravelChargify\LaravelChargifyServiceProvider::class,
    )
    
    # Add the `LaravelChargifyFacade` to the `aliases` array
    'aliases' => array(
        ...
        'Chargify' => NikJaySix\LaravelChargify\LaravelChargifyFacade::class
    )
  3. 生成Chargify配置文件

    $ php artisan vendor:publish
  4. 使用您的Chargify API凭证更新app/config/chargify.php

    return array(
        'hostname' => '****.chargify.com',
        'api_key' => 'chargify api key',
        'shared_key' => 'chargify shared key'
    );

示例用法

使用API v1创建订阅

$chargify = App::make('chargify');
  
// $handle is the subscription handle created in chargify
$new_subscription = $chargify->subscription()
    ->setProductHandle($handle)
    ->setCustomerAttributes([
        'first_name' => $user->first_name,
        'last_name' => $user->last_name,
        'email' => $user->email,
        'reference' => $user->id
    ])
    ->create();
  
if($new_subscription->isError()) {
    $errors = $new_subscription->getErrors();
    // handle errors
}

检索用户的订阅

$chargify = App::make('chargify');  
  
$subscription = $chargify->subscription();
  
// $user_subscription->subscription_id is the subscription ID generated by chargify
$subscription->read($user_subscription->subscription_id);
  
if($subscription->isError()) {
    $errors = $subscription->getErrors();
    // handle errors
}
  
// store subscription data in session
foreach ($subscription as $key => $value) {
    session(['subscription_' . $key => $value]);
}