2016-05-08 25 views
4

私はCodeIgniterの中にストライプを使用し、ここで私はそれを設定している方法ですよ:呼び出し::取得()

を私のストライプコントローラの中で、私は次のことで、ライブラリを呼び出しています:

require_once(APPPATH.'libraries/stripe/init.php'); 

これはStripe - PHP Fatal error: Class 'Stripe\Charge' not found

ごとに失敗している機能があるさ:

function cancelSubscription($stripeaccount){ 

    $customer = \Stripe\Customer::retrieve($stripeaccount); 
    $sub_id = $customer->subscriptions->data[0]->id;  
    echo $sub_id; 
    $subscription = \Stripe\Subscription::retrieve($sub_id); 
    $subscription->cancel(); 

} 

私は最初の行の\ Stripe \ Customerコールが実際に働いていて、サブスクリプションIDを取り戻していることをエコーで確認しました。私はと第四行のサブスクリプションを取得しようとすると、しかし、それは失敗しています:

$sub = \Stripe\Subscription::retrieve("sub_8PVEGdSaepQU26"); 
$sub->cancel(); 

そして、あなたは私の変数名を除いて、見ることができますように。

Fatal error: Call to undefined method Stripe\Subscription::retrieve() 

ストライプのマニュアルは、次の例を示します、 それは同じだ。私はこの上に空白になっている、任意の助けをいただければ幸いです。

結果:

ますprint_r(get_class_methods( '\ストライプ\サブスクリプション'));

[0] => instanceUrl [1] => cancel [2] => save [3] => deleteDiscount [4] => baseUrl [5] => refresh [6] => className [7] => classUrl [8] => init [9] => __construct [10] => __set [11] => __isset [12] => __unset [13] => __get [14] => offsetSet [15] => offsetExists [16] => offsetUnset [17] => offsetGet [18] => keys [19] => constructFrom [20] => refreshFrom [21] => serializeParameters [22] => __toJSON [23] => __toString [24] => __toArray 
+0

何を? – Thanos

+0

いいえ、返されたsub_idが自分のストライプアカウントで有効であることを確認しました。しかし、私はそれが実際にそれをそれほど実感していないと思っています。なぜなら何らかの理由でSubscriptionクラスを認識できないか、少なくとも私が思うことです。 – bryanx

+0

'print_r(get_class_methods( '\ Stripe \ Subscription'))'は何をしますか?それは静的メソッドを返すかどうかわからない! – Thanos

答えて

8

\ストライプ\サブスクリプション:: APIを取得する非常に新しく、ストライプPHPライブラリ(3.13.0)の最新バージョンを必要とし、あなたのストライプのライブラリを更新してみてください。

+0

ライブラリを3.13.0に更新しました。これは魅力的です。ありがとう! – bryanx

0

たくない更新ストライプを行う場合は、単にcancelsubscriptionをこの関数を使用します。

function cancelSubscription($stripeaccount){ 
     //$stripeaccount will be customer_id 
    $customer = \Stripe\Customer::retrieve($stripeaccount); 
    $sub_id->cancelSubscription(); 
     // cancelSubscription() is a function in Stripe_Customer Class, 
     // So without getting subscription detail direct cancel the subscription 

} 

の詳細については、こちらを見ていないしてください: `$のsub_id`と間違っCan't cancel the subscription on stripe in cakephp

関連する問題