我目前正在尝试使用服务器端条带api创建费用。
但我面临一个问题;我正在使用两种方式来处理这个问题:
用户可以使用stripe element =>付款我因此使用生成的令牌('tok_somethingId')来实现这个场景
或者,如果用户已经添加了某些卡片,则可以在列表中选择一个卡片=>然后服务器使用卡ID('card_somethingId')和客户ID('cus_smoethingId')
我想知道是否有办法生成带有卡ID和客户ID的令牌,以便使用此令牌来创建费用,而不是使用卡ID和客户ID来向用户收费。
我已经尝试使用https://stripe.com/docs/api/node#create_card_token,但它似乎无效。
stripe.tokens.create({
card: cardId,
customer: customerId
}, function(err, token) {
// do smthg here with the token
});
答案 0 :(得分:1)
您无法为现有卡创建新令牌,因为这没有意义。该卡已保存在客户手中,您可以对其进行充电。
这里最简单的解决方案可能是反过来,并在获得令牌tok_XXXX
时将卡保存在客户身上。这样,您始终通过将customer
参数作为客户ID cus_XXXX
并将source
参数作为卡ID card_XXXX
传递来为卡充电。
否则,您需要动态处理此问题,以便了解您是获取令牌(tok_XXXX)还是卡ID(card_XXXX)并根据该决定传递不同的参数。您的前端代码应该知道您最终处于哪种情况。
答案 1 :(得分:1)
如果您使用存储卡付款,则无需获取令牌,
1-在条带上创建客户
$customer = \Stripe\Customer::create([
'email' => $customer_email,
]);
$response = ['status' => 'success', 'response' => $customer];
创建客户后,您将拥有customer_id
if(isset($response ['response']['id']))
$response ['customer_id'] = $response ['response']['id'];
2-您可以按客户ID和卡令牌在条带上添加卡
$customer = \Stripe\Customer::retrieve($customer_id);
$creditCard = $customer->sources->create(array("source" => $cardToken));
$response = ['status' => 'success', 'response' => $creditCard];
现在您拥有这样的卡号
"id": "card_1D4plsDExLRkbD8k1UWdqwIr"
3-您可以在客户上存储多张卡,也可以进行撤退
$cards = \Stripe\Customer::retrieve($customer_id)->sources->all(array(
"object" => "card"
));
4-您可以通过存储在客户帐户中的卡付款
$params = [
'currency' => 'USD',
'amount' => $total_amount * 100,
// converting dollars to cents
'description' => $description, //it may be blank
'customer' => $customer_id,
"card" => $card_id'
];
$transaction = \Stripe\Charge::create($params);
$response = ['status' => 'success', 'response' => $transaction['id']];
这里我们不使用'source'参数,因为在通过卡令牌进行付款时会使用它。
答案 2 :(得分:0)
https://api.stripe.com/v1/charges 只需传递体内的值
[{“ key”:“ amount”,“ value”:“ 1000”,“ description”:“”},{“ key”:“ currency”,“ value”:“ usd”,“ description”: “”},{“ key”:“客户”,“值”:“ cus_ID”,“描述”:“”},{“键”:“描述”,“值”:“ \” jenny.rosen的费用@ example.com \“”,“说明”:“”},{“ key”:“卡”,“值”:“ card_ID”,“说明”:“”}]]
这对我有用