Stripe-dotnet: Cobrança única obtendo resposta de erro "Deve fornecer origem ou ID do cliente"

Criado em 21 mai. 2015  ·  5Comentários  ·  Fonte: stripe/stripe-dotnet

Estou usando a versão mais recente do Stripe.net (boa API, a propósito!), Minha versão da API do stripe no meu painel do stripe é 2013-08-13 (se isso importa, duvido que importe). Recebo o erro observado na linha de assunto acima com o código abaixo (recebo um tokenID válido de uma chamada javascript para stripe antes de invocar este método c #). Alguma pista do que estou fazendo de errado?

StripeChargeCreateOptions oneTimeCharge = new StripeChargeCreateOptions ();

oneTimeCharge.Amount = 13900;
oneTimeCharge.Currency = "usd";
oneTimeCharge.Description = "Nova compra";
oneTimeCharge.Card = new StripeCreditCardOptions ();
oneTimeCharge.Card.TokenId = viewModel.StripeToken;

StripeChargeService chargeService = new StripeChargeService ();
StripeCharge stripeCharge;
experimentar
{
stripeCharge = chargeService.Create (oneTimeCharge);
}
catch (StripeException se)
{
// Recusado ou algum outro problema. Retorne a mensagem ao usuário.
viewModel.ErrorMessage = se.Message;
Retorna;
}

Comentários muito úteis

Não consigo alterar a chave da API nas configurações da conta em stripe, até criei uma nova conta e dizia "A versão da API será escolhida automaticamente quando você fizer o primeiro uso da API", então fiz um Stripe Conexão .NET e ele escolheu "2015-04-07 (mais recente)". Então, estou muito preso agora.

EDITAR:
Problema resolvido, era um problema com uma string de token nula. Erro meu, desculpe.

Todos 5 comentários

Você já criou um StripeCustomer? Nesse caso, você precisará definir o CustomerId em oneTimeCharge.

editar: o código-fonte foi adicionado em uma versão posterior do stripe api, que o stripe.net ainda não usa. Então isso não deveria ser aplicável.

Estou tendo o mesmo problema, não quero usar o StripeCustomers. O fato é que o stripe usa o parâmetro "source" para passar o TokenID. Como posso resolver isso? https://stripe.com/docs/tutorials/charges

Existe um teste para este caso , que passa para mim. Não tenho certeza do que é diferente em sua situação além da chave API (que pode ter um impacto se Stripe estiver tentando procurar source ). Tente alterar a chave da API para "2015-02-10" e veja se isso tem um impacto.

Caso contrário, você pode anexar um depurador e colocar um ponto de interrupção em GetWebRequest para verificar se há um parâmetro "card [tokenid]" adequado no url.

Não consigo alterar a chave da API nas configurações da conta em stripe, até criei uma nova conta e dizia "A versão da API será escolhida automaticamente quando você fizer o primeiro uso da API", então fiz um Stripe Conexão .NET e ele escolheu "2015-04-07 (mais recente)". Então, estou muito preso agora.

EDITAR:
Problema resolvido, era um problema com uma string de token nula. Erro meu, desculpe.

@spiez ele como conseguiu resolver o problema com o arquivo JS enviando uma string de token nula. Estou tendo o mesmo problema. Não acredito que meu arquivo Js esteja analisando as informações

Esta página foi útil?
0 / 5 - 0 avaliações