如何向用户添加卡并使用 Stripe 对其进行收费?

Posted

技术标签:

【中文标题】如何向用户添加卡并使用 Stripe 对其进行收费?【英文标题】:How to add a card to a user and charge it using Stripe? 【发布时间】:2016-03-18 01:12:36 【问题描述】:

我有一个页面,用户输入抄送并被收费。

我使用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

$stripeResp = Stripe_Customer::retrieve($stripeUserId);
$stripeResp->sources->create(['source' => $cardToken]);

为了给cc充电,我也在用php

$stripeCharge = Stripe_Charge::create([
    'source'      => $token,
    'amount'      => $amount
]);

做这一切我得到You cannot use a Stripe token more than once

任何想法我如何将抄送保存给该用户$stripeUserId 并充电。

欢迎使用 PHP,但 js 也很棒。

【问题讨论】:

【参考方案1】:

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

Stripe 有很好的文档,请阅读!

【讨论】:

以上是关于如何向用户添加卡并使用 Stripe 对其进行收费?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Stripe 对既是信用卡又是债务的卡进行收费

Stripe - 向用户收费并通过电子邮件发送发票

如何通过客户 ID 使用 Stripe 收费

Stripe - 支付订单错误:无法向没有活动卡的客户收费

如何向 Stripe Charge 添加数量字段? JavaScript

向其他 Stripe 商家收费