2015-10-14 11 views
20

ストライプAPIを使用して支払いを設定すると、ユーザーはiPadのストライプアカウントにログインし、これを行うには、Stripe Connectを使用してログインしてアカウントIDを保存してから、STPPaymentCardTextFieldを使用してクレジットカードの詳細を取得し、次にStripe iOS SDKを使用してカードを送信します(テストカードinfo - 4242 ...)、createTokenWithCardでトークンを取り戻してください。これにより、正常にトークンが返されます。この時点で、私はストライプに支払いを提出するために自分のサーバーに(ユーザーがログインした後にアプリケーションに提供された)宛先アカウントIDと他の情報(通貨、金額など)と共にそのトークンを提出する必要があります。私は情報がストライプに提出され、転送されていることを確認したが、ストライプは、エラーを返して:ストライプへの支払いリクエストの提出時に「このようなトークンがありません」というエラーが発生しました

{ 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 } 

我々は完全にトークンを避け、直接クレジットカード情報を提出する場合は、支払いが成功しました。このトークンに何か問題があり、なぜ失敗しているのかわかりません。ここで何がうまくいかないのでしょうか?

[[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) 
    }) 
}) 

答えて

4

回答がうまくいかない私はクライアントとサーバーに正しいキーを使用していますが、それでも問題はまだあります。私はiOSからサーバーにソースを送信していますが、ストライプのRocketRidesに基づいて、「card_xxx」というクレジットカードのソースIDが送信されていますが、これは動作しません。あなたはあなたのサーバー側で呼び出しのための "顧客"属性を追加する必要があります。例えば

:(パイソン)

stripe.Charge.create(量= 1000、通貨= 'USD'、ソース= "card_xxxxx" 顧客 = 'cus_xxxx'、application_fee = 600、宛先= {'account': 'acct_xxxx'})

+0

これは2年前に回答され、受け入れられました。なぜあなたはプログラミング言語でもリクエストしていないのに答えますか? –

+2

私は同じ "いいえtoke"エラーがあり、受け入れられた答えが機能しないので、他の誰かが同じ問題を発見した場合、彼らはこの属性が欠落しているかどうかを確認することができます。プログラミング言語はキーではなく、キーはこの属性を追加することです – Usher

36

あなたはあなたのサーバとクライアントで同じAPIキーを使用していますか?
サーバーで(ライブ/テスト)秘密鍵を使用している必要があります。iOSアプリケーションでは、Stripe Testingに記載されているように(ライブ/テスト)パブリッシュ可能なキーを使用する必要があります。

+3

公開鍵がアカウント設定に表示されたキーと一致しないという問題がありました。どういうわけかAppDelegateに貼り付けてから変更されました。 – Joey

+2

も同じ問題がありました。 @ジョー – Christophe

+0

同じ問題を指してくれてありがとう、シンプルだが、私はそれを考えなかった。 – robertmylne

関連する問題