2016-05-27 12 views
0

От от Transaction.sale() ИЛИ Subscription.create(), как получить доступ к данным кредитной карты при оплате?Braintree-как мне получить данные кредитной карты last_4 из транзакции ИЛИ подписки

У меня есть следующие методы:

def bt_make_customer(donation, nonce) 
    result = Braintree::Customer.create(
     first_name: donation.user.first_name, 
     last_name: donation.user.last_name, 
     email: donation.user.email, 
     payment_method_nonce: nonce 
    ) 
    end 

    def bt_make_payment(donation, customer, nonce) 
    if donation.type == "ReoccurringDonation" 
     result = Braintree::Subscription.create(
     payment_method_token: customer.payment_methods[0].token, 
     price: donation.amount, 
     plan_id: "pay-monthly" 
     ) 
    elsif donation.type == "SingleDonation" 
     result = Braintree::Transaction.sale(
     :amount => donation.amount, 
     :payment_method_nonce => nonce, 
     :options => {:submit_for_settlement => true} 
     ) 
    end 
    end 

Как вы можете видеть, программа принимает разовые пожертвования или ежемесячной подписки. Когда все сделано, я хочу, чтобы данные кредитной карты, такие как last_4, отображались в пользовательской квитанции.

ответ

0

Чтобы получить доступ к полям кредитной карты, вам необходимо ввести

result.transaction.credit_card_details.{field you want} 

Вы можете приостановить программу с byebug после операции, и введите result.inspect в вашей консоли, чтобы увидеть, что ОБЛАСТИ результат содержит.

0

Вы можете позвонить

result.last_4 

для получения последних 4 цифр номера кредитной карты. Для более посещений помощи here

+0

Я получаю 'NoMethodError Исключение: неопределенный метод 'last_4' для # ' – Mirror318

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

  • Нет связанных вопросов^_^