我有一个页面,用户输入一个cc并收取费用。
我使用js
创建一个卡片令牌Stripe.card.createToken(ccData, function stripeResponseHandler(status, response) {
var token = response.id;
// add the cc info to the user using
// charge the cc for an amount
});
使用php
添加cc I' m$stripeResp = Stripe_Customer::retrieve($stripeUserId);
$stripeResp->sources->create(['source' => $cardToken]);
使用php收取cc我的费用
$stripeCharge = Stripe_Charge::create([
'source' => $token,
'amount' => $amount
]);
完成所有这些我得到You cannot use a Stripe token more than once
。
任何想法如何将cc保存到此用户$stripeUserId
并对其收费。
PHP很受欢迎,但是js也很棒。
答案 0 :(得分:0)
https://stripe.com/docs/tutorials/charges
保存信用卡详细信息以供日后使用
条纹标记只能使用一次,但这并不意味着必须使用 请求每位付款的客户卡详细信息。条纹 提供了一个Customer对象类型,可以很容易地保存它 其他信息供以后使用。
不要立即为卡充电,而是创建一个新客户, 在此过程中将令牌保存在客户上。这会让你 在未来的任何时候向客户收取费用:
(以多种语言示例)。 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("yourkey");
// Get the credit card details submitted by the form
$token = $_POST['stripeToken'];
// Create a Customer
$customer = \Stripe\Customer::create(array(
"source" => $token,
"description" => "Example customer")
);
// Charge the Customer instead of the card
\Stripe\Charge::create(array(
"amount" => 1000, // amount in cents, again
"currency" => "usd",
"customer" => $customer->id)
);
// YOUR CODE: Save the customer ID and other info in a database for later!
// YOUR CODE: When it's time to charge the customer again, retrieve the customer ID!
\Stripe\Charge::create(array(
"amount" => 1500, // $15.00 this time
"currency" => "usd",
"customer" => $customerId // Previously stored, then retrieved
));
使用存储的付款方式在Stripe中创建客户后,即可 可以通过客户在任何时间点向该客户收费 收费请求中的ID而不是卡表示。肯定 将客户ID存储在您身边供以后使用。
https://stripe.com/docs/api#create_charge-customer
的更多信息条纹有很好的文档,请阅读!