Slide 85
Slide 85 text
Braintree
Безопасное хранение информации о кредитных картах
1. class Billing::Card
2. ...
3. result = Braintree::CreditCard.create({
4. :customer_id => self.user.try(:braintree_customer_id),
5. :number => self.number,
6. :expiration_date => self.expiration_date.strftime('%m/%Y'),
7. :cardholder_name => [self.first_name, self.last_name].compact.join(' ')
8. })
9.
10. if result.success?
11. self.token = result.credit_card.token
12. else
13. self.errors.add(:base, result.errors.first.message)
14. return false
15. end
16.end
https://www.braintreepayments.com/