条纹不对卡充电

时间:2016-11-10 14:44:13

标签: php stripe-payments

我遇到了Stripe的问题,它会愉快地创建令牌并将其发送到我的php计费脚本,此时在Stripe控制面板上创建200 OK - Token日志。它只是不会对卡充电,据我所知,我已经完成了所有事情,我没有错误,在php或Stripe API。

error_reporting(E_ALL);
ini_set('display_errors', 1);

$error = 0;

require_once('stripe-php-master/init.php');

$trialAPIKey = "sk_test_???";  // These are the SECRET keys!
$liveAPIKey = "sk_live_???";

\Stripe\Stripe::$apiBase = "https://api-tls12.stripe.com";

// Switch to change between live and test environments

\Stripe\Stripe::setApiKey($trialAPIKey);
/* \Stripe\Stripe::setApiKey($liveAPIKey); */

$token = $_POST['token'];
$price = $_POST['amount'];
$price = $price * 100;
$desc = $_POST['desc'];

try {
  $charge = \Stripe\Charge::create(array(
    "amount" => $price,
    "currency" => "gbp",
    "source" => $token,
    "description" => $desc
    ));
} catch(\Stripe\Error\Card $e) {
  // The card has been declined
  $error++;
}

if($error>=1) {
    echo "There was an error processing your card, please try again.";
} else {
    echo "Thank you, your payment was successful.";
}

1 个答案:

答案 0 :(得分:0)

请使用此代码来限制成功收费。

<?php
require_once("stripe2/init.php");
$card_no = '4242 4242 4242 4242';
$card_exp = '05 / 20';
$card_cvc = '123';
$token  = createstripetoken($card_cvc,$card_exp,$card_no);
$testcharge = charges(10,$token); 
echo $testcharge;

function charges($amount,$token)
{
 $charge = \Stripe\Charge::create(array(
 "amount" => $amount * 100,
 "currency" => "usd",
 "source" => $token, 

 ));
$succes = 'your one time charges successfully';
return $succes;
 }
function createstripetoken($card_cvc,$card_exp,$card_no)

{

  $exp_month = substr($card_exp,0,2);

  $exp_year = substr($card_exp,5,2);


  \Stripe\Stripe::setApiKey("your key here");



   $data = \Stripe\Token::create(array(

     "card" => array(

     "number" => $card_no,

     "exp_month" => $exp_month,

    "exp_year" => $exp_year,

    "cvc" => $card_cvc

     )

    ));

  $response = json_decode(json_encode($data), True);

 $token = $response['id'];
 return $token;
  }
  ?>