当前位置: 首页 > 知识库问答 >
问题:

获取令牌以使用Stripe创建客户

商夜洛
2023-03-14

我使用Checkout在我的ASP. NET Core应用程序中实现Stripe。

我知道如何使用Checkout获得信用卡充值的令牌,但是我从哪里获得令牌来创建客户呢?

在文档中,我看到我需要获得一个令牌来创建客户,但不确定该令牌来自何处。https://stripe.com/docs/api/dotnet#create_customer

据我所知,代币只能使用一次,所以它不能是我在信用卡充值前得到的相同代币。

共有2个答案

阴宏爽
2023-03-14
  \Stripe\Stripe::setApiKey("----");
  \Stripe\Stripe::setApiKey(".................");
     $token=   \Stripe\Token::create(array(
     "card" => array(
       "number" => "4242424242424242",
       "exp_month" => 1,
       "exp_year" => 2019,
       "cvc" => "314"
     )
   ));
   $request['stripe_token'] =$token['id'];
  // When Contact person have not Stripe Customer id then we have to do the following process.
     try {
      $customer = \Stripe\Customer::create([
        "description" => "Customer for ".$contactDetails['email'],
        "source" => $request['stripe_token'] // obtained with Stripe.js
      ]);
       // update its customerid in the contact table

      // Create Customer then save its id in table and use the customer id when you are  verifiying the customer token
      $result=  \Stripe\Charge::create(array(
        "amount" => $request['amount'],
        "currency" => $request['currency'],
        "customer" => $customer
      ));
      $status = $result['succeeded'];
       if($result['status'] == "succeeded"){
           $success = 'Your payment was successful.';
           $all['payment_done'] = "1";
          $FinalArray = array('status'=>'true','message'=>'Your payment done successful.','result'=>$all);
       }else{
         $FinalArray = array('status'=>'fail','message'=>'Your Token is not generated successfully','result'=>[]);
       }

  }
     catch (Exception $e) {
       $error = $e->getMessage();
        $all['payment_done'] = "0";
        $FinalArray = array('status'=>'false','message'=>'The Stripe token id is not correctly','result'=>$all);
     }
凌啸
2023-03-14

正如我在这里引用的条纹文件

当您收集客户的付款信息时,会创建一个条纹令牌。该令牌只能使用一次,但这并不意味着您必须为每次付款请求客户的卡详细信息。

Stripe提供了一个Customer对象,可以方便地保存此信息和其他信息以供以后使用。您可以使用客户对象创建订阅或未来的一次性费用。

你要做的就是创建一个你拥有的客户,同时从该客户那里获取卡的详细信息并向该客户收费。

使用下面的代码片段进行操作,这样您将创建一个客户,并使用单个令牌进行收费

StripeConfiguration.SetApiKey(secret_key_of_your_account);
var token = model.Token; // Using ASP.NET MVC

var customers = new StripeCustomerService();
var charges = new StripeChargeService();

var customer = customers.Create(new StripeCustomerCreateOptions {
  Email = "paying.user@example.com",
  SourceToken = token
});

// YOUR CODE: Save the customer ID and other info in a database for later.

// YOUR CODE (LATER): When it's time to charge the customer again, retrieve the customer ID.
var charge = charges.Create(new StripeChargeCreateOptions {
  Amount = 1500, // $15.00 this time
  Currency = "usd",
  CustomerId = customer.Id
});

有关更多详细信息,请阅读参考文档

 类似资料:
  • 我的ios应用程序中有条带集成。 我能够使用用户输入的卡详细信息生成令牌。 我将此TOKEN发送到服务器进行支付过程。 那都很好! 问题是,我想使用它的API创建一个STRIPE客户。 如何做到这一点,SDK提供了什么吗? 或者在标题中传递“Authorization_KEY”和“STRIPE_TEST_PUBLIC_KEY”是正确的方法? 或者我需要实现整个OAuth 2.0? 请帮忙! 谢谢你

  • 我按照谷歌提供的留档使用API访问gmail。根据谷歌留档,我们需要访问令牌来管理gmail。 因此,我试图通过阅读下面给出的文档链接来创建一个访问令牌。 Link1:-developers.google.com/accounts/docs/OAuth2WebServer,基于此文档创建了URL1。 Link2:-code.google.com/p/google-mail-oauth2-tools

  • 我在这里有点迷路,需要一些直接的请。我是新来Java,这是我试图写的第一个程序,显然与它斗争了一个月左右。因此,目前我们使用邮递员输入客户端ID/秘密从第三方应用编程接口获得访问令牌,使用该令牌我们可以从第三方的另一个终端请求资源。我正在尝试引用多个资源,如此Spring安全示例https://github.com/spring-projects/spring-security/blob/mast

  • 我想使用证书凭据将文件上载到s3。是否可以使用certifcate获取s3 bucket的客户机对象? 最初,我尝试使用下面的命令上传一个文件, 现在,我不想使用ACCESS_KEY | SECRET_KEY来创建客户机对象,因为它正在边缘设备上运行。相反,我已经生成了证书(IOT)。我想使用此证书创建客户端对象。因此,最后我有了临时访问权|密钥|秘密|会话|令牌。我想传递这些临时凭据以创建客户端

  • 我编写了一个控制台ASP.NET应用程序来获取AccessTokens。我有clientId,我的应用程序的客户端秘密,我做了以下操作: var authContext=新的AuthenticationContext(“https://login.windows.net/common/oauth2/authorize”);var acquireTask=authContext.AcquireTok

  • 目前访问类型处于联机状态。当我需要访问驱动器上的文件/文件夹时,我将浏览器重定向到Google URL并获得访问代码: 一切运转良好!但我只需要第一次重定向。 当我谷歌时,在google Drive API文档中,我发现我可以通过浏览器重定向获得刷新令牌,并将其保存在数据库中。(换句话说,我可以使用脱机访问)。 而且每次当我需要从google drive读取数据时,我使用刷新令牌获得访问令牌,而无