подобный объект существует в режиме реального времени, но для выполнения этого запроса использовался ключ тестового режима. бросили в php - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь произвести платеж в режиме чередования, но отображается следующая ошибка:

Неустранимая ошибка PHP: Uncaught (Status 400) (Запрос req_uocWWxAIPTJ6ZR) Нет такого токена: tok_1FbZniE3n36TXaJ5sMm5KSsX;подобный объект существует в режиме реального времени, но для выполнения этого запроса был использован ключ тестового режима.
добавлено

Я прочитал несколько учебных пособий в Интернете, но все еще не получил лобовое руководство.

 require_once "vendor/autoload.php";

\Stripe\Stripe::setApiKey('sk_live_xxxxxxxxxxxxxxxxxxxxxx');
 $token = $_POST['stripeToken'];


    // Add customer to stripe 
  $customer = \Stripe\Customer::create(array( 
        'email' => $email, 
        'source'  => $token 
    )); 

  // Unique order ID 
    $orderID = strtoupper(str_replace('.','',uniqid('', true))); 

    // Charge a credit or a debit card 
    $charge = \Stripe\Charge::create(array( 
        'customer' => $customer->id, 
        'amount'   => $amt, 
        "currency" => "usd",
        'description' => "Payment for ". $rooms, 
        'metadata' => array( 
            'order_id' => $orderID 
        ) 
    )); 

    // Retrieve charge details 
  $chargeJson = $charge->jsonSerialize(); 

Пожалуйста, что я могу сделать, чтобы решить эту проблему?

1 Ответ

3 голосов
/ 09 ноября 2019

Эта ошибка указывает, что на стороне клиента вы использовали API-ключ Live Publishable (pk_live_123) для создания токена, а на стороне сервера вы использовали секретный API-ключ Test (sk_test_123) для создания Charge.

Iзнаю, что ваш код показывает, что вы используете ключ Live Secret, но это определенно не так. Здесь я бы порекомендовал добавить журналы на ваш серверный PHP-код, чтобы убедиться, что код, который вы запускаете, совпадает с кодом, который вы читаете, и чтобы убедиться, что вы используете правильный ключ API.

...