Stripe.net - 尝试代表

时间:2015-12-09 04:55:34

标签: c# stripe-payments stripe-connect stripe.net

我尝试使用Stripe代表某人收费。我成功地完成了连接部分,但之后我尝试创建一个令牌/充电,但它不起作用。

代码中使用的参数的一些信息:

  • “acct_158fBBAOizDDfp9B” - 从Connect用户获取;
  • WebConfig.AppSettings.StripeClientId - 我的客户端ID来自Stripe 仪表板;
  • WebConfig.AppSettings.StripeSecretApiKey - 我的条纹 秘密API密钥;
  • “sk_test_5E9d7UHs9CVa3Ansop2JzIxI” - 私有API密钥 来自Connect用户。

这是我的代码:

StripeRequestOptions requestOptions = new StripeRequestOptions();
requestOptions.StripeConnectAccountId = "acct_158fBBAOizDDfp9B"; 

var myToken = new StripeTokenCreateOptions();


myToken.Card = new StripeCreditCardOptions()
{
    // set these properties if passing full card details (do not
    // set these properties if you set TokenId)
    Number = "4242424242424242",
    ExpirationYear = "2022",
    ExpirationMonth = "10",
    AddressCountry = "US",                // optional
    AddressLine1 = "24 Beef Flank St",    // optional
    AddressLine2 = "Apt 24",              // optional
    AddressCity = "Biggie Smalls",        // optional
    AddressState = "NC",                  // optional
    AddressZip = "27617",                 // optional
    Name = "Joe Meatballs",               // optional
    Cvc = "1223"                          // optional
};

// set this property if using a customer (stripe connect only)
myToken.CustomerId = WebConfig.AppSettings.StripeClientId; // My client ID get from Stripe dashboard.               

//var tokenService = new StripeTokenService(WebConfig.AppSettings.StripeSecretApiKey);                
var tokenService = new StripeTokenService("sk_test_5E9d7UHs9CVa3Ansop2JzIxI");                
            StripeToken stripeToken = tokenService.Create(myToken, requestOptions);

我有一个« 您必须为此客户传递有效的卡ID。 »错误。

1 个答案:

答案 0 :(得分:2)

一些事情:

由于您使用的是Stripe Connect,因此您只能使用Stripe.js或Stripe Checkout创建令牌,您的服务器永远不能访问卡信息。此外,我不知道为什么您将令牌的customerId设置为客户端ID,客户端不是客户。

此外,API密钥应该是您的API密钥,因为您使用的是Stripe帐户标头,该选项是(您的API密钥和已连接帐户的帐户ID)或(访问令牌)。这在条带连接documentation的身份验证部分中进行了讨论。