2015-06-03 4 views
1

Я пытаюсь установить соединение с полосой, но получаю сообщение об ошибке при создании заряда. Любая идея, что я делаю неправильно?Маркер жетонов с идентификатором не найден

клиент

Stripe.setPublishableKey([CUSTOMERS_PUBLISHABLE_KEY]); 
Stripe.card.createToken({ 
    number: card.number, 
    cvc: card.cvc, 
    exp_month: card.exp.month, 
    exp_year: card.exp.year 
}, stripeResponseHandler); 

ответ на этот вызов выглядит следующим образом:

{ 
    "id": "tok_169ZyxF6SmAjeAPKC9YF7YAi", 
    "livemode": false, 
    "created": 1433330667, 
    "used": false, 
    "object": "token", 
    "type": "card", 
    "card": {...} 
    }, 
    "client_ip": "..." 
} 

сервер

var stripe = require('stripe')(config.stripeSecretKey); 

stripe.charges.create({ 
    amount: totalPrice, 
    application_fee: appFee, 
    currency: 'usd', 
    source: paymentToken, // from above: tok_169ZyxF6SmAjeAPKC9YF7YAi 
    destination: [CUSTOMERS_STRIPE_USERID] 
}, function(err, charge){ 
    if (err) 
     // Error: There is no token with ID tok_169ZyxF6SmAjeAPKC9YF7YAi. 
      // at Error._Error (c:\dev\leaguespeed-node\node_modules\stripe\lib\Error.js:12:17) 
      // at Error.module.exports.protoExtend.Constructor (c:\dev\leaguespeed-node\node_modules\stripe\lib\utils.js:113:13) 
      // at Error.module.exports.protoExtend.Constructor (c:\dev\leaguespeed-node\node_modules\stripe\lib\utils.js:113:13) 
      // at Function.StripeError.generate (c:\dev\leaguespeed-node\node_modules\stripe\lib\Error.js:56:14) 
      // at IncomingMessage.StripeResource._responseHandler (c:\dev\leaguespeed-node\node_modules\stripe\lib\StripeResource.js:133:39) 
      // at IncomingMessage.emit (events.js:117:20) 
      // at _stream_readable.js:938:16 
      // at process._tickCallback (node.js:419:13) 

     return defer.reject(err); 
    else 
    { 
     defer.resolve(charge); 
    } 
}); 

ответ

1

Проблема здесь в том, что вы создаете маркер карты с подключенной пользовательский ключ для публикации. Затем вы пытаетесь зарядить этот токен на платформе, используя параметр destination. Это не будет работать, поскольку этот токен не известен платформой и только подключенной учетной записью.

При создании маркера вам необходимо использовать открываемый ключ платформы, если вы хотите зарядить его на платформе.

Кроме того, Stripe недавно изменила поток, и любой маркер карты, созданный с помощью опубликованного ключа платформы, будет работать и с любой из ваших подключенных учетных записей. Это означает, что вам больше не нужно использовать доступный для подписки ключ подключаемого аккаунта, и вы можете просто использовать платформу везде.

Смежные вопросы