gpt4 book ai didi

javascript - 如何在 Angular 中进行实际的 Stripe 收费(stripeToken 已知)?

转载 作者:行者123 更新时间:2023-12-02 15:35:21 26 4
gpt4 key购买 nike

我正在使用Angular-Stripe-Checkout library创建像这样的 stripeToken example 。一些亮点如下所示。

与许多 Angular-stripe 库和示例一样,它仅展示如何创建 stripeToken。

但是,我不清楚在检索到 stripeToken 后如何实际向用户收费?

在 Stripe 上,他们有 instructions关于如何使用 Node.js 向用户收费。但我不清楚如何设置它并使其与 Angular 兼容。

<小时/>

代码要点

html

<button ng-click="product.doCheckout()">Buy</button>

js

// note: StripeCheckout is injected in the controller
product.doCheckout = function(token, args) {

// You should configure a handler when the view is loaded,
// just as you would if you were using checkout.js directly.
//
// Unlike a vanilla Stripe Checkout handler, this one can be
// reused as many times as you like.
var handler = StripeCheckout.configure({
name: "Custom Example",
token: function(token, args) {
console.log(token.id)
//$log.debug("Got stripe token: " + token.id);
}
});

var options = {
description: "Ten dollahs!",
amount: 10000
};

// The default handler API is enhanced by having open()
// return a promise. This promise can be used in lieu of or
// in addition to the token callback (or you can just ignore
// it if you like the default API).
//
// The rejection callback doesn't work in IE6-7.
handler.open(options)
.then(function(result) {
alert("Got Stripe token: " + result[0].id);
console.log(result);

var stripe = window.Stripe;
var stripeToken = result[0].id;

//
// what next?

},function() {
alert("Stripe Checkout closed without making a sale :(");
}
);
};

最佳答案

简短的回答是:不要这样做。

长答案:您收到的 strip token 是交易 ID。它是公开的,因为它本身不构成风险。将其视为您要处理费用的卡的查找键。

但是,要处理交易,您需要一个私有(private)/ secret 元素:您的 key 。为了在客户端处理它,您需要将此 secret 泄露给客户端,这意味着任何人都可以看到该值。

我认为这样做并不明智,尤其是考虑到所讨论的 key 是您要进行 strip 化的 API key 。

我还进行了简短的检查,他们的 API 不会广播 CORS header ,因此无论如何,您都只能使用某种后端来执行请求。

创建费用的后端请求实际上非常简单。实际上,HTTP 调用类似于:

curl https://api.stripe.com/v1/charges \
-u sk_test_BQokikJOvBiI2HlWgH4olfQ2: \
-d amount=400 \
-d currency=usd \
-d source=tok_16t4Xt2eZvKYlo2CLvBSsmXD \
-d description="Charge for test@example.com"
  • sk_test_BQokikJOvBiI2HlWgH4olfQ2 是 API key
  • 您将为此支付 400 美元
  • 是您收到的 strip token
  • 描述是付款描述

如果您可以在任何服务器端环境中复制这样的调用,那么您就很出色。

(这直接来自他们的 API 文档 https://stripe.com/docs/api#create_charge )

关于javascript - 如何在 Angular 中进行实际的 Stripe 收费(stripeToken 已知)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32992249/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com