Stripe.net-尝试代为收费
本文关键字:net- Stripe | 更新日期: 2023-09-27 18:26:17
我试图使用Stripe代表某人收费。我成功地完成了连接部分,但之后我试图创建一个令牌/收费,但它不起作用。
关于代码中使用的参数的一些信息:
- "acct_158fBAOizDDfp9B"-从Connect用户处获取
- WebConfig.AppSettings.StepeClientId-我的客户端Id从Stripe获取仪表板
- WebConfig.AppSettings.StepeSecretApiKey-我的条纹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»错误。
两件事:
由于您使用的是Stripe Connect,您只能使用Stripe.js或Stripe Checkout创建代币,因此您的服务器永远不应该访问卡信息。此外,我不知道为什么要将令牌的customerId设置为客户端id,客户端不是客户。
此外,API密钥应该是您的API密钥,因为您使用的是Stripe帐户头,选项是(您的API密钥和连接帐户的帐户id)或(访问令牌)。Stripe Connect文档的身份验证部分对此进行了讨论。