条纹付款:保存令牌和客户,稍后从令牌付款

Sha*_*zad 33 payment stripe-payments

条纹支付是否可行,

首先,我们将使用条带验证信用卡,然后我们生成令牌并创建客户.我们将在数据库中保存令牌而不是信用卡信息,之后我们将根据令牌或客户而非信用卡信息向客户付款.

在javscript文件,我们如何处理stripeResponseHandlerfunction stripeResponseHandler(status, response)

因为我们已经使用了生成令牌

Stripe.createToken({
            number: cardNumber,
            cvc: cardCVC,
            exp_month: $('#expiration-month').val(),
            exp_year: $('#expiration-year').val()
        }, stripeResponseHandler);
Run Code Online (Sandbox Code Playgroud)

在付款步骤中我们如何调用stripeResponseHandler?


请理解要求

1- 通过验证信用卡信息保存令牌,在这种情况下不涉及任何付款.金额/价格将为零(0).

2- 在数据库中保存此令牌,但此令牌使用次数不多.如果稍后使用此令牌,则无法使用.

3-创建客户将在stripe.com创建客户,我们也可以保存在我们的数据库中,但原因是我们不会从我们的网站充值,我们必须登录stripe.com并从该网站充值.当我们从该网站充值时,我们无法在我们的数据库中保存该记录.在创建客户时,我们必须为后者创建充值.如果我们使用这个客户,我们还需要再次使用信用卡.所以这是主要问题.

4-我们可以自己创建stripeResponseHandler函数 ,因为通过stripeResponseHandler验证卡可以在stripe服务器的stripe.js上完成.

bri*_*ian 37

我建议创建客户并保存您的客户ID,而不是保存令牌本身.然后,您可以在将来的任何时间向您的客户收费.有关保存卡详细信息,请参阅我们的文档.

在javscript文件中我们如何处理stripeResponseHandler和函数stripeResponseHandler(status,response).

您需要创建一个函数并将其作为您的stripeResponseHandler调用时传递createToken.所有这些功能都需要将您的令牌插入表单并提交.这里有一个简单的例子:https://gist.github.com/boucher/1750375


Châ*_*ĩnh 24

在Stripe中,为了保存卡(或银行帐户)以便以后收费,您必须创建一个客户,然后向该客户添加支付来源(card或bank_account).

使用付款来源(或多个来源)创建客户后,您有3个选项可以创建费用.

  1. 使用默认来源向客户收费:

    Stripe::Charge.create(
        amount: 1000,
        currency: 'usd',
        customer: 'cus_xxxx'
    )
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用信用卡向客户收费:

    Stripe::Charge.create(
        amount: 5000,
        currency: 'usd',
        customer: 'cus_xxxx',
        card: 'card_xxxx'
    )
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用银行帐户向客户收费:

    Stripe::Charge.create(
        amount: 8000,
        currency: 'usd',
        customer: 'cus_xxxx',
        bank_account: 'ba_xxxx'
    )
    
    Run Code Online (Sandbox Code Playgroud)


Ilk*_*aci 7

而不是保存令牌创建客户对象,并在本地仅保存卡ID.当您付款时,您可以选择定义要收费的卡.(如果您将客户ID传递给stripe.charges.create).在这种情况下,您不必传递令牌.使用这种方法,您也不需要处理默认卡.

stripe.charges.create({
amount: 400,
currency: "usd",
card: "card_xxxxx", 
customer: "cus_xxxxxx", 
Run Code Online (Sandbox Code Playgroud)