使用條紋創建費用時,我不斷收到400錯誤。奇怪的是,有時它可以正常工作,但大部分時間根本不起作用。付款也會每次都完成。無論錯誤如何。這個PHP腳本是否正確處理付款?條紋錯誤:您不能多次使用條紋標記
注意:我已經檢查過,每次創建收費標記都是唯一的。
<?php
require_once('stripe.php');
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("key");
$token = $_POST['stripeToken'];
$email = $_POST['email'];
// Create the charge on Stripe's servers - this will charge the user's card
try {
// Create a Customer:
$customer = \Stripe\Customer::create(array(
"email" => $email,
"source" => $token,
));
// Charge the Customer instead of the card:
$charge = \Stripe\Charge::create(array(
"amount" => 1000,
"currency" => "usd",
"customer" => $customer->id
));
} catch(\Stripe\Error\Card $e) {
// Since it's a decline, \Stripe\Error\Card will be caught
$body = $e->getJsonBody();
$err = $body['error'];
print('Status is:' . $e->getHttpStatus() . "\n");
print('Type is:' . $err['type'] . "\n");
print('Code is:' . $err['code'] . "\n");
// param is '' in this case
print('Param is:' . $err['param'] . "\n");
print('Message is:' . $err['message'] . "\n");
} catch (\Stripe\Error\RateLimit $e) {
$response["error"] = TRUE;
\t \t $response["error_msg"] = "Error processing payment - Rate Limit.";
\t \t echo json_encode($response);
} catch (\Stripe\Error\InvalidRequest $e) {
\t $response["error"] = TRUE;
\t \t $response["error_msg"] = "Error processing payment - Invalid request.";
\t \t echo json_encode($response);
} catch (\Stripe\Error\Authentication $e) {
$response["error"] = TRUE;
\t \t $response["error_msg"] = "Error processing payment - Authentication.";
\t \t echo json_encode($response);
} catch (\Stripe\Error\ApiConnection $e) {
$response["error"] = TRUE;
\t \t $response["error_msg"] = "Error processing payment - API Connection.";
\t \t echo json_encode($response);
} catch (\Stripe\Error\Base $e) {
$response["error"] = TRUE;
\t \t $response["error_msg"] = "Error processing payment - Base.";
\t \t echo json_encode($response);
} catch (Exception $e) {
$response["error"] = TRUE;
\t \t $response["error_msg"] = "Error processing payment - Exception.";
\t \t echo json_encode($response);
}
?>