Платежный шлюз Braintree - Получите информацию о клиенте

Я использую платежный шлюз Braintree в своем веб-приложении. Мне интересно, могу ли я получить информацию о пользователе от него.

Я не могу сохранить данные карты, это не разрешено. Но если мне нужно выполнить еще одну транзакцию для того же пользователя, могу ли я получить его информацию от самого Braintree и автоматически заполнить данные карты?


person Pramod    schedule 17.05.2013    source источник


Ответы (2)


Я работаю в Braintree. Если вам нужна дополнительная информация о Stack Overflow, которую вы можете легко получить, обратитесь в нашу службу поддержки.< /под>

Одним из основных преимуществ платежных шлюзов, таких как Braintree, является то, что они токенизируют информацию о кредитной карте без необходимости ее раскрытия.

По сути, вы используете Braintree.js для шифрования информации о карте в браузере, чтобы ваш сервер никогда ее не видел. .

Затем вы передаете эту зашифрованную информацию в Braintree. Взамен вы получаете токен типа "xg67ba", который впоследствии можно использовать для повторного списания средств с той же карты:

result = Braintree::Transaction.sale(
  :amount => "100.00",
  :customer => {
    :first_name => "Dan",
    :last_name => "Smith"
  },
  :credit_card => {
    :number => "encryped_credit_card_number",
    :expiration_date => "encryped_expiration_date",
    :cvv => "encrypted_cvv"
  },
  :options => {
    :store_in_vault => true
  }
)

result.transaction.customer_details.id
#=> e.g. "131866"
result.transaction.credit_card_details.token
#=> e.g. "f6j8"

Итак, в следующий раз это будет выглядеть так:

result = Braintree::Transaction.sale(
  :amount => "10.00",
  :customer_id => "131866",
  :credit_card => {:cvv => 'encrypted_cvv'}
)

Каждая кредитная карта связана с клиентом, поэтому, если вы просто хотите снять деньги только с карты клиента / карты по умолчанию, вы можете просто предоставить customer id. Повторное получение cvv от клиента (которое никому не разрешено хранить) рекомендуется, но не обязательно.

person agf    schedule 17.05.2013
comment
Возможно ли, чтобы приложение для Android могло получать информацию о карте ..? - person ; 07.10.2014
comment
@Pranav Информация о карте возвращается на сервер, поэтому вы можете делать с ней что угодно. Как правило, вы связываете его с одним из ваших пользователей, чтобы, когда они вошли в систему, вы могли позволить им снова использовать ту же информацию. Однако этот ответ устарел — у нас есть новый метод интеграции, о котором вы можете прочитать на developers.braintreepayments.com< /а> - person agf; 07.10.2014
comment
Можно ли выставлять токен способа оплаты во внешнем интерфейсе, чтобы сделать его удобным для пользователя? Хорошим примером может служить кнопка редактирования <a data-token="f6j8">Edit</a>. - person Rusty; 01.09.2016
comment
@user3284463 user3284463 Если вы проверяете на стороне сервера, что этот пользователь может редактировать этот токен, тогда да - можно показывать его, но нельзя доверять ему. - person agf; 05.09.2016

Получив идентификатор клиента, вы можете получить информацию о нем, используя следующий PHP-код.

$customerId = 67222186;  
   try{
       $result = Braintree_Customer::find($customerId); 
      echo $result->id; echo "\n";
      echo $result->firstName; echo "\n";
      echo $result->lastName; echo "\n";
      echo $result->email; echo "\n";
      echo $result->phone; echo "\n";
   }  catch (Exception $e){
    echo $e->getMessage();
  }

http://www.web-technology-experts-notes.in/2015/06/manage-customer-details-in-braintree.html

person Poonam Gupta    schedule 25.06.2015