2016-05-19 5 views
1

Я хочу реализовать форму оплаты Stripe, но получаю фатальную ошибку Class' Stripe \ Charge. Класс есть (см. Мое дерево папок), я пробовал:Stripe Class 'Stripe Charge

$charge = \Stripe\Charge::create(array(

$charge = \Charge::create(array(

но оба не работают. мой код PHP:

require_once('Stripe/lib/Stripe.php'); 
\Stripe\Stripe::setApiKey("my_key"); //Replace with your Secret Key 

$charge = \Stripe\Charge::create(array(
    "amount" => 1500, 
    "currency" => "usd", 
    "card" => $_POST['stripeToken'], 
    "description" => "Charge for Facebook Login code." 
)); 

enter image description here

ответ

2

Вы используете более старую (1.x) версию библиотеки нашивки PHP. В этой версии все классы были названы Stripe_Class.

В версии 2.0.0 синтаксис был изменен для использования пространства имен, и теперь все классы называются \Stripe\Class.

Если возможно, я рекомендую вам перейти на последнюю версию (3.13.0). Вы можете найти его здесь: https://github.com/stripe/stripe-php/releases. Все примеры в документации Stripe и справочной информации API используют новый синтаксис.

+0

спасибо вам помочь;) –

1

вы можете использовать

use \Stripe\Stripe; 
\Stripe\Stripe::setApiKey("my_key"); 
public function chargeCard($token) 
{ 
    try 
    { 
     $charge=\Stripe\Charge::create(array(
      "amount" => 200,//Amount in cent.(100 cent equal to $1.00).it is smallest currency unit 
      "currency" => "usd",//united state dollar .but we can use different countries currency code 
      "source" => $token, // obtained createtoken function 
      "description" => "Charge for testing"//desc of payment purpose,Automatic receipt emails will include the description of the charge(s) 
     ) 
     ); 
     } 
     catch(\Stripe\Card $e){ 
     echo $e->getMessage(); 
     } 
    } 
Смежные вопросы