Я работаю в 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