Konfiguruję płatności za pomocą interfejsu API Stripe, aby umożliwić użytkownikowi logowanie się do swojego konta Stripe na iPadzie i akceptowanie płatności od dowolnej osoby. Aby to zrobić, używam aplikacji Stripe Connect, aby się zalogować i zapisać identyfikator swojego konta, a następnie używam numeru STPPaymentCardTextField
do uzyskania danych karty kredytowej, a następnie przy użyciu zestawu SDK Stripe iOS Przesyłam kartę (za pomocą karty testowej info - 4242 ...) i odzyskanie tokena przez createTokenWithCard
. Powoduje to zwrócenie tokena. W tym momencie muszę przesłać token wraz z identyfikatorem konta docelowego (dostarczonego do aplikacji po zalogowaniu użytkownika) i inne informacje (waluta, kwota itp.) Do mojego własnego serwera, aby przesłać płatność do Stripe. I sprawdzeniu, że informacje są składane i przekazywane na pas, ale Stripe zwraca błąd:Błąd "Brak takiego tokena" po przesłaniu prośby o płatność do Stripe
{ type: 'invalid_request_error',
app[web.1]: message: 'No such token: tok_13vxes2eZkKYli2C9bHY1YfX',
app[web.1]: param: 'source',
app[web.1]: statusCode: 400,
app[web.1]: requestId: 'req_7AIT8cEasnzEaq' },
app[web.1]: requestId: 'req_7AIT8cEasnzEaq',
app[web.1]: statusCode: 400 }
Jeśli przesłać informacje dotyczące kart kredytowych bezpośrednio, unikając token ogóle, płatność powiedzie. Coś jest nie tak z tym tokenem i nie jesteśmy pewni, dlaczego to się nie udaje. Co tu może być nie tak?
[[STPAPIClient sharedClient] createTokenWithCard:card completion:^(STPToken *token, NSError *error) {
//submit tokenId and other info to 'charge' endpoint below
}
NodeJS:
app.post('/charge', (req, res, next) => {
stripe.charges.create({
amount: req.body.amount,
currency: req.body.currency,
source: req.body.token,
description: req.body.description,
destination: req.body.destination
}, (err, charge) => {
if (err) return next(err)
res.json(charge)
})
})
Ta odpowiedź została udzielona 2 lata temu i została zaakceptowana. Dlaczego odpowiadasz w języku programowania, o który się nie prosiłeś? –
, ponieważ mam taki sam błąd "nie taki Tuck", a zaakceptowana odpowiedź nie działa. W przypadku, gdy ktoś inny znalazł ten sam problem, może sprawdzić, czy brakuje tego atrybutu. język programowania nie jest kluczem, kluczem jest dodanie tego atrybutu – Usher