2016-12-19 6 views
1

В настоящее время я работаю над интегрированием Braintree с нашим продуктом. Наша обычная практика заключается в том, что мы сохраняем токен, сгенерированный с помощью первичного платежа, с нами, чтобы его можно было использовать при отслеживании проблем с платежами. То, что мы делаем с PayPal. Хотя с Braintree, я немного смущен.Имеет ли смысл хранить токен Braintree в качестве ссылки?

  1. Braintree генерирует две разные строки, первый из которых называется «токен», который перед передачей с Braintree. Второй называется «nonce», который используется для завершения транзакции.
  2. Как я уже видел, токен сгенерирован более чем на 1500+ символов, и наша база данных рассчитана на максимум 250 символов. Хранение больше, чем это не имеет смысла для меня.

Так вопрос у меня есть

  1. ли смысл хранить маркер в нашей системе, или это не имеет значения после 3-4 часов?
  2. Или это будет работать, если я буду хранить только nonce, как только платеж будет успешным. Любая транзакция не имеет места без nonce.

ответ

0

Полное раскрытие информации: Я работаю в Braintree. Если у вас есть дополнительные вопросы, не стесняйтесь обращаться к support.

Когда Braintree создает способ оплаты в вашем хранилище, он возвращает Payment Method response object. Этот объект ответа содержит только одно свойство, которое является token. Этот токен уникально идентифицирует способ оплаты в вашем хранилище. Вы можете сохранить этот токен, а затем использовать его для ссылки на сохраненные способы оплаты позже. Как правило, токены метода оплаты не превышают 7 символов.

Это как создание способа оплаты и ссылки это маркер будет выглядеть в Ruby:

result = Braintree::PaymentMethod.create(
    :customer_id => "42", 
    :payment_method_nonce => nonce_from_the_client 
) 

if result.success? 
    payment_method_token = result.payment_method.token 
end 

Обратите внимание, что слово «маркер» также используется для client token, который используется для настройки на стороне клиента интеграция. Они, как правило, очень длинные. Скорее всего, это токен 1500-символа, на который вы ссылаетесь. Клиентский токен не имеет отношения к какому-либо способу оплаты, и обычно нет причин его хранить.

A payment method nonce может использоваться только один раз, после чего он обозначается как «потребляемый». Если вы попытаетесь использовать способ оплаты nonce после его использования, вы получите ошибку проверки: 93107: Cannot use a payment_method_nonce more than once. Имея это в виду, вы обычно не должны хранить способ оплаты nonces.

+0

Спасибо! У меня есть еще один вопрос: не возможно ли использовать платежную систему BrainTree для осуществления платежей, таких как PayPal ExpressCheckout. В PayPalEC мы генерируем токен со всей информацией о платеже перед раздачей, а затем клиенту просто нужно перейти в PayPal, а затем «Подтвердить» предоставленную нами информацию. С помощью клиентских фреймворков BT я вижу, что клиенты обрабатывают эту работу. Есть ли способ, который идентичен PayPal EC? –